servicewidget/servicewidgetdatapublisher/src/cservicewidgetservicemanager.cpp
branchRCL_3
changeset 18 36d367c62acb
parent 0 5e5d6b214f4f
--- a/servicewidget/servicewidgetdatapublisher/src/cservicewidgetservicemanager.cpp	Tue Apr 27 16:24:22 2010 +0300
+++ b/servicewidget/servicewidgetdatapublisher/src/cservicewidgetservicemanager.cpp	Tue May 11 16:01:07 2010 +0300
@@ -88,6 +88,11 @@
 	settings->FindEntryL( iServiceId, *entry ) ;
 	// set the service name to presence cache updater
     iServiceName = entry->GetServiceName().AllocL() ;
+    
+    //KThemeUid appended to iServiceName for making service name unique from serivces 
+    //published by other applications
+    iServiceName = iServiceName->ReAllocL(iServiceName->Des().Length() + KThemeUid().Length());
+    iServiceName->Des().Append(KThemeUid);
 	CleanupStack::PopAndDestroy(2); // entry,settings
 	
 	iBrandHandler = CServiceWidgetBrandHandler::NewL(iServiceId);
@@ -218,7 +223,12 @@
     
     TRACE_SWP(TXT("CServiceWidgetServiceManager::SetCurrentTextDataL() service is complete") );
     // service configured correctly
-    TPtrC serviceName = iServiceName->Left( KIMWCP_FIRSTTEXT_SIZE );
+    TPtrC serviceNameWithUID = iServiceName->Left( KIMWCP_FIRSTTEXT_SIZE );
+    
+    //serviceName is retrieved by removing KThemeUID. This text is displayed in first line of 
+    //home screen widget when iServiceState state is ESWSNotRegistered state. 
+    TPtrC serviceName = serviceNameWithUID.Left( serviceNameWithUID.Length() - KThemeUid().Length() );
+    
     TPtrC ownUser = ServiceWidgetUtils::DisplayId( iCchHandler->OwnUserIdL().Left( KIMWCP_FIRSTTEXT_SIZE  ) );
     switch( iServiceState )
         {
@@ -727,8 +737,9 @@
 		// please note this is boot blugin so keep lesser memory use
 		if( !iPresenceHandler && iCchHandler->IsSubServiceSupported( ECCHPresenceSub ) )
 			{
-			TPtrC ownId = iCchHandler->OwnUserIdL();
-			iPresenceHandler = CServiceWidgetPresenceHandler::NewL(*this,*iServiceName,ownId );
+			TPtrC ownId = iCchHandler->OwnUserIdL();			
+			TPtrC str = iServiceName->Des().Left(iServiceName->Des().Length()-KThemeUid().Length());
+			iPresenceHandler = CServiceWidgetPresenceHandler::NewL(*this,str,ownId );
 			iPresenceHandler->GetConnectedSessionL( iCchHandler->XimpAdaptationUidL(), iServiceId );
 			TRACE_SWP(TXT("CServiceWidgetServiceManager::CreateHandlersL() iPresenceHandler cretaed ") );	
 			}