MSsmStatePolicy Class Reference
The protocol for System State Policy DLLs. These are not ECOM DLLs because they need to work before the ECOM server is started.
The first function in System State Policy DLLs must have an exported function with following signature that returns an instance of the
MSsmStatePolicy
implementation:
IMPORT_C static MSsmStatePolicy* NewL();
Member Functions Documentation
CommandList()
CSsmCommandList *
|
CommandList
|
(
|
)
|
[pure virtual]
|
Used to retrieve the command list once the PrepareCommandList has completed. Ownership of the returned command list is transferred to the caller.
GetNextState(TSsmState, TInt, TInt, TInt, TSsmState &)
Used to determine the next sub state transition.
Parameters
TSsmState
aCurrentTransition
|
Contains the last executed state transition.
|
TInt
aReason
|
Contains the reason as given by the request
|
TInt
aError
|
Contains the completion code from the last executed sub-state transition
|
TInt
aSeverity
|
Contains the severity of the failed command in case the sub-state transition ended with an error
|
TSsmState
& aNextState
|
The next System State to head for, if there is one
|
Initialize(TRequestStatus &)
This function is guaranteed to be called before this System State Policy is used. It is intended for e.g. opening resource files or if you need to initialize hardware or talk to a domestic OS.
//minimal implemementation of this function would be
TRequestStatus* status = &aStatus;
User::RequestComplete(status, KErrNone);
Parameters
TRequestStatus
& aStatus
|
to complete when the initialization operation has finished
|
InitializeCancel()
void
|
InitializeCancel
|
(
|
)
|
[pure virtual]
|
Used to inform the policy DLL to Cancel an asynchronous Initialize operation.
MSsmStatePolicy_Reserved_1()
void
|
MSsmStatePolicy_Reserved_1
|
(
|
)
|
[private, inline, virtual]
|
MSsmStatePolicy_Reserved_2()
void
|
MSsmStatePolicy_Reserved_2
|
(
|
)
|
[private, inline, virtual]
|
MSsmStatePolicy_Reserved_3()
void
|
MSsmStatePolicy_Reserved_3
|
(
|
)
|
[private, inline, virtual]
|
PrepareCommandList(TSsmState, TInt, TRequestStatus &)
Used to create the command list associated with a sub state transition.
Parameters
TSsmState
aState
|
Contains the state that identifies the command list to create
|
TInt
aReason
|
Contains the reason as given by the request
|
TRequestStatus
& aStatus
|
to complete when the operation has finished
|
PrepareCommandListCancel()
void
|
PrepareCommandListCancel
|
(
|
)
|
[pure virtual]
|
Used to inform the policy DLL that the pending asynchronous PrepareCommandList operation needs to be cancelled.
Release()
void
|
Release
|
(
|
)
|
[pure virtual]
|
It is expected that Release will usually just call "delete this" on the object, but this will depend on the implementation of each policy.
TransitionAllowed(const TSsmStateTransition &, TSsmStateTransition const *, TSsmStateTransition const *, const RMessagePtr2 &)
Used to determine if an incoming request should be accepted or rejected.
Parameters
const
TSsmStateTransition
& aRequest
|
Contains information about the new request
|
TSsmStateTransition
const * aCurrent
|
Contains NULL or the first accepted but not yet completed transition request
|
TSsmStateTransition
const * aQueued
|
Contains NULL or a second accepted but not yet started transition request
|
const
RMessagePtr2
& aMessage
|
Contains information about the requesting client process. DLLs should not call RMessagePtr2::Complete.
|
Member Enumerations Documentation
Enum TResponse
Enumerators
ENotAllowed
|
|
EDefinitelyAllowed
|
|
ECurrentRemainReplaceQueued
|
|
EReplaceCurrentClearQueue
|
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.