bearermanagement/S60MCPR/inc/s60mcpractivities.h
changeset 18 fcbbe021d614
parent 2 086aae6fc07e
child 23 7ec726f93df1
--- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Tue Feb 02 00:24:11 2010 +0200
+++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Fri Apr 16 15:21:37 2010 +0300
@@ -560,12 +560,12 @@
     /**
      * FORK/DECISION: Decides if needs cancel or not.
      */
-    DECLARE_SMELEMENT_HEADER( TInformMigrationAvailableOrCancelTag, 
+    DECLARE_SMELEMENT_HEADER( TInformMigrationAvailableOrErrorOrCancelTag, 
                               MeshMachine::TStateFork<TContext>, 
                               NetStateMachine::MStateFork, 
                               TContext )
     virtual TInt TransitionTag();
-    DECLARE_SMELEMENT_FOOTER( TInformMigrationAvailableOrCancelTag )
+    DECLARE_SMELEMENT_FOOTER( TInformMigrationAvailableOrErrorOrCancelTag )
 
     /**
      * FORK/DECISION: Decides what happens after IPCPR application completes the 
@@ -601,7 +601,7 @@
      * 1. Continue with handshake to select new AP for MCPR.
      * 2. Return back to migration-phase with new preferred IAP.
      * 3. Close down the system in case of mobilityerror.
-     * @return  //TODO Cancel from IPCPR.
+     * @return
      */
     DECLARE_SMELEMENT_HEADER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel, 
                               MeshMachine::TStateFork<TContext>, 
@@ -611,6 +611,21 @@
     DECLARE_SMELEMENT_FOOTER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel )
 
     /**
+     * FORK/DECISION: 
+     * 1. Inform that the migration complete or go to error
+     * 2. Error
+     * @return
+     */
+    DECLARE_SMELEMENT_HEADER( TInformMigrationCompletedOrError, 
+                              MeshMachine::TStateFork<TContext>, 
+                              NetStateMachine::MStateFork, 
+                              TContext )
+    virtual TInt TransitionTag();
+    DECLARE_SMELEMENT_FOOTER( TInformMigrationCompletedOrError )
+
+        
+    
+    /**
      * Class that is responsible for managing mobility on MCPR side.
      * CS60MobilityActivity is the S60 version of the CMobilityActivity -class
      */
@@ -767,12 +782,12 @@
              * STATE: Waits for preferred carrier message.
              * @return ETrue if preferred carrier notification is received.
              */
-            DECLARE_SMELEMENT_HEADER( TAwaitingPreferredCarrierOrCancelOrRejected, 
+            DECLARE_SMELEMENT_HEADER( TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification, 
                                       MeshMachine::TState<TContext>, 
                                       NetStateMachine::MState, 
                                       CS60MobilityActivity::TContext)
             virtual TBool Accept();
-            DECLARE_SMELEMENT_FOOTER( TAwaitingPreferredCarrierOrCancelOrRejected )
+            DECLARE_SMELEMENT_FOOTER( TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification )
             
             /**
              * FORK/DECISION: Decides what happens after IPCPR responds to migration offer.
@@ -789,6 +804,21 @@
             DECLARE_SMELEMENT_FOOTER( TNoTagOrApplicationRejectedMigrationOrCancel )
 
             /**
+             * FORK/DECISION: 
+             * 1. Proceed to reconnection
+             * 2. Re-establish connection to the same IAP, inform data client that migration is complete
+             * 3. Error
+             * @return
+             */
+            DECLARE_SMELEMENT_HEADER( TNoTagOrRequestReConnectToCurrentSPOrErrorTag, 
+                                      MeshMachine::TStateFork<TContext>, 
+                                      NetStateMachine::MStateFork, 
+                                      TContext )
+            virtual TInt TransitionTag();
+            DECLARE_SMELEMENT_FOOTER( TNoTagOrRequestReConnectToCurrentSPOrErrorTag )
+            
+            
+            /**
              * Mutex protected TRANSITION.
              * Mopility scenario should wait until the connection recovery finishes.
              */
@@ -820,16 +850,6 @@
 
         private: // Member variables.
             
-            /**
-             * Pointer to IPProtocoMCPR which is currently active 
-             */
-            ESock::RMetaServiceProviderInterface* iCurrent;
-
-            /**
-             * Pointer to IPProtocoMCPR which is about to become the active. 
-             */
-            ESock::RMetaServiceProviderInterface* iPreferred;
-
             TUint iCurrentAssumedAPId;  // Current IAP Id
             TUint iPreferredAPId;       // New IAP Id system should roam to.
             TBool iIsUpgrade;           // If the active iPreferredAPId is upgrade to old one.