1
/***************************************************************
2
* Name: ThreadSearchTrace
4
* Purpose: This class implements the events sent by the
5
* worker search thread (ThreadSearchThread) to the
6
* ThreadSearchView to update the file/line/line
8
* wxCommandEvent m_commandString contains file path.
9
* m_LineTextArray contains Line/FoundText series of items
11
* Author: Jerome ANTOINE
13
* Copyright: Jerome ANTOINE
15
**************************************************************/
16
#include <wx/datetime.h>
18
#include "ThreadSearchTrace.h"
21
ThreadSearchTrace* ThreadSearchTrace::ms_Tracer = NULL;
24
bool ThreadSearchTrace::Trace(const wxString& str)
26
wxASSERT(ms_Tracer != NULL);
27
wxMutexLocker mutexLocker(*ms_Tracer);
28
if ( mutexLocker.IsOk() )
30
if ( (ms_Tracer != NULL) && (ms_Tracer->IsOpened() == true) )
32
wxDateTime now = wxDateTime::Now();
33
//ms_Tracer->Write(_T(" ") + now.FormatISOTime() + _T(" "));
34
ms_Tracer->Write(_T(" ") + wxString::Format(wxT("%d:%d:%d:%d %s\n"), now.GetHour(), now.GetMinute(), now.GetSecond(), now.GetMillisecond(), str.c_str()));
35
// ms_Tracer->Write(str);
36
// ms_Tracer->Write(_T("\n"));
40
return mutexLocker.IsOk();
44
bool ThreadSearchTrace::Init(const wxString& path)
46
wxASSERT(ms_Tracer == NULL);
47
ms_Tracer = new ThreadSearchTrace();
48
if ( wxFile::Exists(path) )
52
return ms_Tracer->Open(path.c_str(), wxFile::write_excl);
56
void ThreadSearchTrace::Uninit()
58
wxASSERT(ms_Tracer != NULL);
59
wxMutexLocker mutexLocker(*ms_Tracer);
60
if ( mutexLocker.IsOk() )
62
if ( ms_Tracer != NULL )
64
if ( ms_Tracer->IsOpened() == true )
75
TraceBeginEndOfMethod::TraceBeginEndOfMethod(const wxString& method)
78
wxString begin(_T("Begin of "));
80
ThreadSearchTrace::Trace(begin);
83
TraceBeginEndOfMethod::~TraceBeginEndOfMethod()
85
wxString end(_T("End of "));
87
ThreadSearchTrace::Trace(end);