Changeset 2304
- Timestamp:
- 03/09/10 12:32:09 (5 months ago)
- Location:
- FalconView/trunk/public/fvw_core/GeodataDataSources
- Files:
-
- 2 modified
-
InternalObjectRegistry.cpp (modified) (5 diffs)
-
InternalObjectRegistry.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
FalconView/trunk/public/fvw_core/GeodataDataSources/InternalObjectRegistry.cpp
r1498 r2304 22 22 23 23 /*static*/ CInternalObjectRegistry CInternalObjectRegistry::s_instance; 24 CRITICAL_SECTION CInternalObjectRegistry::m_objectMapCs; 24 25 25 26 #ifdef _DEBUG … … 32 33 CInternalObjectRegistry::CInternalObjectRegistry() : NextHandle(0) 33 34 { 35 ::InitializeCriticalSection(&m_objectMapCs); 34 36 } 35 37 36 38 CInternalObjectRegistry::~CInternalObjectRegistry() 37 39 { 40 ::DeleteCriticalSection(&m_objectMapCs); 41 38 42 // called on FalconView close, purely for leak testing 39 43 … … 86 90 /*static*/ ULONG CInternalObjectRegistry::RegisterObject(void *object, const char* typeName) 87 91 { 92 ASSERT(object != NULL); 93 94 ::EnterCriticalSection(&m_objectMapCs); 95 88 96 s_instance.ObjectMap[s_instance.NextHandle] = object; 89 97 … … 96 104 } 97 105 98 return s_instance.NextHandle++; 106 const int ret = s_instance.NextHandle++; 107 108 ::LeaveCriticalSection(&m_objectMapCs); 109 110 return ret; 99 111 } 100 112 101 113 /*static*/ void CInternalObjectRegistry::UnregisterObject(ULONG handle) 102 114 { 115 ::EnterCriticalSection(&m_objectMapCs); 116 103 117 s_instance.ObjectMap.erase(handle); 104 118 … … 108 122 s_instance.ObjectTypesMap.erase(handle); 109 123 } 124 125 ::LeaveCriticalSection(&m_objectMapCs); 110 126 } 111 127 -
FalconView/trunk/public/fvw_core/GeodataDataSources/InternalObjectRegistry.h
r1498 r2304 33 33 34 34 private: 35 static CRITICAL_SECTION m_objectMapCs; 35 36 static CInternalObjectRegistry s_instance; 36 37 static BOOL Debugging;
