summaryrefslogtreecommitdiffstats
path: root/lib/CommLayer/CommLayerInner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CommLayer/CommLayerInner.cpp')
-rw-r--r--lib/CommLayer/CommLayerInner.cpp69
1 files changed, 49 insertions, 20 deletions
diff --git a/lib/CommLayer/CommLayerInner.cpp b/lib/CommLayer/CommLayerInner.cpp
index 41fd3c1..a7c5123 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);
+ }
+ }
}