tzservices/tzserver/Server/Source/tzlocalizationdb.cpp
changeset 81 676b6116ca93
parent 0 2e3d3ce01487
--- a/tzservices/tzserver/Server/Source/tzlocalizationdb.cpp	Tue Oct 12 17:17:12 2010 +0300
+++ b/tzservices/tzserver/Server/Source/tzlocalizationdb.cpp	Wed Oct 20 17:03:03 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -23,6 +23,11 @@
 #endif
 #include <tzlocalizedcityrecord.h>
 #include <tzlocalizedtimezonerecord.h>
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "tzlocalizationdbTraces.h"
+#endif
+
 
 // Database location and access policy
 _LIT(KTzLocalizationDbName,"c:TzLocalization.db");
@@ -115,6 +120,8 @@
 
 void CTzLocalizationDb::OpenDbL()
 	{
+    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_OPENDBL_ENTRY, "CTzLocalizationDb::OpenDbL Entry" );
+    
 	if (iZoneMutex.OpenGlobal(KTzMutexName) != KErrNone)
 		{
 		User::LeaveIfError(iZoneMutex.CreateGlobal(KTzMutexName)) ;
@@ -142,6 +149,8 @@
 		{
 		User::Leave(error);
 		}
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_OPENDBL_EXIT, "CTzLocalizationDb::OpenDbL Exit" );
+	
 	}
 
 void CTzLocalizationDb::CloseDb()
