telephonyprotocols/pdplayer/inc/PDPSCPRStates.h
changeset 0 3553901f7fa8
child 6 fc69e1e37771
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/inc/PDPSCPRStates.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,419 @@
+// Copyright (c) 2006-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:
+// PDPSCPR States
+// 
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef SYMBIAN_PDPSCPRSTATES_H
+#define SYMBIAN_PDPSCPRSTATES_H
+
+#include <comms-infras/corescprstates.h>
+#include <comms-infras/corescpractivities.h>
+#include "PDPSCPR.h"
+
+class TPDPFSMMessages
+    {
+public:
+    enum { ERealmId = 0x102822EF };
+
+private:
+    enum
+    /**
+    Definition of generic Link Tier message ids
+    */
+    	{
+    	EPDPFSMMessage = Messages::KNullMessageId + 1,
+    	};
+public:
+    typedef Messages::TMessageSigNumberNumber<EPDPFSMMessage, TPDPFSMMessages::ERealmId> TPDPFSMMessage;
+    };
+
+//-=========================================================
+//
+//
+//
+// States
+//
+//
+//
+//-=========================================================
+namespace PDPSCprStates
+{
+const TInt KFakeStart = 1;
+const TInt KBlocked = 2;
+const TInt KUnblocked = 3;
+const TInt KSendErrorRecoveryRequest = 4;
+const TInt KContentionTag = 5;
+
+
+typedef MeshMachine::TNodeContext<CPDPSubConnectionProvider, SCprStates::TContext> TContext;
+typedef MeshMachine::TNodeContext<CPDPDefaultSubConnectionProvider, PDPSCprStates::TContext> TDefContext;
+
+//-=========================================================
+//Util
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TAwaitingPDPFSMMessage, MeshMachine::TState<TContext>, NetStateMachine::MState, PDPSCprStates::TContext )
+	TBool Accept(TInt aExtensionId);
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPDPFSMMessage )
+
+DECLARE_SMELEMENT_HEADER( TNoTagOrError, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagOrError )
+
+DECLARE_SMELEMENT_HEADER( TNoTagOrAlreadyStarted, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagOrAlreadyStarted )
+
+DECLARE_SMELEMENT_HEADER( TSendDataClientIdleIfNoSubconnsAndNoClients, MeshMachine::TStateTransition<TDefContext>, NetStateMachine::MStateTransition, TDefContext )
+  	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendDataClientIdleIfNoSubconnsAndNoClients )
+
+DECLARE_SMELEMENT_HEADER( TNoTagOrSendErrorRecoveryRequestOrError, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagOrSendErrorRecoveryRequestOrError )
+
+DECLARE_SMELEMENT_HEADER( TNoTagBackwardOrErrorTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagBackwardOrErrorTag )
+
+DECLARE_SMELEMENT_HEADER( TNoTagOrContentionTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagOrContentionTag )
+
+
+//-=========================================================
+//Provision
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TSelfInit, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSelfInit)
+
+DECLARE_AGGREGATED_TRANSITION2(
+   TStoreProvisionAndInitSelf,
+   PRStates::TStoreProvision,
+   PDPSCprStates::TSelfInit
+   )
+
+//-=========================================================
+//Creating context
+//-=========================================================
+class CStartActivity : public MeshMachine::CNodeRetryActivity
+    {
+public:
+    static MeshMachine::CNodeActivityBase* NewL( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode );
+    virtual ~CStartActivity();
+protected:
+
+	CStartActivity( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode);
+	};
+
+DECLARE_SMELEMENT_HEADER( TCreatePrimaryPDPCtx, MeshMachine::TStateTransition<PDPSCprStates::TDefContext>, NetStateMachine::MStateTransition, PDPSCprStates::TDefContext)
+	virtual void DoL();
+    private:
+    void SetupSipServerAddrRetrievalL(RPacketContext::TProtocolConfigOptionV2& aPco);
+	void SetImsSignallingFlagL(RPacketContext::TProtocolConfigOptionV2& aPco, TBool aImcn);
+	TBool IsModeGsmL() const;
+DECLARE_SMELEMENT_FOOTER( TCreatePrimaryPDPCtx)
+
+DECLARE_SMELEMENT_HEADER( TCreateSecondaryOrMbmsPDPCtx, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TCreateSecondaryOrMbmsPDPCtx)
+
+DECLARE_SMELEMENT_HEADER( TOverrideProvision, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TOverrideProvision)
+
+DECLARE_SMELEMENT_HEADER(TSendErrorRecoveryRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER(TSendErrorRecoveryRequest)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPDPCtxCreated, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPDPCtxCreated )
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPrimaryPDPCtxCreated, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPrimaryPDPCtxCreated )
+
+DECLARE_AGGREGATED_TRANSITION2(
+	TOverrideProvisionAndStartDataClient,
+	PDPSCprStates::TOverrideProvision,
+	PRStates::TStartDataClients
+	)
+
+//-=========================================================
+//Activiating context
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TActivatePDPContext, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TActivatePDPContext)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPDPContextActive, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPDPContextActive )
+
+DECLARE_SMELEMENT_HEADER( TModifyActivePDPContext, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TModifyActivePDPContext)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingActivePDPContextModified, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingActivePDPContextModified )
+
+DECLARE_SMELEMENT_HEADER( TGetNegotiatedQoS, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TGetNegotiatedQoS)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingNegotiatedQoSRetrieved, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingNegotiatedQoSRetrieved )
+
+DECLARE_SMELEMENT_HEADER( TSendDataClientStarted, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendDataClientStarted)
+
+DECLARE_SMELEMENT_HEADER( TSendDataClientStopped, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendDataClientStopped)
+
+//===========================================================
+// Primary GoneDown
+//===========================================================
+class CPrimaryPDPGoneDownActivity : public MeshMachine::CNodeActivityBase
+	{
+/*
+*/
+public:
+    static MeshMachine::CNodeActivityBase* NewL(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode);
+	virtual ~CPrimaryPDPGoneDownActivity();
+	CPDPSubConnectionProvider* NewDefault();
+
+protected:
+	CPrimaryPDPGoneDownActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode );
+private:
+    CPDPSubConnectionProvider* iNewDefault;
+	Messages::TNodeId iOriginalDataClient;
+
+protected:
+    typedef MeshMachine::TNodeContext<CPDPSubConnectionProvider, CoreNetStates::TContext> TContext;
+
+public:
+    DECLARE_SMELEMENT_HEADER( TApplyNewDefault, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    	virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TApplyNewDefault)
+
+    DECLARE_SMELEMENT_HEADER( TSwitchToNewDefault, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    	virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TSwitchToNewDefault)
+
+    DECLARE_SMELEMENT_HEADER( TRejoinDataClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    	virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TRejoinDataClient)
+
+	DECLARE_SMELEMENT_HEADER( TStoreOriginalDataClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    	virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TStoreOriginalDataClient)
+
+	DECLARE_SMELEMENT_HEADER( TStopOriginalDataClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    	virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TStopOriginalDataClient)
+
+    DECLARE_SMELEMENT_HEADER( TNoTagOrProviderStopped, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+      	virtual TInt TransitionTag();
+    DECLARE_SMELEMENT_FOOTER( TNoTagOrProviderStopped )
+	};
+
+
+//-=========================================================
+//Setting Params
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TSetQoS, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSetQoS)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingQoSSet, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingQoSSet )
+
+DECLARE_SMELEMENT_HEADER( TSetTFT, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSetTFT)
+
+DECLARE_SMELEMENT_HEADER( TSetMbmsParameters, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSetMbmsParameters)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingTFTSet, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TDefContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingTFTSet )
+
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+DECLARE_AGGREGATED_TRANSITION2(
+	TStoreAndRespondWithCurrentParams,
+	PRStates::TStoreAndRespondWithCurrentParams,
+	PDPSCprStates::TSetMbmsParameters
+	)
+#else
+DECLARE_AGGREGATED_TRANSITION3(
+	TStoreParamsAndRespond,
+	SCprStates::TStoreParams,
+	SCprStates::TRespondWithCurrentParams,
+	PDPSCprStates::TSetMbmsParameters
+	)
+#endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+
+//-=========================================================
+//Events
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TBlockedOrUnblocked, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, PDPSCprStates::TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TBlockedOrUnblocked )
+
+DECLARE_SMELEMENT_HEADER( TMbmsCtxOrPdpCtx, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, PDPSCprStates::TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TMbmsCtxOrPdpCtx )
+
+DECLARE_SMELEMENT_HEADER( TAwaitingParamsChanged, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingParamsChanged )
+
+DECLARE_SMELEMENT_HEADER( TAwaitingContextBlockedOrUnblocked, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingContextBlockedOrUnblocked )
+
+DECLARE_SMELEMENT_HEADER( TForwardContextBlockedOrUnblockedToDC, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TForwardContextBlockedOrUnblockedToDC)
+
+
+DECLARE_SMELEMENT_HEADER( TSendDataTransferTemporarilyBlocked, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+  	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendDataTransferTemporarilyBlocked )
+
+DECLARE_SMELEMENT_HEADER( TSendDataTransferUnblocked, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+    virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendDataTransferUnblocked )
+
+DECLARE_AGGREGATED_TRANSITION2(
+   TRaiseParamsGrantedAndSendDataClientStarted,
+   PDPSCprStates::TFillInGrantedParams,
+   PDPSCprStates::TSendDataClientStarted
+   )
+
+DECLARE_SMELEMENT_HEADER( TParamsEvent, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+    void FillInEventL(CSubConGenEventParamsGranted& aEvent);
+    void FillInGrantedL(RParameterFamily& aFamily, const CSubConGenEventParamsGranted& aEvent);
+    void FillInMbmsSessionIdsL(CSubConGenEventParamsGranted& aEvent);
+DECLARE_SMELEMENT_FOOTER( TParamsEvent)
+
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+DECLARE_AGGREGATED_TRANSITION2(
+   TRaiseParamsGrantedAndSendApplyResponse,
+   PDPSCprStates::TFillInGrantedParams,
+   PRStates::TSendApplyResponse
+   )
+#else
+ DECLARE_AGGREGATED_TRANSITION2(
+    TRaiseParamsGrantedAndSendApplyResponse,
+    PDPSCprStates::TFillInGrantedParams,
+	SCprStates::TSendApplyResponse
+	)
+#endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+
+DECLARE_SMELEMENT_HEADER( TFillInGrantedParams, PDPSCprStates::TParamsEvent, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TFillInGrantedParams)
+
+DECLARE_SMELEMENT_HEADER( TFillInImsExtParams, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TFillInImsExtParams)
+
+DECLARE_SMELEMENT_HEADER( TRaiseParamsRejectedL, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TRaiseParamsRejectedL)
+
+DECLARE_SMELEMENT_HEADER( TRaiseParamsChanged, PDPSCprStates::TParamsEvent, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TRaiseParamsChanged)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingNetworkStatusEvent, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingNetworkStatusEvent )
+
+DECLARE_SMELEMENT_HEADER( TNetworkStatusEventTypeTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNetworkStatusEventTypeTag )
+
+DECLARE_SMELEMENT_HEADER( TSendGoneDown, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendGoneDown)
+
+DECLARE_AGGREGATED_TRANSITION2(
+	TFillInGrantedParamsAndImsExtParams,
+	PDPSCprStates::TFillInGrantedParams,
+	PDPSCprStates::TFillInImsExtParams
+	)
+
+//-=========================================================
+//Destroying context
+//-=========================================================
+DECLARE_SMELEMENT_HEADER( TDestroyPDPContext, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TDestroyPDPContext)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPDPContextDestroyed, PDPSCprStates::TAwaitingPDPFSMMessage, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPDPContextDestroyed )
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPDPContextGoneDown, PDPSCprStates::TAwaitingPDPContextDestroyed, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPDPContextGoneDown )
+
+DECLARE_SMELEMENT_HEADER( TNoTagOrProviderStopped, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext )
+  	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagOrProviderStopped )
+
+
+//===========================================================
+//   Sip Address retrieval
+//===========================================================
+DECLARE_SMELEMENT_HEADER( TAwaitingIoctlMessage, MeshMachine::TState<TContext>, NetStateMachine::MState, PDPSCprStates::TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingIoctlMessage )
+
+DECLARE_SMELEMENT_HEADER( TRetrieveSipAddr, MeshMachine::TStateTransition<TDefContext>, NetStateMachine::MStateTransition, PDPSCprStates::TDefContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TRetrieveSipAddr)
+
+//===========================================================
+//   Cancel Start or Stop
+//===========================================================
+
+DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStopOrCancel, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
+    virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStopOrCancel )
+
+DECLARE_SMELEMENT_HEADER( TCancelDataClientStartInPDP, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, PDPSCprStates::TContext)
+    virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TCancelDataClientStartInPDP )
+
+}
+
+#endif // SYMBIAN_PDPSCPRSTATES_H