diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/mmshavailability/inc/musavaoptionhandler.h --- 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__