diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatemgr/inc/ssmcommandfactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/inc/ssmcommandfactory.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,93 @@ +// Copyright (c) 2007-2009 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: +// + +#ifndef __SSMCOMMANDFACTORY_H__ +#define __SSMCOMMANDFACTORY_H__ + +#include +#include +#include + +class CSsmCustomCommandInfo; +class TSsmSupInfo; +class TSsmPublishSystemStateInfo; +class CSsmStartupProperties; +class RResourceReader; +class CSsmCommandUtilProvider; +class CSsmCommandBase; +class MSsmCommand; +class MSsmCommandList; +class TSsmCommandParameters; +class MSsmCommandFactory; +class TSsmSwp; + +/** +@publishedPartner +@released +*/ +class SsmCommandFactory + { +public: + // Construct a specific type of command + IMPORT_C static MSsmCommand* ConstructWaitForApparcInitCommandLC(TCmdErrorSeverity aSeverity); + IMPORT_C static MSsmCommand* ConstructMultipleWaitCommandLC(TInt32 aTimeout); + IMPORT_C static MSsmCommand* ConstructAMAStarterCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TUid& aDscId); + IMPORT_C static MSsmCommand* ConstructStartApplicationCommandLC(TCmdErrorSeverity aSeverity, CSsmStartupProperties* aStartupProperties); + IMPORT_C static MSsmCommand* ConstructStartProcessCommandLC(TCmdErrorSeverity aSeverity, CSsmStartupProperties* aStartupProperties); + IMPORT_C static MSsmCommand* ConstructCustomCommandCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, CSsmCustomCommandInfo& aCustomInfo); + IMPORT_C static MSsmCommand* ConstructFinaliseDrivesCommandLC(TCmdErrorSeverity aSeverity); + IMPORT_C static MSsmCommand* ConstructLoadSupCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, TInt aRetries, const TSsmSupInfo& aInfo); + IMPORT_C static MSsmCommand* ConstructPersistHalAttributesCommandLC(TCmdErrorSeverity aSeverity); + IMPORT_C static MSsmCommand* ConstructPowerOffCommandLC(TCmdErrorSeverity aSeverity, TPowerState aPowerEvent); + IMPORT_C static MSsmCommand* ConstructPublishSwpCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TSsmSwp& aSwp); + IMPORT_C static MSsmCommand* ConstructReqSwpChangeCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TSsmSwp& aSwp); + IMPORT_C static MSsmCommand* ConstructPublishSystemStateCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, TSsmPublishSystemStateInfo& aInfo); + IMPORT_C static MSsmCommand* ConstructCreateSwpCommandLC(TCmdErrorSeverity aSeverity, const TSsmSwp& aSwp, TDesC& aFilename); + IMPORT_C static MSsmCommand* ConstructSetPAndSKeyCommandLC(TCmdErrorSeverity aSeverity, const TUid& aCategory, TUint aKey, TInt aValue); + + // Construct a command of the specified type from a RReadStream + static CSsmCommandBase* ConstructCommandFromStreamLC(TSsmCommandType aType, RReadStream& aReadStream, TArray& aDeferredList); + + // Construct a command of the specified type from resource + static CSsmCommandBase* ConstructCommandFromResourceLC(TSsmCommandType aType, TSsmCommandParameters& aCommandParameters); + + // Construct a command of the specified type from MSsmCommand object + static CSsmCommandBase* ConstructCommandFromCommandLC(const MSsmCommand& aSsmCommand, TArray& aDeferredList, CSsmCommandUtilProvider* aUtilProvider); + +#ifdef SSM_CMD_TESTFRAMEWORK + static void DelegateTo(MSsmCommandFactory* aExternalFactory); +#endif //SSM_CMD_TESTFRAMEWORK + + //SYMBIAN_SSM_FLEXIBLE_MERGE + IMPORT_C static MSsmCommand* ConstructWaitForApparcInitCommandLC(TCmdErrorSeverity aSeverity, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructAMAStarterCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TUid& aDscId, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructStartApplicationCommandLC(TCmdErrorSeverity aSeverity, CSsmStartupProperties* aStartupProperties, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructStartProcessCommandLC(TCmdErrorSeverity aSeverity, CSsmStartupProperties* aStartupProperties, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructCustomCommandCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, CSsmCustomCommandInfo& aCustomInfo, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructLoadSupCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, TInt aRetries, const TSsmSupInfo& aInfo, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructPublishSwpCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TSsmSwp& aSwp, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructReqSwpChangeCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, const TSsmSwp& aSwp, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructPublishSystemStateCommandLC(TCmdErrorSeverity aSeverity, TSsmExecutionBehaviour aExecutionBehaviour, TSsmPublishSystemStateInfo& aInfo, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructCreateSwpCommandLC(TCmdErrorSeverity aSeverity, const TSsmSwp& aSwp, TDesC& aFilename, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructSetPAndSKeyCommandLC(TCmdErrorSeverity aSeverity, const TUid& aCategory, TUint aKey, TInt aValue, const TUint16 aPriority); + IMPORT_C static MSsmCommand* ConstructMultipleWaitCommandLC(TInt32 aTimeout, const TUint16 aPriority); + + //SYMBIAN_SSM_FLEXIBLE_MERGE + +private: + SsmCommandFactory(); + }; + +#endif // __SSMCOMMANDFACTORY_H__