diff -r 0aa8cc770c8a -r 4a793f564d72 connectivitymodules/SeCon/common/conmltask/inc/sconconmltask.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectivitymodules/SeCon/common/conmltask/inc/sconconmltask.h Wed Sep 01 12:20:56 2010 +0100 @@ -0,0 +1,598 @@ +/* +* Copyright (c) 2005-2010 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: Header file for ConML tasks +* +*/ + + +#ifndef _SCONCONMLTASK_H_ +#define _SCONCONMLTASK_H_ + +#include +#include + +const TInt KSConTaskPartiallyCompleted( 206 ); +const TInt KMaxPackageNameLength = 128; + +enum TSConMethodName + { + ECancel = 0, + EGetDataOwnerStatus, + EGetDataSize, + EGetStatus, + EInstall, + EListDataOwners, + EListInstalledApps, + EListPublicFiles, + ERequestData, + ESetBURMode, + ESetInstParams, + ESupplyData, + EUninstall, + EUpdateDeviceInfo, + EReboot, + EGetMetadata + }; + +enum TSConInstallMode + { + ESilentInstall = 0, + EUnsilentInstall, + EUnknown + }; + +enum TSConUserPerm + { + EPermReadOnly = 0, + EPermNormal + }; + +enum TSConDOType + { + EActiveDataOwner = 1, + EPassiveDataOwner, + EHybridDataOwner + }; + +enum TSConHasFiles + { + ENoFiles = 0, + EPublicFiles, + ESystemFiles, + EPublicSystemFiles + }; + +enum TSConAppType + { + ESisApplication = 0, + ESisAugmentation, + EJavaApplication, + EWidgetApplication + }; + +enum TSConBurMode + { + ESConBurNormal = 1, // 1 BUR mode - normal + ESConBurBackupFull, // 2 BUR mode – backup full + ESConBurBackupPartial, // 3 BUR mode – backup partial + ESConBurRestoreFull, // 4 BUR mode – restore full + ESConBurRestorePartial // 5 BUR mode – restore partial + }; + +enum TSConIncType + { + ESConNoBackup = 0, // 0 No backup + ESConBackupBase = 100, // 100 Backup – base + ESConBackupIncrement = 200 // 200 Backup - increment + }; + +enum TSConTransferDataType + { + ESConRegistrationData = 1, // 1 RegistrationData + ESConPassiveSnapshotData, // 2 Passive snapshot data + ESConPassiveBaseData, // 3 Passive base data + ESConPassiveIncrementalData,// 4 Passive incremental data + ESConActiveSnapshotData, // 5 Active snapshot data + ESConActiveBaseData, // 6 Active base data + ESConActiveIncrementalData, // 7 Active incremental data + ESConSystemData, // 8 System data + ESConSystemSnapshotData // 9 System snapshot data + }; + +enum TSConDataOwnerStatus + { + ESConUnset = 0, // 0 Unset + ESConNotFound, // 1 Not found + ESConReady, // 2 Ready + ESConNotReady, // 3 Not ready + ESConFailed, // 4 Failed + ESConNotConnected, // 5 Not connected + ESConNotImplemented // 6 Not implemented + }; + + + + +//============================================================ +// class CSConReboot declaration +//============================================================ +NONSHARABLE_CLASS( CSConReboot ) : public CBase + { + public: + CSConReboot(); + ~CSConReboot(); + CSConReboot* CopyL(); + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConDataOwner declaration +//============================================================ +NONSHARABLE_CLASS( CSConDataOwner ) : public CBase + { + public: + CSConDataOwner(); + ~CSConDataOwner(); + CSConDataOwner* CopyL(); + + public: + //dataowner type + TSConDOType iType; + //unique identifier + TUid iUid; + //drive list + TDriveList iDriveList; + //package name + TBuf iPackageName; + //requires reboot + TBool iReqReboot; + //has files + TSConHasFiles iHasFiles; + //supports incremental backup + TBool iSupportsInc; + //supports selective backup + TBool iSupportsSel; + //delay to prepare data + TBool iDelayToPrep; + //size + TUint iSize; + //data owner status + TSConDataOwnerStatus iDataOwnStatus; + //transfer data type + TSConTransferDataType iTransDataType; + //Java hash + HBufC* iJavaHash; + }; + +//============================================================ +// class CSConUpdateDeviceInfo declaration +//============================================================ +NONSHARABLE_CLASS( CSConUpdateDeviceInfo ) : public CBase + { + public: + CSConUpdateDeviceInfo(); + ~CSConUpdateDeviceInfo(); + CSConUpdateDeviceInfo* CopyL(); + + TBuf8<3> iVersion; //version number + TBool iInstallSupp; + TBool iUninstallSupp; + TBool iInstParamsSupp; + TBool iInstAppsSupp; + TBool iDataOwnersSupp; + TBool iSetBURModeSupp; + TBool iGetSizeSupp; + TBool iReqDataSupp; + TBool iSupplyDataSupp; + TBool iRebootSupp; + TInt iMaxObjectSize; //kBytes + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; +//============================================================ +// class CSConInstApp declaration +//============================================================ +NONSHARABLE_CLASS( CSConInstApp ) : public CBase + { + public: + CSConInstApp() {}; + ~CSConInstApp(); + CSConInstApp* CopyL(); + + TFileName iName; + TFileName iParentName; + TFileName iVendor; + TFileName iVersion; + TInt64 iSize; + TSConAppType iType; + TUid iUid; + HBufC* iWidgetBundleId; // Widget bundle identifier like "com.nokia.widget.HelloWorld" + }; + +//============================================================ +// class CSConListInstApps declaration +//============================================================ +NONSHARABLE_CLASS( CSConListInstApps ) : public CBase + { + public: + CSConListInstApps(); + ~CSConListInstApps(); + CSConListInstApps* CopyL(); + + TBool iAllApps; //list all apps + TDriveList iDriveList; //drive list + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + + RPointerArray iApps; //installed apps + }; + +//============================================================ +// class CSConGetStatus declaration +//============================================================ +NONSHARABLE_CLASS( CSConGetStatus ) : public CBase + { + public: + TBool iAll; //list all statuses + TInt iTaskId; //task id + }; + +//============================================================ +// class CSConFile declaration +//============================================================ +NONSHARABLE_CLASS( CSConFile ) : public CBase + { + public: + CSConFile(); + ~CSConFile(); + CSConFile* CopyL(); + + TFileName iPath; //file path + name + TBuf iModified; //modified date + TUint iSize; //file size + TSConUserPerm iUserPerm; //user permission + }; + +//============================================================ +// class CSConInstall declaration +//============================================================ +NONSHARABLE_CLASS( CSConInstall ) : public CBase + { + public: + CSConInstall(); + ~CSConInstall(); + + CSConInstall* CopyL(); + + TFileName iPath; //path to file + TSConInstallMode iMode; //install mode + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConUninstall declaration +//============================================================ +NONSHARABLE_CLASS( CSConUninstall ) : public CBase + { + public: + CSConUninstall(); + ~CSConUninstall(); + + CSConUninstall* CopyL(); + + TFileName iName; // application name + TFileName iVendor; // application vendor + TUid iUid; // application uid + TSConAppType iType; // application type + TSConInstallMode iMode; // install mode + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConListDataOwners declaration +//============================================================ +NONSHARABLE_CLASS( CSConListDataOwners ) : public CBase + { + public: + CSConListDataOwners(); + ~CSConListDataOwners(); + CSConListDataOwners* CopyL(); + void DeleteDataOwners(); + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + + RPointerArray iDataOwners; //data owners + }; + +//============================================================ +// class CSConSetBURMode declaration +//============================================================ +NONSHARABLE_CLASS( CSConSetBURMode ) : public CBase + { + public: + TDriveList iDriveList; //drive list + TSConBurMode iPartialType; //partial backup type + TSConIncType iIncType; //incremental backup type + + CSConSetBURMode(); + ~CSConSetBURMode(); + CSConSetBURMode* CopyL(); + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConGetDataSize declaration +//============================================================ +NONSHARABLE_CLASS( CSConGetDataSize ) : public CBase + { + public: + CSConGetDataSize(); + ~CSConGetDataSize(); + + CSConGetDataSize* CopyL(); + void DeleteDataOwners(); + + public: + RPointerArray iDataOwners; //data owners + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConListPublicFiles declaration +//============================================================ +NONSHARABLE_CLASS( CSConListPublicFiles ) : public CBase + { + public: + CSConListPublicFiles(); + ~CSConListPublicFiles(); + CSConListPublicFiles* CopyL(); + + public: + RPointerArray iFiles; //data owners + RPointerArray iDataOwners; //data owners + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConRequestData declaration +//============================================================ +NONSHARABLE_CLASS( CSConRequestData ) : public CBase + { + public: + CSConRequestData(); + ~CSConRequestData(); + CSConRequestData* CopyL(); + void DeleteDataAndDataOwner(); + + CSConDataOwner* iDataOwner; //data owner + HBufC8* iBackupData; //backup data + TBool iMoreData; //more data + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConGetDataOwnerStatus declaration +//============================================================ +NONSHARABLE_CLASS( CSConGetDataOwnerStatus ) : public CBase + { + public: + CSConGetDataOwnerStatus(); + ~CSConGetDataOwnerStatus(); + CSConGetDataOwnerStatus* CopyL(); + void DeleteDataOwners(); + + public: + RPointerArray iDataOwners; //data owners + + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConSupplyData declaration +//============================================================ +NONSHARABLE_CLASS( CSConSupplyData ) : public CBase + { + public: + CSConSupplyData(); + ~CSConSupplyData(); + CSConSupplyData* CopyL(); + public: + CSConDataOwner* iDataOwner; + HBufC8* iRestoreData; //restore data + TBool iMoreData; //more data + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConGetMetadata declaration +//============================================================ +NONSHARABLE_CLASS( CSConGetMetadata ) : public CBase + { + public: + CSConGetMetadata(); + ~CSConGetMetadata(); + CSConGetMetadata* CopyL(); + public: + TFileName iFilename; + HBufC8* iData; //metadata + TBool iMoreData; //more data + //used only with reply + TBool iComplete; //task complete + TInt iProgress; //task progress + }; + +//============================================================ +// class CSConTask declaration +//============================================================ +NONSHARABLE_CLASS( CSConTask ): public CBase + { + public: + /** + * Two-phase constructor + * @return CSConTask instance + */ + static CSConTask* NewL( TSConMethodName aMethod ); + static CSConTask* NewLC( TSConMethodName aMethod ); + + CSConTask(); + ~CSConTask(); + TSConMethodName GetServiceId() const; + CSConTask* CopyL() const; + TBool GetComplete(); + void SetCompleteValue( TBool aValue ); + TBool GetCompleteValue(); + void SetProgressValue( TInt aValue ); + private: + + void ConstructL( TSConMethodName aMethod ); + public: + //Task + //service id + TSConMethodName iMethod; + //task number + TInt iTaskId; + + //DeviceInfo -params + CSConUpdateDeviceInfo* iDevInfoParams; + //ListInstalledTasks -params + CSConListInstApps* iListAppsParams; + //GetStatus -params + CSConGetStatus* iGetStatusParams; + //Install -params + CSConInstall* iInstallParams; + //Uninstall -params + CSConUninstall* iUninstallParams; + //SetBURMode -params + CSConSetBURMode* iBURModeParams; + //GetDataSize -params + CSConGetDataSize* iGetDataSizeParams; + //RequestData -params + CSConRequestData* iRequestDataParams; + //GetDataOwnerStatus -params + CSConGetDataOwnerStatus* iGetDataOwnerParams; + //SupplyData -params + CSConSupplyData* iSupplyDataParams; + //ListPublicFiles -params + CSConListPublicFiles* iPubFilesParams; + //ListDataOwners -params + CSConListDataOwners* iListDataOwnersParams; + //Reboot -params + CSConReboot* iRebootParams; + //GetMetadata -params + CSConGetMetadata* iGetMetadataParams; + + TInt iCancelTaskId; + TBool iCancelTaskAll; + }; + +//============================================================ +// class CSConTaskReply declaration +//============================================================ +NONSHARABLE_CLASS( CSConTaskReply ) : public CBase + { + public: + CSConTaskReply(); + CSConTaskReply( TSConMethodName aMethod ); + ~CSConTaskReply(); + void InitializeL( const CSConTask& aTask ); + void InitializeL( TSConMethodName aMethod, + TInt aProgress, TBool aComplete ); + CSConTaskReply* CopyAndFreeL(); + void CleanTaskData(); + + public: + //task id number + TInt iTaskId; + //method type + TSConMethodName iMethod; + + //DeviceInfo -params + CSConUpdateDeviceInfo* iDevInfoParams; + //ListInstalledTasks -params + CSConListInstApps* iListAppsParams; + //GetStatus -params + CSConGetStatus* iGetStatusParams; + //Install -params + CSConInstall* iInstallParams; + //Uninstall -params + CSConUninstall* iUninstallParams; + //SetBURMode -params + CSConSetBURMode* iBURModeParams; + //GetDataSize -params + CSConGetDataSize* iGetDataSizeParams; + //RequestData -params + CSConRequestData* iRequestDataParams; + //GetDataOwnerStatus -params + CSConGetDataOwnerStatus* iGetDataOwnerParams; + //SupplyData -params + CSConSupplyData* iSupplyDataParams; + //ListPublicFiles -params + CSConListPublicFiles* iPubFilesParams; + //ListDataOwners -params + CSConListDataOwners* iListDataOwnersParams; + //Reboot -params + CSConReboot* iRebootParams; + //GetMetadata -params + CSConGetMetadata* iGetMetadataParams; + }; + +//============================================================ +// class CSConStatusReply declaration +//============================================================ +NONSHARABLE_CLASS( CSConStatusReply ): public CBase + { + public: + CSConStatusReply(); + ~CSConStatusReply(); + + public: + TBool iNoTasks; //no active tasks + RPointerArray iTasks; + }; + +#endif + +// End of file +