13#include "GUIObserver.h"
14#include "GUISubject.h"
15#include "eC_Semaphore.h"
18#include "GUIComponentManager.h"
29#define GUILOG(Level, Message) GUILOG_##Level(Message)
35#if (GUI_TRACE_LEVEL == GUI_TRACE_DEBUG)
36#define GUILOG_GUI_TRACE_DEBUG(Message) CGUIComponentManager::GetInstance().GetTrace().Log("DEBUG: ", Message)
37#define GUILOG_GUI_TRACE_WARNING(Message) CGUIComponentManager::GetInstance().GetTrace().Log("WARNING: ", Message)
38#define GUILOG_GUI_TRACE_ERROR(Message) CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", Message,eC_String(__FILE__), eC_String(__LINE__))
39#ifdef GUILIANI_USE_EXCEPTIONS
40#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) { CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", ErrorMessage,eC_String(__FILE__), eC_String(__LINE__)); throw Exception; }
42#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) {}
44#elif (GUI_TRACE_LEVEL == GUI_TRACE_WARNING)
45#define GUILOG_GUI_TRACE_DEBUG(Message) {}
46#define GUILOG_GUI_TRACE_WARNING(Message) CGUIComponentManager::GetInstance().GetTrace().Log("WARNING: ", Message)
47#define GUILOG_GUI_TRACE_ERROR(Message) CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", Message)
48#ifdef GUILIANI_USE_EXCEPTIONS
49#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) { CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", ErrorMessage); throw Exception; }
51#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) {}
54#elif (GUI_TRACE_LEVEL == GUI_TRACE_ERROR)
55#define GUILOG_GUI_TRACE_DEBUG(Message) {}
56#define GUILOG_GUI_TRACE_WARNING(Message) {}
57#define GUILOG_GUI_TRACE_ERROR(Message) CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", Message)
58#ifdef GUILIANI_USE_EXCEPTIONS
59#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) { CGUIComponentManager::GetInstance().GetTrace().Log("ERROR: ", ErrorMessage); throw Exception; }
61#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) {}
65#define GUILOG_GUI_TRACE_DEBUG(Message) {}
66#define GUILOG_GUI_TRACE_WARNING(Message) {}
67#define GUILOG_GUI_TRACE_ERROR(Message) {}
68#ifdef GUILIANI_USE_EXCEPTIONS
69#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) {throw Exception;}
71#define GUILOG_THROW_EXCEPTION(Exception, ErrorMessage) {}
79#if (GUI_TRACE_LEVEL == GUI_TRACE_OFF)
80#define GUI_REG_STDOUT_TRACE() {}
81#define GUI_REG_FILE_TRACE(FILE) {}
82#define GUI_REG_DEBUGGER_TRACE() {}
84#define GUI_REG_STDOUT_TRACE() CGUIComponentManager::GetInstance().GetTrace().CreateStdOutTrace();
85#define GUI_REG_FILE_TRACE(FILE) CGUIComponentManager::GetInstance().GetTrace().CreateFileTrace(FILE);
86#define GUI_REG_DEBUGGER_TRACE() CGUIComponentManager::GetInstance().GetTrace().CreateDebuggerTrace();
97#define GUILOGMETHODENTRY CGUIComponentManager::GetInstance().GetTrace().Log("GUILOGMETHODENTRY: ", "Method "+eC_String(__FUNCTION__)+" called. Timestamp: "+GETTIMER.GetTime()+"ms \n", eC_String(__FILE__), eC_String(__LINE__));
105#define GUILOGMESSAGE(Message) CGUIComponentManager::GetInstance().GetTrace().Log("INFO: ", Message)
216 const eC_String& rkLogStr,
217 const eC_String& rkOutputStr,
218 const eC_String& rkFileName =
"",
219 const eC_String& rkLineNumber =
"");
245 GUITRACE_NOT_ACTIVE = 0,
272 CFileTrace(
const eC_String& rkTraceFileName);
274 virtual void OnNotification(
const eC_String& rkTraceString);
288 CFileTrace(
const CFileTrace& kSource);
295 CFileTrace& operator=(
const CFileTrace& kSource);
297 eC_File* m_pkTraceFile;
331 CDebuggerTrace(
const CDebuggerTrace& kSource);
338 CDebuggerTrace& operator=(
const CDebuggerTrace& kSource);
374 CStdOutTrace* m_pkStdOutTrace;
375 CFileTrace* m_pkFileTrace;
376 CDebuggerTrace* m_pkDebuggerTrace;
central component-manager
Definition: GUIComponentManager.h:62
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
virtual void OnNotification()
Called by CGUISubject whenever an observed object triggers an update.
Definition: GUIObserver.h:39
Subject Base class for Observer-Design-Pattern within Guiliani.
Definition: GUISubject.h:34
Guiliani Trace component for platform independent logging of debug/error information to various targe...
Definition: GUITrace.h:195
static void CreateInstance()
Definition: GUITrace.cpp:73
void Log(const eC_String &rkLogStr, const eC_String &rkOutputStr, const eC_String &rkFileName="", const eC_String &rkLineNumber="")
Definition: GUITrace.cpp:111
GUITraceActivation_t
Definition: GUITrace.h:244
@ GUITRACE_ACTIVE
Messages will not be logged.
Definition: GUITrace.h:246
void CreateFileTrace(const eC_String &TraceFileName)
Definition: GUITrace.cpp:155
static void PrintObjectTree(CGUIObject *pObj)
Definition: GUITrace.cpp:220
void SetTraceActive(GUITraceActivation_t eTraceActive)
Definition: GUITrace.cpp:239
static void DeleteInstance()
Definition: GUITrace.cpp:79
void CreateDebuggerTrace()
Definition: GUITrace.cpp:164
void CreateStdOutTrace()
Definition: GUITrace.cpp:146
GUITraceActivation_t GetTraceActive()
Definition: GUITrace.cpp:244