--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pushmtm/MtmCliSrvSrc/PushMtmClient.cpp Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,262 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: Client Mtm class definition
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include "PushMtmClient.h"
+#include "PushMtmCommands.hrh"
+#include "PushMtmProgress.h"
+#include "PushMtmCliSrvPanic.h"
+#include "PushMtmGcOperation.h"
+#include <msvids.h>
+#include <msvapi.h>
+#include <MTMStore.h>
+#include <mtudcbas.h>
+
+// LOCAL CONSTANTS AND MACROS
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPushMtmClient::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CPushMtmClient* CPushMtmClient::NewL
+ ( CRegisteredMtmDll& aRegisteredMtmDll,
+ CMsvSession& aMsvSession )
+ {
+ CPushMtmClient* client =
+ new (ELeave) CPushMtmClient( aRegisteredMtmDll, aMsvSession );
+ CleanupStack::PushL( client );
+ client->ConstructL();
+ CleanupStack::Pop(); // client
+ return client;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::~CPushMtmClient
+// ---------------------------------------------------------
+//
+CPushMtmClient::~CPushMtmClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::CPushMtmClient
+// ---------------------------------------------------------
+//
+CPushMtmClient::CPushMtmClient( CRegisteredMtmDll& aRegisteredMtmDll,
+ CMsvSession& aMsvSession )
+: CBaseMtm( aRegisteredMtmDll, aMsvSession )
+ {
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::ConstructL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::ConstructL()
+ {
+ SwitchCurrentEntryL( KMsvRootIndexEntryId );
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::SaveMessageL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::SaveMessageL()
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::LoadMessageL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::LoadMessageL()
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::ReplyL
+// ---------------------------------------------------------
+//
+CMsvOperation* CPushMtmClient::ReplyL
+ (
+ TMsvId /*aReplyEntryId*/,
+ TMsvPartList /*aPartlist*/,
+ TRequestStatus& /*aCompletionStatus*/
+ )
+ {
+ User::Leave( KErrNotSupported );
+ return NULL;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::ForwardL
+// ---------------------------------------------------------
+//
+CMsvOperation* CPushMtmClient::ForwardL
+ (
+ TMsvId /*aForwardEntryId*/,
+ TMsvPartList /*aPartList*/,
+ TRequestStatus& /*aCompletionStatus*/
+ )
+ {
+ User::Leave( KErrNotSupported );
+ return NULL;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::AddAddresseeL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::AddAddresseeL( const TDesC& /*aRealAddress*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::AddAddresseeL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::AddAddresseeL( const TDesC& /*aRealAddress*/,
+ const TDesC& /*aAlias*/ )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::RemoveAddressee
+// ---------------------------------------------------------
+//
+void CPushMtmClient::RemoveAddressee( TInt /*aIndex*/ )
+ {
+ // Not suppored.
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::ValidateMessage
+// ---------------------------------------------------------
+//
+TMsvPartList CPushMtmClient::ValidateMessage( TMsvPartList /*aPartList*/ )
+ {
+ // Not supported. KErrNone means that the current context is valid.
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::Find
+// ---------------------------------------------------------
+//
+TMsvPartList CPushMtmClient::Find( const TDesC& /*aTextToFind*/,
+ TMsvPartList /*aPartList*/ )
+ {
+ // Not supported.
+ return 0;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::QueryCapability
+// ---------------------------------------------------------
+//
+TInt CPushMtmClient::QueryCapability( TUid /*aCapability*/, TInt& /*aResponse*/ )
+ {
+ return KErrNotSupported; // No supported capabilities here.
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::InvokeSyncFunctionL
+// ---------------------------------------------------------
+//
+void CPushMtmClient::InvokeSyncFunctionL(
+ TInt aFunctionId,
+ const CMsvEntrySelection& aSelection,
+ TDes8& /*aParameter*/ )
+ {
+ if ( aFunctionId == EPushMtmCmdCollectGarbage )
+ {
+ TRequestStatus dummyStat; // We call the sync op.
+ CPushMtmGcOperation* op = CPushMtmGcOperation::NewL(
+ Session(),
+ aSelection.Count() ?
+ aSelection.At( 0 ) :
+ KMsvNullIndexEntryId,
+ dummyStat );
+ CleanupStack::PushL( op );
+ op->DoSyncL();
+ CleanupStack::PopAndDestroy( op ); // op
+ }
+ else
+ {
+ User::Leave( KErrNotSupported );
+ }
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::InvokeAsyncFunctionL
+// ---------------------------------------------------------
+//
+CMsvOperation* CPushMtmClient::InvokeAsyncFunctionL(
+ TInt aFunctionId,
+ const CMsvEntrySelection& aSelection,
+ TDes8& /*aParameter*/,
+ TRequestStatus& aCompletionStatus )
+ {
+ CMsvOperation* operation = NULL;
+
+ switch ( aFunctionId )
+ {
+ case EPushMtmCmdCollectGarbage:
+ {
+ CPushMtmGcOperation*
+ op = CPushMtmGcOperation::NewL( Session(),
+ aSelection.Count() ?
+ aSelection.At( 0 ) :
+ KMsvNullIndexEntryId,
+ aCompletionStatus );
+ CleanupStack::PushL( op );
+ op->StartL();
+ operation = op;
+ CleanupStack::Pop( op ); // op
+ break;
+ }
+
+ default:
+ {
+ User::Leave( KErrNotSupported );
+ break;
+ }
+ }
+
+ return operation;
+ }
+
+// ---------------------------------------------------------
+// CPushMtmClient::ContextEntrySwitched
+// ---------------------------------------------------------
+//
+void CPushMtmClient::ContextEntrySwitched()
+ {
+ // Does nothing
+ }
+
+// End of file.