equal
deleted
inserted
replaced
107 data->iRefCount--; |
107 data->iRefCount--; |
108 if ( data->iRefCount <= 0 ) |
108 if ( data->iRefCount <= 0 ) |
109 { |
109 { |
110 // destroy the singleton and free TLS |
110 // destroy the singleton and free TLS |
111 delete data; |
111 delete data; |
112 data = NULL; |
|
113 UserSvr::DllFreeTls( KContextEngineTLSKey ); |
112 UserSvr::DllFreeTls( KContextEngineTLSKey ); |
114 } |
113 } |
115 } |
114 } |
116 } |
115 } |
117 |
116 |
131 static_cast<CContextEngineStaticData*>( UserSvr::DllTls(KContextEngineTLSKey) ); |
130 static_cast<CContextEngineStaticData*>( UserSvr::DllTls(KContextEngineTLSKey) ); |
132 if ( data ) |
131 if ( data ) |
133 { |
132 { |
134 // destroy the singleton and free TLS |
133 // destroy the singleton and free TLS |
135 delete data; |
134 delete data; |
136 data = NULL; |
|
137 UserSvr::DllFreeTls( KContextEngineTLSKey ); |
135 UserSvr::DllFreeTls( KContextEngineTLSKey ); |
138 } |
136 } |
139 } |
137 } |
140 |
138 |
141 // --------------------------------------------------------------------------- |
139 // --------------------------------------------------------------------------- |
144 // |
142 // |
145 CContextEngine::~CContextEngine() |
143 CContextEngine::~CContextEngine() |
146 { |
144 { |
147 WRITELOG( "CContextEngine::~CContextEngine" ); // DEBUG INFO |
145 WRITELOG( "CContextEngine::~CContextEngine" ); // DEBUG INFO |
148 delete iContextEngineAO; |
146 delete iContextEngineAO; |
149 iContextEngineAO = NULL; |
|
150 |
147 |
151 MdsUtils::CleanupPtrArray<CContextSnapshotItem>( &iSnapshotQueue ); |
148 MdsUtils::CleanupPtrArray<CContextSnapshotItem>( &iSnapshotQueue ); |
152 REComSession::FinalClose(); // we are done |
149 REComSession::FinalClose(); // we are done |
153 } |
150 } |
154 |
151 |
280 { |
277 { |
281 // add a new object |
278 // add a new object |
282 if ( iSnapshotQueue.Append( aItem ) != KErrNone ) |
279 if ( iSnapshotQueue.Append( aItem ) != KErrNone ) |
283 { |
280 { |
284 delete aItem; |
281 delete aItem; |
285 aItem = NULL; |
|
286 return; |
282 return; |
287 } |
283 } |
288 |
284 |
289 // the queue was empty, start ContextEngineAO |
285 // the queue was empty, start ContextEngineAO |
290 if ( iSnapshotQueue.Count() == 1 ) // if the queue _was_ empty |
286 if ( iSnapshotQueue.Count() == 1 ) // if the queue _was_ empty |