networkcontrol/iptransportlayer/inc/netmcprstates.h
changeset 0 af10295192d8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/iptransportlayer/inc/netmcprstates.h	Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,151 @@
+/**
+* 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:
+* THIS API IS INTERNAL TO NETWORKING AND IS SUBJECT TO CHANGE AND NOT FOR EXTERNAL USE
+* 
+*
+*/
+
+
+
+/**
+ @file netmcprstates.h
+ @internalTechnology
+ @prototype
+*/
+
+#ifndef SYMBIAN_NETMCPRSTATES_H
+#define SYMBIAN_NETMCPRSTATES_H
+
+#define SYMBIAN_NETWORKING_UPS
+
+#include <comms-infras/mobilitymcprstates.h>
+#include "netmcpr.h"
+
+class CNetworkMetaConnectionProvider;
+#ifdef SYMBIAN_NETWORKING_UPS
+#include <comms-infras/upsmessages.h>
+class CUpsNetworkMetaConnectionProvider;
+#endif
+
+namespace NetMCprStates
+{
+typedef MeshMachine::TNodeContext<CNetworkMetaConnectionProvider, MobilityMCprStates::TContext> TContext;
+
+DECLARE_SMELEMENT_HEADER( TAwaitingPolicyParams, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext)
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingPolicyParams)
+
+#ifdef SYMBIAN_NETWORKING_UPS
+DECLARE_SMELEMENT_HEADER( TAwaitingUPSStatusChange, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingUPSStatusChange )
+#endif
+
+#ifdef DUMMY_MOBILITY_MCPR
+
+const TInt KMigrationRejected = 1;
+const TInt KMigrationAccepted = 2;
+const TInt KMigrationRequested = 3;
+
+typedef CoreStates::TAwaitingMessageState<ESock::TCFMessage::TMigrationAvailable> TDummyAwaitingMigrationAvailable;
+
+DECLARE_SMELEMENT_HEADER( TAwaitingMigrationRejectedOrMigrationAccepted, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext)
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingMigrationRejectedOrMigrationAccepted)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingMigrationRequestedOrMigrationRejected, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext)
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingMigrationRequestedOrMigrationRejected)
+
+DECLARE_SMELEMENT_HEADER( TMigrationRequestedOrMigrationRejected, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext)
+	virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TMigrationRequestedOrMigrationRejected)
+
+DECLARE_SMELEMENT_HEADER( TSendMigrationAvailable, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendMigrationAvailable)
+
+DECLARE_SMELEMENT_HEADER( TSendMigrateToAccessPoint, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendMigrateToAccessPoint)
+
+#endif
+
+#ifdef SYMBIAN_NETWORKING_UPS
+
+//
+// Support for User Prompt Service
+//
+// These tuple classes were added for UPS support but are not in themselves UPS specific.
+
+// States
+
+DECLARE_SMELEMENT_HEADER( TAwaitingNoBearerNotFromSelf, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext)
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingNoBearerNotFromSelf)
+
+DECLARE_SMELEMENT_HEADER( TAwaitingBindToCompleteOrCancel, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext)
+	virtual TBool Accept();
+DECLARE_SMELEMENT_FOOTER( TAwaitingBindToCompleteOrCancel)
+
+// Transitions
+
+DECLARE_SMELEMENT_HEADER( TSendNoBearerToSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TSendNoBearerToSelf)
+
+#endif // SYMBIAN_NETWORKING_UPS
+
+DECLARE_SMELEMENT_HEADER( TProcessPolicyParams, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TProcessPolicyParams)
+	
+//-=========================================================
+//
+//Network Meta Connection Provider Transition Ids 11000..20000
+//
+//-=========================================================
+
+//const TInt KAwaitAvailabilityNotification = 11000;
+//const TInt KProcessAvailabilityNotification = 11001;
+
+} // namespace NetMCprStates
+
+#ifdef SYMBIAN_NETWORKING_UPS
+
+namespace NetMCprUpsStates
+/**
+Support for UPS
+
+These states are dependent on CUpsNetworkMetaConnectionProvider.
+*/
+{
+typedef MeshMachine::TNodeContext<CUpsNetworkMetaConnectionProvider, MobilityMCprStates::TContext> TContext;
+
+DECLARE_SMELEMENT_HEADER( TUpsProcessProviderStatusChange, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TUpsProcessProviderStatusChange)
+
+#ifdef SYMBIAN_NETWORKING_UPS
+DECLARE_SMELEMENT_HEADER( TProcessUpsStatusChange, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+	virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TProcessUpsStatusChange)
+#endif
+
+} //NetMCprUpsStates
+
+#endif //SYMBIAN_NETWORKING_UPS
+
+#endif //SYMBIAN_NETMCPRSTATES_H