diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatemgr/inc/ssmadaptation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatemgr/inc/ssmadaptation.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,357 @@ +// 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 __SSMADAPTATION_H__ +#define __SSMADAPTATION_H__ + +#include + +#include +#include + +/** + The UID2 value for SSM State Adaptation DLLs. + @publishedPartner + @released + */ +const TInt KStateAdaptationDllTypeUidValue=0x2000D76A; + +/** + The UID2 for SSM State Adaptation DLLs. + @publishedPartner + @released + */ +const TUid KStateAdaptationDllTypeUid={KStateAdaptationDllTypeUidValue}; + +/** +@publishedPartner +@released +*/ +class MStateAdaptation + { +public: + /** + Request a Cooperating System to change system state. + @param aState contains the new System State + @param aStatus to complete when the operation has finished + @see TSsmState + @see TRequestStatus + */ + virtual void RequestCoopSysStateChange(TSsmState aState, TRequestStatus& aStatus) = 0; + + /** + Request the Cooperating System to perform a self test. + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void RequestCoopSysSelfTest(TRequestStatus& aStatus) = 0; + + /** + Request the Cooperating System to perform any required restart actions, since a device restart is about to be performed. + @param aReason reason used by Cooperating System + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void RequestCoopSysPerformRestartActions(TInt aReason, TRequestStatus& aStatus) = 0; + + /** + Request the Cooperating System to perform any required shutdown actions, since a device shutdown is about to be performed. + @param aReason reason used by Cooperating System + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void RequestCoopSysPerformShutdownActions(TInt aReason, TRequestStatus& aStatus) = 0; + + /** + Request the Cooperating System to Restore Factory Settings. + @param aRfsType type of factory settings to be restored + @param aStatus to complete when the operation has finished + @see TSsmRfsType + @see TRequestStatus + */ + virtual void RequestCoopSysPerformRfsActions(TSsmRfsType aRfsType, TRequestStatus& aStatus) = 0; + + /** + This cancels a previous request from one of the other five Request methods in this class. + Only one request is allowed to be outstanding on each connection session. + */ + virtual void RequestCancel() = 0; + + /** + Requests notification from the Cooperating system of any events that occur. + @param aEvent one of TSsmCoopSysEventType event's for which notification is requested, packaged in a descriptor + @param aStatus to complete when the notification request has occurred + @see TSsmCoopSysEventType + @see TRequestStatus + */ + virtual void NotifyCoopSysEvent(TDes8& aEvent, TRequestStatus& aStatus) = 0; + + /** + This cancels the outstanding request for notification of events. + Only one request for notification of fatal events is allowed for each connected session. + */ + virtual void NotifyCancel() = 0; + + /** + It is expected that Release will usually just call "delete this" on the object, + but this will depend on the implementation of each policy. + */ + virtual void Release() = 0; + }; + +/** + The UID2 value for SSM RTC Adaptation DLLs. + @publishedPartner + @released + */ +const TInt KRtcAdaptationDllTypeUidValue=0x2000D76C; + +/** + The UID2 for SSM RTC Adaptation DLLs. + @publishedPartner + @released + */ +const TUid KRtcAdaptationDllTypeUid={KRtcAdaptationDllTypeUidValue}; + +/** +@publishedPartner +@released +*/ +class MRtcAdaptation + { +public: + /** + Check that the RTC is valid. + @param aValidityPckg on return contains the status of the validity of the RTC as a boolean value + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void ValidateRtc(TDes8& aValidityPckg, TRequestStatus& aStatus) = 0; + + /** + Set a device wake-up alarm time, in UTC (coordinated universal time), in the RTC. + @param aAlarmTimePckg requested wake up time + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + + virtual void SetWakeupAlarm(TDesC8& aAlarmTimePckg, TRequestStatus& aStatus) = 0; + + /** + Delete the current device wake-up alarm time in the RTC. + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void UnsetWakeupAlarm(TRequestStatus& aStatus) = 0; + + /** + This cancels a previous request from one of the other three methods in this class. + Only one request is allowed to be outstanding on each connection session. + */ + virtual void Cancel() = 0; + + /** + It is expected that Release will usually just call "delete this" on the object, + but this will depend on the implementation of each policy. + */ + virtual void Release() = 0; + }; + +/** + The UID2 value for SSM SIM Adaptation DLLs. + @publishedPartner + @released + */ +const TInt KSimAdaptationDllTypeUidValue=0x2000D76B; + +/** + The UID2 for SSM RTC Adaptation DLLs. + @publishedPartner + @released + */ +const TUid KSimAdaptationDllTypeUid={KSimAdaptationDllTypeUidValue}; + +/** +@publishedPartner +@released +*/ +class MSimAdaptation + { +public: + /** + Check if the current SIM is among the group of recently used (i.e. Owned) SIM cards. + @param aOwnedPckg SIM details + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void GetSimOwned(TDes8& aOwnedPckg, TRequestStatus& aStatus) = 0; + + /** + This cancels the previous get request for SIM information. + Only one request for SIM information (either owned or changed) can be outstanding on each connected session. + */ + virtual void GetCancel() = 0; + + /** + Requests notification of SIM events. + @param aTypePckg contains the SIM event on notification completion + @param aStatus to complete when the operation has finished + @see TSsmSimEventType + @see TRequestStatus + */ + virtual void NotifySimEvent(TDes8& aTypePckg, TRequestStatus& aStatus) = 0; + + /** + This cancels the previous request for notification of SIM events. + Only one request for SIM events can be outstanding on each connected session. + */ + virtual void NotifyCancel() = 0; + + /** + It is expected that Release will usually just call "delete this" on the object, + but this will depend on the implementation of each policy. + */ + virtual void Release() = 0; + }; + +/** + The UID2 value for SSM Emergency Call Rf Adaptation DLLs. + @publishedPartner + @released + */ +const TInt KEmergencyCallRfAdaptationDllTypeUidValue=0x2000E657; + +/** + The UID2 for SSM Emergency Call Rf Adaptation DLLs. + @publishedPartner + @released + */ +const TUid KEmergencyCallRfAdaptationDllTypeUid={KEmergencyCallRfAdaptationDllTypeUidValue}; + +/** +@publishedPartner +@released +*/ +class MEmergencyCallRfAdaptation + { +public: + /** + Request RF activation so that an emergency call can be made. + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void ActivateRfForEmergencyCall(TRequestStatus& aStatus) = 0; + + /** + Request RF deactivation after an emergency call have been made. + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void DeactivateRfForEmergencyCall(TRequestStatus& aStatus) = 0; + + /** + This cancels the previous outstanding request made for Activation/De-activation of emergency calls. + Only one request is allowed to be outstanding for each connected session. + */ + virtual void Cancel() = 0; + + /** + It is expected that Release will usually just call "delete this" on the object, + but this will depend on the implementation of each policy. + */ + virtual void Release() = 0; + }; + +/** + The UID2 value for SSM Miscellaneous Adaptation DLLs. + @publishedPartner + @released + */ +const TInt KMiscAdaptationDllTypeUidValue=0x2000E658; + +/** + The UID2 for SSM Miscellaneous Adaptation DLLs. + @publishedPartner + @released + */ +const TUid KMiscAdaptationDllTypeUid={KMiscAdaptationDllTypeUidValue}; + +/** +@publishedPartner +@released +*/ +class MMiscAdaptation + { +public: + /** + Request the next security state. + @param aState next security state + @param aResponsePckg response to state change request on completion + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void SecurityStateChange(TInt aState, TDes8& aResponsePckg, TRequestStatus& aStatus) = 0; + + /** + Get the start-up mode from the Cooperating System. + @param aModePckg should contain start-up of the Cooperating System on completion + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void GetGlobalStartupMode(TDes8& aModePckg, TRequestStatus& aStatus) = 0; + + /** + Prepare language codes stored in the SIM in preferred language lists. + The next call should be GetSimLanguagesL() + @param aPriority priority for which the language lists need to be prepared + @param aSizePckg on return contains the size of the buffer, which a client should allocate and pass as the one of the parameters (CBufBase* aBuf, TInt aCount) to GetSimLanguagesL() + @param aStatus to complete when the operation has finished + @see TSsmLanguageListPriority + @see TRequestStatus + @see GetSimLanguagesL + */ + virtual void PrepareSimLanguages(TSsmLanguageListPriority aPriority, TDes8& aSizePckg, TRequestStatus& aStatus) = 0; + + /** + Get language codes stored in the SIM in preferred language lists. + PrepareSimLanguages() call should precede this call + @param aBuf should contain the language lists on completion + @param aCount to contain the count of the languages + @see PrepareSimLanguages + */ + virtual void GetSimLanguagesL(CBufBase* aBuf, TInt aCount) = 0; + + /** + This cancels the previous request from any of the other four methods in this class. + Only one request is allowed to be outstanding for each connected session. + */ + virtual void Cancel() = 0; + + /** + It is expected that Release will usually just call "delete this" on the object, + but this will depend on the implementation of each policy. + */ + virtual void Release() = 0; + + /** + Retrieve information about Hidden reset. + @param aHiddenResetPckg Result package (ETrue or EFalse) + @param aStatus to complete when the operation has finished + @see TRequestStatus + */ + virtual void GetHiddenReset(TDes8& aHiddenResetPckg, TRequestStatus& aStatus) = 0; + }; + +#endif // __SSMADAPTATION_H__