228 HashMap<String, IconRecord*>::iterator end = m_iconURLToRecordMap.end(); |
229 HashMap<String, IconRecord*>::iterator end = m_iconURLToRecordMap.end(); |
229 |
230 |
230 for (; i != end; ++i) |
231 for (; i != end; ++i) |
231 delete (*i).second; |
232 delete (*i).second; |
232 m_iconURLToRecordMap.clear(); |
233 m_iconURLToRecordMap.clear(); |
|
234 |
|
235 HashMap<String, PageURLRecord*>::iterator recordIter = m_pageURLToRecordMap.begin(); |
|
236 HashMap<String, PageURLRecord*>::iterator recordEnd = m_pageURLToRecordMap.end(); |
|
237 String recordString; |
|
238 for (; recordIter != recordEnd; ++recordIter) { |
|
239 recordString = (*recordIter).first; |
|
240 recordString = String(); |
|
241 } |
|
242 m_pageURLToRecordMap.clear(); |
|
243 |
|
244 HashSet<String>::iterator retainedIter = m_retainedPageURLs.begin(); |
|
245 HashSet<String>::iterator retainedEnd = m_retainedPageURLs.end(); |
|
246 String* retainedString; |
|
247 for (; retainedIter != retainedEnd; ++retainedIter) { |
|
248 retainedString = retainedIter.get(); |
|
249 *retainedString = String(); |
|
250 } |
|
251 m_retainedPageURLs.clear(); |
|
252 |
|
253 delete m_client; |
|
254 delete sharedIconDatabase; |
|
255 m_syncLock.~Mutex(); |
|
256 m_urlAndIconLock.~Mutex(); |
|
257 m_pendingSyncLock.~Mutex(); |
|
258 m_pendingReadingLock.~Mutex(); |
233 #endif |
259 #endif |
234 } |
260 } |
235 |
261 |
236 void IconDatabase::removeAllIcons() |
262 void IconDatabase::removeAllIcons() |
237 { |
263 { |
987 m_syncLock.unlock(); |
1013 m_syncLock.unlock(); |
988 |
1014 |
989 ASSERT_ICON_SYNC_THREAD(); |
1015 ASSERT_ICON_SYNC_THREAD(); |
990 |
1016 |
991 LOG(IconDatabase, "(THREAD) IconDatabase sync thread started"); |
1017 LOG(IconDatabase, "(THREAD) IconDatabase sync thread started"); |
992 |
1018 // Create the Symbian SQL TLS |
|
1019 sqlite3SymbianLibInit(); |
|
1020 |
993 #ifndef NDEBUG |
1021 #ifndef NDEBUG |
994 double startTime = currentTime(); |
1022 double startTime = currentTime(); |
995 #endif |
1023 #endif |
996 |
1024 |
997 // Need to create the database path if it doesn't already exist |
1025 // Need to create the database path if it doesn't already exist |
1782 #ifndef NDEBUG |
1810 #ifndef NDEBUG |
1783 LOG(IconDatabase, "(THREAD) Final closure took %.4f seconds", currentTime() - timeStamp); |
1811 LOG(IconDatabase, "(THREAD) Final closure took %.4f seconds", currentTime() - timeStamp); |
1784 #endif |
1812 #endif |
1785 |
1813 |
1786 m_syncThreadRunning = false; |
1814 m_syncThreadRunning = false; |
|
1815 // Cleanup SQL TLS that was created from sqlite3SymbianLibInit() in iconDatabaseSyncThread() |
|
1816 sqlite3SymbianLibFinalize(); |
|
1817 // Cleanup STDLIB TLS |
|
1818 CloseSTDLIB(); |
1787 return 0; |
1819 return 0; |
1788 } |
1820 } |
1789 |
1821 |
1790 bool IconDatabase::imported() |
1822 bool IconDatabase::imported() |
1791 { |
1823 { |