diff -r 8e7494275d3a -r 4f0867e42d62 omads/omadsappui/AiwSyncProvider/inc/AiwSyncProvider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omads/omadsappui/AiwSyncProvider/inc/AiwSyncProvider.h Wed Sep 01 12:30:02 2010 +0100 @@ -0,0 +1,173 @@ +/* +* Copyright (c) 2005 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: AIW provider plugin for data sync +* +*/ + + +#ifndef AIWSYNCPROVIDER_H +#define AIWSYNCPROVIDER_H + +// INCLUDES +#include +#include "AspSyncUtilApi.h" + + +// CONSTANTS +const TInt KBufSize = 128; +const TInt KSyncApplicationId = 0; + + + +// CLASS DECLARATION + + +/** +* CAspSyncProvider +* +* CAspSyncProvider implements CAiwServiceIfMenu interface to +* allow synchronize functionality to be called via AIW. +* +* @lib syncservice.lib +* @since Series 60 3.0 +*/ +class CAspSyncProvider : public CAiwServiceIfMenu + { + public: + /** + * Two-phased constructor. + */ + static CAspSyncProvider* NewL(); + + /** + * Destructor. + */ + ~CAspSyncProvider(); + + public: + /** + * From the base class. + * Not implemented. + */ + virtual void InitialiseL(MAiwNotifyCallback& aFrameworkCallback, + const RCriteriaArray& aInterest); + + /** + * From the base class. + * Not implemented. + */ + virtual void HandleServiceCmdL(const TInt& aCmdId, + const CAiwGenericParamList& aInParamList, + CAiwGenericParamList& aOutParamList, + TUint aCmdOptions = 0, + const MAiwNotifyCallback* aCallback = NULL); + + + /** + * Initialises menu pane by adding provider specific menu items. + * The AIW Framework gives the parameters to be used in addition. + * @param aMenuPane Menu pane handle + * @param aIndex position of item where to add menu items. + * @param aCascadeId ID of cascade menu item. + * @param aInParamList input parameter list for provider's parameters checking + */ + virtual void InitializeMenuPaneL(CAiwMenuPane& aMenuPane, + TInt aIndex, + TInt aCascadeId, + const CAiwGenericParamList& aInParamList); + + /** + * Handle a menu command invoked by the Handler. + * @param aMenuCmdId Command ID for the menu command, + * defined by the provider when adding the menu commands. + * @param aInParamList Input parameters, could be empty list + * @param aOutParamList Output parameters, could be empty list + * @param aCmdOptions Options for the command, see KAiwCmdOpt* constants. + * @param aCallback callback if asynchronous command handling is wanted by consumer. + * The provider may or may not support this, leaves with KErrNotSupported, it not. + */ + virtual void HandleMenuCmdL(TInt aMenuCmdId, + const CAiwGenericParamList& aInParamList, + CAiwGenericParamList& aOutParamList, + TUint aCmdOptions = 0, + const MAiwNotifyCallback* aCallback = NULL); + + private: + /** + * C++ default constructor. + */ + CAspSyncProvider(); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + + private: + /** + * Gets service command id from AIW parameter list. + * @param aInParamList AIW parameter list. + * @return Service command id. + */ + TInt GetServiceCommandId(const CAiwGenericParamList& aInParamList); + + /** + * Gets calling application id from AIW parameter list. + * @param aInParamList AIW parameter list. + * @return Application id. + */ + TInt GetApplicationId(const CAiwGenericParamList& aInParamList); + + /** + * Gets sync file name from AIW parameter list. + * @param aInParamList AIW parameter list. + * @param aText File name. + * @return None. + */ + void GetFileName(const CAiwGenericParamList& aInParamList, TDes& aText); + + private: + /** + * Displays information note. + * @param aText Information note text. + * @return None. + */ + void ShowInformationNoteL(const TDesC& aText); + + /** + * Gets this plugin resource file name. + * @param aText Resource file name. + * @return None. + */ + void GetResFileName(TDes& aText); + + /** + * Copies strings. + * @param aTarget. + * @param aSource. + * @return None. + */ + void StrCopy(TDes& aTarget, const TDesC& aSource); + + private: + + // CSyncUtilApi handles synchronize operations. + CSyncUtilApi* iSyncUtilApi; + }; + +#endif // AIWSYNCPROVIDER_H + +// End of file +