From 68ba4945437e12eaa1dead6df27b58ea408f63e8 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Fri, 24 Apr 2009 12:18:31 +0200 Subject: final touch on commlayer, minor fixes in exceptions (zprikryl) --- lib/CommLayer/CommLayerInner.cpp | 69 ++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 20 deletions(-) (limited to 'lib/CommLayer/CommLayerInner.cpp') diff --git a/lib/CommLayer/CommLayerInner.cpp b/lib/CommLayer/CommLayerInner.cpp index 41fd3c17..a7c5123d 100644 --- a/lib/CommLayer/CommLayerInner.cpp +++ b/lib/CommLayer/CommLayerInner.cpp @@ -1,28 +1,57 @@ #include "CommLayerInner.h" -CCommLayerInner::CCommLayerInner(CObserver *pObs) -: DEBUGINFO(pObs), - WARNING(pObs), - STATUS(pObs) +namespace CommLayerInner { - m_pObs = pObs; -} -CCommLayerInner::~CCommLayerInner() -{ -} + static CDebug* g_pDebug = NULL; + static CWarning* g_pWarning = NULL; + static CStatus* g_pStatus = NULL; -CDebug& CCommLayerInner::Debug() -{ - return DEBUGINFO; -} -CWarning& CCommLayerInner::Warning() -{ - return WARNING; -} + void init_debug(CObserver* pObserver) + { + if (!g_pDebug) + { + g_pDebug = new CDebug(pObserver); + } + } -CStatusUpdate& CCommLayerInner::Status() -{ - return STATUS; + void init_warning(CObserver* pObserver) + { + if (!g_pWarning) + { + g_pWarning = new CWarning(pObserver); + } + } + + void init_status(CObserver* pObserver) + { + if (!g_pStatus) + { + g_pStatus = new CStatus(pObserver); + } + } + + void debug(const std::string& pMessage) + { + if (g_pDebug) + { + g_pDebug->Message(pMessage); + } + } + void warning(const std::string& pMessage) + { + if (g_pWarning) + { + g_pWarning->Message(pMessage); + } + } + + void status(const std::string& pMessage) + { + if (g_pStatus) + { + g_pStatus->Message(pMessage); + } + } } -- cgit