mmsharing/mmshavailability/inc/musavaoptionhandler.h
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
--- a/mmsharing/mmshavailability/inc/musavaoptionhandler.h	Thu Aug 19 09:51:39 2010 +0300
+++ b/mmsharing/mmshavailability/inc/musavaoptionhandler.h	Tue Aug 31 15:12:07 2010 +0300
@@ -124,6 +124,11 @@
      */
     virtual MMusAvaObserver::TAvailabilityName Name();
     
+    /**
+    * Invitation has been received.
+    */  
+    virtual void PrepareForReceivedInviteL();
+    
 
 public: // functions from base class MMusAvaCapabilityQueryObserver
 
@@ -158,9 +163,45 @@
      */
     void VideoCodecsResolvedL( const MDesCArray& aVideoCodecs );
 
-
     TBool CapabilityQueryAnswered( TBool aAnswered );
 
+    void FastModeResolved( MusSettingsKeys::TFastMode aMode );
+
+private:
+    
+    /**
+    * Change state.
+    * @param aNewState, proposed new state
+    * @return KErrNone if successfull
+    */
+    TInt DoSetState( MMusAvaObserver::TAvailabilityStatus aNewState );
+    
+    /**
+    * Handle state change in fast mode, state change may be modified
+    * based on fast mode session setup progress.
+    * @param aNewState, proposed new state
+    * @param aCouldNotProceed, ETrue if state change occured because
+    *       couldn't proceed (e.g. missing information)
+    * @return new state to set
+    */
+    MMusAvaObserver::TAvailabilityStatus HandleFastModeL( 
+        MMusAvaObserver::TAvailabilityStatus aNewState );
+    
+    MMusAvaObserver::TAvailabilityStatus HandleFastModeAvailableL(
+        MMusAvaObserver::TAvailabilityStatus aNewState );
+    
+    MMusAvaObserver::TAvailabilityStatus HandleFastModeOptionsNotSentL(
+        MMusAvaObserver::TAvailabilityStatus aNewState );
+    
+    MMusAvaObserver::TAvailabilityStatus HandleFastModeOptionNotAvailableL(
+        MMusAvaObserver::TAvailabilityStatus aNewState );
+    
+    void HandleFastModeQueryAnswered();
+    
+    TBool FastModeNegotiatedByAnswerMT();
+    
+    TBool FastModeNegotiationFailedMO();
+    
 private:
 
     /**
@@ -179,6 +220,9 @@
     TBool                       iCapabilitiesRequestAnswered;
     TBool                       iCapabilityQueryAnswered;
     
+    TBool                       iFastModeCapable;
+    TBool                       iFastModeAvailabilityDelayed;
+    
     MUS_UNITTEST ( UT_CMusAvaOptionHandler )
     MUS_UNITTEST ( UT_CMusAvaCapabilityExchange )
     MUS_UNITTEST ( UT_CMusAvaCapability )
@@ -187,4 +231,4 @@
     MUS_UNITTEST ( UT_CMusAvaCapabilityQuery )
     };
 
-#endif // __MUSAVAOPTIONHANDLER_H__
\ No newline at end of file
+#endif // __MUSAVAOPTIONHANDLER_H__