--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/PresenceManager2/SrcContactList/CPEngCntLstBaseSyncOp.cpp Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2004 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: this class handles the operation for performing contact list base synhronization
+*
+*/
+
+
+// INCLUDE FILES
+#include "CPEngCntLstBaseSyncOp.h"
+#include "CPEngNWSessionSlotStorageProxy.h"
+#include "MPEngAdvTransactionStatus2.h"
+
+#include <CPEngContactListTransaction2.h>
+#include <MPEngContactListTransactionObserver2.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Two-phased constructor.
+CPEngCntLstBaseSyncOp* CPEngCntLstBaseSyncOp::NewL( TInt aPriority,
+ CPEngContactListTransaction2& aInterface,
+ CPEngNWSessionSlotStorageProxy& aUsedSlot,
+ MPEngContactListTransactionObserver2& aObserver,
+ RPEngManagerClient& aServer,
+ TBool aNeedToUnsubscribe )
+ {
+ CPEngCntLstBaseSyncOp* self = new ( ELeave ) CPEngCntLstBaseSyncOp( aPriority,
+ aInterface,
+ aObserver,
+ aServer,
+ aNeedToUnsubscribe );
+
+ CleanupStack::PushL( self );
+ self->ConstructL( aUsedSlot );
+ CleanupStack::Pop();
+
+ return self;
+ }
+
+
+// Destructor
+CPEngCntLstBaseSyncOp::~CPEngCntLstBaseSyncOp()
+ {
+ CActive::Cancel();
+ }
+
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CPEngCntLstBaseSyncOp::CPEngCntLstBaseSyncOp( TInt aPriority,
+ CPEngContactListTransaction2& aInterface,
+ MPEngContactListTransactionObserver2& aObserver,
+ RPEngManagerClient& aServer,
+ TBool aNeedToUnsubscribe )
+ : CPEngAsyncOperation( aPriority, aServer ),
+ iInterface( aInterface ),
+ iObserver( aObserver ),
+ iUnsubscribe( aNeedToUnsubscribe )
+ {
+ }
+
+
+
+// EPOC default constructor can leave.
+void CPEngCntLstBaseSyncOp::ConstructL( CPEngNWSessionSlotStorageProxy& aUsedSlot )
+ {
+ BaseConstructL( aUsedSlot );
+
+ //Contact list base sync has empty data
+ if ( iUnsubscribe )
+ {
+ _LIT( KUnsubscribe, "UNSUB" );
+ HBufC* unSubs = KUnsubscribe().AllocLC();
+
+ InitTransaction( unSubs, EPEngTransOpCntListBaseSync );
+ CleanupStack::Pop( unSubs );
+ }
+ else
+ {
+ InitTransaction( NULL, EPEngTransOpCntListBaseSync );
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPEngCntLstBaseSyncOp::BaseSync()
+// -----------------------------------------------------------------------------
+//
+void CPEngCntLstBaseSyncOp::BaseSync()
+ {
+ IssueTransaction();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPEngCntLstBaseSyncOp::DoHandleOpSuccessL()
+// -----------------------------------------------------------------------------
+void CPEngCntLstBaseSyncOp::DoHandleOpSuccessL(
+ MPEngAdvTransactionStatus2& /*aStatus*/,
+ TInt /*aTransactionOperation*/ )
+
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPEngCntLstBaseSyncOp::DoHandleOpFailure()
+// -----------------------------------------------------------------------------
+void CPEngCntLstBaseSyncOp::DoHandleOpFailure(
+ MPEngAdvTransactionStatus2& /*aStatus*/,
+ TInt /*aTransactionOperation*/ )
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPEngCntLstBaseSyncOp::DoNotifyObserver()
+// -----------------------------------------------------------------------------
+TPEngAsyncOpResult CPEngCntLstBaseSyncOp::DoNotifyObserver(
+ MPEngAdvTransactionStatus2& aStatus,
+ TInt aTransactionOperation )
+ {
+ TRAPD( err, iObserver.HandleContactListTransactionCompleteL(
+ aStatus,
+ iInterface,
+ aTransactionOperation ) );
+ if ( err != KErrNone )
+ {
+ iObserver.HandleContactListTransactionError( err,
+ iInterface,
+ aTransactionOperation );
+ }
+
+ return EPEngAsyncOpCompleted;
+ }
+
+
+//End of file
+
+