@@ -168,6 +177,8 @@
 */
 void CTzLocalizationDb::CreateBlankFrequentlyUsedZoneTableL()
 	{
+    OstTraceDef0( OST_TRACE_CATEGORY_DEBUG,TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_CREATEBLANKFREQUENTLYUSEDZONETABLEL_ENTRY, "CTzLocalizationDb::CreateBlankFrequentlyUsedZoneTableL Entry" );
+    
 	// Create the columns for the cached zones table
 	RArray<TDbCol> cachedTableCols;
 	CleanupClosePushL(cachedTableCols);
@@ -226,6 +237,8 @@
 	CleanupStack::PopAndDestroy(&zoneView);
 	CleanupStack::PopAndDestroy(frequentlyUsedZoneColSet);
 	CleanupStack::PopAndDestroy(&cachedTableCols); //cachedTableCols
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_CREATEBLANKFREQUENTLYUSEDZONETABLEL_EXIT, "CTzLocalizationDb::CreateBlankFrequentlyUsedZoneTableL Exit" );
+	
 	}
 
 /**
@@ -262,6 +275,9 @@
 //Check if the database is corrupt or invalid.
 TBool CTzLocalizationDb::IsInvalidL()
 	{
+    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_ISINVALIDL_ENTRY, "CTzLocalizationDb::IsInvalidL Entry" );
+    
+    
 	RDbView zoneView;
 	CleanupClosePushL(zoneView);
 	PrepareZoneViewL(zoneView);
@@ -282,6 +298,8 @@
 		    }
 		}
 	CleanupStack::PopAndDestroy(&zoneView);
+	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_ISINVALIDL_EXIT, "CTzLocalizationDb::IsInvalidL Exit;isInvalid=%u", isInvalid );
+	
 	return isInvalid;
 	}
 
@@ -316,14 +334,20 @@
 
 void CTzLocalizationDb::NotifyUserTzNamesChange(TTzUserDataChange aChange)
 	{
+    OstTraceDef0( OST_TRACE_CATEGORY_DEBUG,TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGE_ENTRY, "CTzLocalizationDb::NotifyUserTzNamesChange Entry" );
+    
 	if (iLocked)
 		{
+	    OstTraceDef0( OST_TRACE_CATEGORY_DEBUG,TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGE_EXIT, "CTzLocalizationDb::NotifyUserTzNamesChange Exit" );
+	    
 		return;
 		}
 	
 	if (aChange.iOperation == ETzUserDataCreated)
 		{
 		// Creation of new zones has no impact on existing zones
+	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGE_EXIT3, "CTzLocalizationDb::NotifyUserTzNamesChange Exit" );
+	    
 		return;
 		}
 	
@@ -336,12 +360,18 @@
 		// is to reboot the server.
 		iLocked = ETrue;
 		}
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGE_EXIT2, "CTzLocalizationDb::NotifyUserTzNamesChange Exit" );
+	
 	}
 
 void CTzLocalizationDb::NotifyTZDataStatusChangeL(RTz::TTzChanges aChange)
 	{
+    OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYTZDATASTATUSCHANGEL_ENTRY, "CTzLocalizationDb::NotifyTZDataStatusChangeL;aChange=%u", aChange );
+    
 	if (iLocked)
 		{
+	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYTZDATASTATUSCHANGEL_EXIT, "CTzLocalizationDb::NotifyTZDataStatusChangeL Exit" );
+	    
 		return;
 		}
 	
@@ -426,6 +456,8 @@
 		CleanupStack::PopAndDestroy(&frequentlyUsedZones); 
 		CleanupStack::PopAndDestroy(systemDataDb);
 		}
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYTZDATASTATUSCHANGEL_EXIT2, "CTzLocalizationDb::NotifyTZDataStatusChangeL Exit" );
+	
 	}
 
 void CTzLocalizationDb::UpdateTimeZoneAndCityRecordForSystemDataL(RPointerArray<CTzLocalizedTimeZoneRecord>& aFrequentlyUsedZones, 
@@ -468,6 +500,8 @@
 	{
 	if (iLocked)
 		{
+	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, CTZLOCALIZATIONDB_READCITIESL, "CTzLocalizationDb::ReadCitiesL:Database locked" );
+	    
 		User::Leave(KErrLocked);
 		}
 	_LIT(KSQLQueryLit,"SELECT * FROM UserCities");
@@ -478,6 +512,8 @@
 	{
 	if (iLocked)
 		{
+	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, DUP1_CTZLOCALIZATIONDB_READCITIESL, "CTzLocalizationDb::ReadCitiesL:Database locked" );
+	    
 		User::Leave(KErrLocked);
 		}
 	// Assign basic SQL query literal
@@ -497,6 +533,8 @@
 	{
 	if (iLocked)
 		{
+	    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, CTZLOCALIZATIONDB_READCITIESINGROUPL, "CTzLocalizationDb::ReadCitiesInGroupL:Database locked" );
+	    
 		User::Leave(KErrLocked);
 		}
 	// Assign basic SQL query literal
@@ -522,6 +560,8 @@
 	{
 	if (iLocked)
 		{
+	    OstTraceDef1( OST_TRACE_CATEGORY_DEBUG,TRACE_ERROR, CTZLOCALIZATIONDB_READFREQUENTLYUSEDZONEL, "CTzLocalizationDb::ReadFrequentlyUsedZoneL: Database locked;aFrequentlyUsedZone=%d", aFrequentlyUsedZone );
+	    
 		User::Leave(KErrLocked);
 		}
 	return DoReadFrequentlyUsedZoneL(aFrequentlyUsedZone);
@@ -570,6 +610,8 @@
 	{
 	if (iLocked)
 		{
+	    OstTraceDef1( OST_TRACE_CATEGORY_DEBUG,TRACE_ERROR, CTZLOCALIZATIONDB_READCACHEDTIMEZONECITYL, "CTzLocalizationDb::ReadCachedTimeZoneCityL:Database locked;aFrequentlyUsedZone=%d", aFrequentlyUsedZone );
+	    
 		User::Leave(KErrLocked);
 		}
 	
@@ -612,8 +654,12 @@
 
 void CTzLocalizationDb::WriteCityL(const TDesC& aCityName, TUint16 aCityTzId, TUint8 aCityGroupId, TUint aCityTzResourceId)
 	{
+    OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, DUP2_CTZLOCALIZATIONDB_WRITECITYL_ENTRY, "CTzLocalizationDb::WriteCityL Entry;aCityName=%S;aCityTzId=%hd;aCityGroupId=%hhu;aCityTzResourceId=%u", aCityName, aCityTzId, aCityGroupId, aCityTzResourceId );
+    
 	if (iLocked)
 		{
+	       OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, CTZLOCALIZATIONDB_WRITECITYL, "CTzLocalizationDb::WriteCityL:Database locked" );
+	       
 		User::Leave(KErrLocked);
 		}
 	
@@ -652,18 +698,24 @@
 	else
 		{
 		//City already exists.
+	   OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, DUP1_CTZLOCALIZATIONDB_WRITECITYL, "CTzLocalizationDb::WriteCityL:City already exists" );
+	   
 		User::Leave(KErrAlreadyExists);
 		}
 	CleanupStack::PopAndDestroy(&cityView);
 	iZoneMutex.Wait();
 	iLocalizedTimeZoneDb.Compact();
 	iZoneMutex.Signal();
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, DUP2_CTZLOCALIZATIONDB_WRITECITYL_EXIT, "CTzLocalizationDb::WriteCityL Exit" );
+	
 	}
 
 void CTzLocalizationDb::DeleteCityL(const TDesC& aCityName, TUint16 aCityTzId)
 	{
 	if (iLocked)
 		{
+	  	    OstTraceDef0( OST_TRACE_CATEGORY_DEBUG,TRACE_ERROR, CTZLOCALIZATIONDB_DELETECITYL, "CTzLocalizationDb::DeleteCityL:Database locked" );
+	  	    
 		User::Leave(KErrLocked);
 		}
 	
@@ -710,8 +762,11 @@
 void CTzLocalizationDb::WriteFrequentlyUsedZoneL(const CTzLocalizedTimeZoneRecord& aTimeZone, 
 		const CTzLocalizedCityRecord& aCity, TInt aFrequentlyUsedZone)
 	{
+    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_WRITEFREQUENTLYUSEDZONEL_ENTRY, "CTzLocalizationDb::WriteFrequentlyUsedZoneL Entry" );
+    
+    
 	if (iLocked)
-		{
+		{	   
 		User::Leave(KErrLocked);
 		}
 	
@@ -797,6 +852,8 @@
 	CleanupStack::PopAndDestroy(&zoneView);
 	iLocalizedTimeZoneDb.Compact();
 	iZoneMutex.Signal();
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_WRITEFREQUENTLYUSEDZONEL_EXIT, "CTzLocalizationDb::WriteFrequentlyUsedZoneL Exit" );
+	
 	}
 
 /**
@@ -811,6 +868,8 @@
 	{
 	if (iLocked)
 		{
+	 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_ERROR, CTZLOCALIZATIONDB_WRITEALLFREQUENTLYUSEDZONESL, "CTzLocalizationDb::WriteAllFrequentlyUsedZonesL:Database locked" );
+	 
 		User::Leave(KErrLocked);
 		}
 	DoWriteAllFrequentlyUsedZonesL(aTimeZones, aCities);
@@ -1008,6 +1067,8 @@
 
 void CTzLocalizationDb::NotifyUserTzNamesChangeL(TTzUserDataChange aChange)
 	{
+    OstTraceDefExt2( OST_TRACE_CATEGORY_DEBUG,TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGEL_ENTRY, "CTzLocalizationDb::NotifyUserTzNamesChangeL Entry;Operation=%u;Time zone Id=%d",aChange.iOperation, aChange.iTzId );
+    
 	// If an existing user-defined time zone is updated it means we may have
 	// to refresh the data in the frequently used zones table but the city table
 	// only contains the time zone id so there is nothing to update in there.
@@ -1096,6 +1157,8 @@
 	CleanupStack::PopAndDestroy(&cachedCities); 
 	CleanupStack::PopAndDestroy(&frequentlyUsedZones);
 	CleanupStack::PopAndDestroy(systemDataDb);
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_NOTIFYUSERTZNAMESCHANGEL_EXIT, "CTzLocalizationDb::NotifyUserTzNamesChangeL Exit" );
+	
 	}
 
 void CTzLocalizationDb::UpdateTimeZoneAndCityRecordL(RPointerArray<CTzLocalizedTimeZoneRecord>& aFrequentlyUsedZones, RPointerArray<CTzLocalizedCityRecord>& aCachedCities, TInt aTzId)
@@ -1188,6 +1251,8 @@
 
 void CTzLocalizationDb::RestoreDbL()
 	{
+    OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_RESTOREDBL_ENTRY, "CTzLocalizationDb::RestoreDbL Entry" );
+    
 	// When the Tz server is connected or a restore completes, we have to
 	// refresh the data in the frequently used zones table and the city table
 	// because it may contain the time zone id that has been deleted.  Or if the
@@ -1250,6 +1315,8 @@
 	CleanupStack::PopAndDestroy(&cachedCities); 
 	CleanupStack::PopAndDestroy(&frequentlyUsedZones);
 	CleanupStack::PopAndDestroy(systemDataDb);
+	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_FLOW_PARAM, CTZLOCALIZATIONDB_RESTOREDBL_EXIT, "CTzLocalizationDb::RestoreDbL Exit" );
+	
 	}
 
 /**