equal
deleted
inserted
replaced
50 // Destructor. |
50 // Destructor. |
51 // ----------------------------------------------------------------------------- |
51 // ----------------------------------------------------------------------------- |
52 // |
52 // |
53 CLandmarkManageHandlers::~CLandmarkManageHandlers( ) |
53 CLandmarkManageHandlers::~CLandmarkManageHandlers( ) |
54 { |
54 { |
55 iHandlers.ResetAndDestroy ( ); |
55 TInt count = iHandlers.Count(); |
|
56 for (TInt i = 0; i < count; i++) |
|
57 { |
|
58 if (!iHandlers[i]->DecRef()) |
|
59 { |
|
60 delete iHandlers[i]; |
|
61 } |
|
62 } |
56 iHandlers.Close(); |
63 iHandlers.Close(); |
57 } |
64 } |
58 |
65 |
59 // ----------------------------------------------------------------------------- |
66 // ----------------------------------------------------------------------------- |
60 // CLandmarkManageHandlers::CloseHandler( CLandmarkHandler* aHandler ) |
67 // CLandmarkManageHandlers::CloseHandler( CLandmarkHandler* aHandler ) |
64 void CLandmarkManageHandlers::CloseHandler( CLandmarkHandler* aHandler ) |
71 void CLandmarkManageHandlers::CloseHandler( CLandmarkHandler* aHandler ) |
65 { |
72 { |
66 TInt index = iHandlers.Find (aHandler ); |
73 TInt index = iHandlers.Find (aHandler ); |
67 if ( index != KErrNotFound ) |
74 if ( index != KErrNotFound ) |
68 { |
75 { |
69 delete iHandlers[index]; |
76 if (!iHandlers[index]->DecRef()) |
|
77 { |
|
78 delete iHandlers[index]; |
|
79 } |
70 iHandlers[index] = NULL; |
80 iHandlers[index] = NULL; |
71 iHandlers.Remove (index ); |
81 iHandlers.Remove (index ); |
72 } |
82 } |
73 } |
83 } |
74 // ----------------------------------------------------------------------------- |
84 // ----------------------------------------------------------------------------- |
208 //initialize the database for further opertaions on the database. |
218 //initialize the database for further opertaions on the database. |
209 ExecuteAndDeleteLD (iLandmarkDatabaseHandle->InitializeL ( ) ); |
219 ExecuteAndDeleteLD (iLandmarkDatabaseHandle->InitializeL ( ) ); |
210 //Create other handles with respect to the open database |
220 //Create other handles with respect to the open database |
211 iLmCategoryManagerHandle = CPosLmCategoryManager::NewL (*iLandmarkDatabaseHandle ); |
221 iLmCategoryManagerHandle = CPosLmCategoryManager::NewL (*iLandmarkDatabaseHandle ); |
212 iLandmarkSearchHandle = CPosLandmarkSearch::NewL (*iLandmarkDatabaseHandle ); |
222 iLandmarkSearchHandle = CPosLandmarkSearch::NewL (*iLandmarkDatabaseHandle ); |
|
223 IncRef(); |
213 } |
224 } |
214 |
225 |
215 // ----------------------------------------------------------------------------- |
226 // ----------------------------------------------------------------------------- |
216 // CLandmarkHandler::CLandmarkHandler() |
227 // CLandmarkHandler::CLandmarkHandler() |
217 // C++ default constructor can NOT contain any code, that might leave. |
228 // C++ default constructor can NOT contain any code, that might leave. |