simpledatamodeladapter/src/presencepluginpublisher.cpp
changeset 12 e6a66db4e9d0
parent 0 c8caa15ef882
--- a/simpledatamodeladapter/src/presencepluginpublisher.cpp	Tue Feb 02 01:05:17 2010 +0200
+++ b/simpledatamodeladapter/src/presencepluginpublisher.cpp	Fri Mar 19 09:37:41 2010 +0200
@@ -356,6 +356,7 @@
             TBuf8<KBufSize255> buf;
             buf.Copy( iPublisher->SIPETag() );
             iConnObs.SetETag( buf );
+            iPresenceData->StoreDocumentIdL( iConnObs.ServiceId(), buf );
             }
     	//Do not complete if error republish is true. XIMPFW is not knowing we 
     	//are sending republish.
@@ -374,7 +375,6 @@
             if( iConnObs.IsStopPublishCalled() )
                 {
                 DP_SDA("PublishReqCompleteL complete closeSession"); 
-                iPresenceData->DeletePresenceVariablesL( iConnObs.ServiceId() );
                 // successfull Online / others: store status to cache
                 StoreOwnStatusToCacheL( );
                 //Complete close session
@@ -388,12 +388,7 @@
            CreatePublisherL();        
            iSimpleId = iPublisher->StartPublishL( *iDocument, ETrue );
            }
-        else if( EFalse == iRePublish && ( KErrTimedOut == aStatus  ) )
-            {
-            DP_SDA("PublishReqCompleteL KErrTimedOut"); 
-            iPublisher->StopPublishL();
-            CompleteXIMPReq( KXIMPErrServicRequestTimeouted );
-            }
+        
         else
         	{
         	//Set rePublish flag back to false.
@@ -730,30 +725,13 @@
     
     aStatus = KRequestPending;
     iClientStatus = &aStatus;
-    
-    TInt err1( 0 );
-    TInt err2( 0 );
-    
-    // get stored document id if available
-    HBufC8* oldDocumentId = HBufC8::NewLC( KBufSize255 );
-    TPtr8 oldDocumentIdPtr( oldDocumentId->Des() );
-    TRAP( err1, iPresenceData->ReadDocumentIdL( 
-            iConnObs.ServiceId(), oldDocumentIdPtr ) );
-    
+    	
     if ( iConnObs.GetStopPublishState() && iPublished )
         {
         DP_SDA("CPresencePluginPublisher::StopPublish really Stop");
-        if ( !err1 )
-            {
-            TRAP( err2, iPublisher->StopPublishL( oldDocumentIdPtr ) );
-            }
-        else 
-            {
-            // if stored document id is not available try with this
-            TRAP( err2, iPublisher->StopPublishL( iConnObs.GetETag() ) );
-            }
-        DP_SDA2("StopPublish iPublisher->StopPublishL : error = %d ", err2 );
-        if ( KErrNone != err2 )
+        TRAPD( error, iPublisher->StopPublishL( iConnObs.GetETag() ););
+        DP_SDA2("StopPublish iPublisher->StopPublishL : error = %d ", error );
+        if ( KErrNone != error )
             {            
             if( iPublisher )
                 {
@@ -764,35 +742,24 @@
                 iPublisher =
                 	TSimpleFactory::NewPublisherL( iConnection, *this ); 
                 DP_SDA("StopPublish really Stop try again 2 ");
-                err2 = KErrGeneral;
-                TRAP( err2, iPublisher->StopPublishL( iConnObs.GetETag() ););
-                DP_SDA2("StopPublishL 2nd try : error = %d ", err2 );
-                if ( KErrNone != err2 )
+                error = KErrGeneral;
+                TRAP( error, iPublisher->StopPublishL( iConnObs.GetETag() ););
+                DP_SDA2("StopPublishL 2nd try : error = %d ", error );
+                if ( KErrNone != error )
                     {
                     DP_SDA("StopPublish TWO TIME Error, last try without tag ");
-                    TRAP( err2, iPublisher->StopPublishL(); );
-                    DP_SDA2("StopPublishL 3rd try : error = %d ", err2 );
+                    TRAP( error, iPublisher->StopPublishL(); );
+                    DP_SDA2("StopPublishL 3rd try : error = %d ", error );
                     }
                 }
             }
         iConnObs.SetStopPublishState( ETrue );
         iPublished = EFalse;
         }
-    CleanupStack::PopAndDestroy( oldDocumentId );
-    
     DP_SDA("CPresencePluginPublisher::StopPublish- end");        
     }
     
 // ---------------------------------------------------------------------------
-// CPresencePluginPublisher::Published()
-// ---------------------------------------------------------------------------
-//
-TBool CPresencePluginPublisher::Published()
-    {
-    return iPublished;
-    }
-
-// ---------------------------------------------------------------------------
 // CPresencePluginPublisher::MakePublishReqL()
 // ---------------------------------------------------------------------------
 //
@@ -800,16 +767,16 @@
     {
     DP_SDA("CPresencePluginPublisher::MakePublishReqL");
     
+    if ( !iPublished )
+        {
+        DP_SDA("CPresencePluginPublisher::MakePublishReqL 1");       
+        CreatePublisherL();
+        
         DP_SDA(" -> MakePublishReqL, check for old doc id");       
         HBufC8* oldDocumentId = HBufC8::NewLC( KBufSize255 );
         TPtr8 oldDocumentIdPtr( oldDocumentId->Des() );
         TRAPD( error, iPresenceData->ReadDocumentIdL( 
             iConnObs.ServiceId(), oldDocumentIdPtr ) );
-    if ( !iPublished )
-        {
-        DP_SDA("CPresencePluginPublisher::MakePublishReqL 1");       
-        CreatePublisherL();
-        
         DP_SDA2(" -> MakePublishReqL, doc id error: %d", error );
         if ( !error )
             {
@@ -822,28 +789,19 @@
             DP_SDA(" -> MakePublishReqL, publish with new id");       
             iSimpleId = iPublisher->StartPublishL( *iDocument, ETrue );    
             }
+        CleanupStack::PopAndDestroy( oldDocumentId );
         }
     else
         {
         DP_SDA("CPresencePluginPublisher::MakePublishReqL 2");
         CreatePublisherL();
         DP_SDA("CPresencePluginPublisher::MakePublishReqL Continue Publish");
-        if ( !error )
-            {
-            DP_SDA(" -> MakePublishReqL, publish with stored id");
-            iSimpleId = iPublisher->ContinuePublishL( 
-                *iDocument ,ETrue, oldDocumentIdPtr );
-            }
-        else
-            {
-            DP_SDA(" -> MakePublishReqL, stored id not found" );
-            DP_SDA(", publish with old id");
-            iSimpleId = iPublisher->ContinuePublishL( 
-                            *iDocument ,ETrue, iConnObs.GetETag() );
-            }
+        iSimpleId =
+            iPublisher->ContinuePublishL( 
+                *iDocument ,ETrue, iConnObs.GetETag() );
 		DP_SDA("CPresencePluginPublisher::MakePublishReqL modifyed");
         }
-    CleanupStack::PopAndDestroy( oldDocumentId );
+                
     DP_SDA("CPresencePluginPublisher::MakePublishReqL end");     
     }