tsrc/musenginestub/inc/musengoutsessionobserver.h
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
equal deleted inserted replaced
32:73a1feb507fb 33:bc78a40cd63c
    14 * Description: 
    14 * Description: 
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #ifndef MUSENGOUTSESSIONOBSERVER_H
    19 #ifndef MUSHENGOUTSESSIONOBSERVER_H
    20 #define MUSENGOUTSESSIONOBSERVER_H
    20 #define MUSHENGOUTSESSIONOBSERVER_H
    21 
    21 
    22 // INCLUDES
    22 // INCLUDES
    23 #include <badesca.h>
    23 #include "musengsessionobserver.h"
    24 
       
    25 // FORWARD DECLARATIONS
       
    26 class MMusEngAsyncRetryObserver;
       
    27 
    24 
    28 // CLASS DECLARATION
    25 // CLASS DECLARATION
    29 
    26 
    30 /**
    27 /**
    31 * An interface to be implemented by users of Multimedia Sharing Engine if they 
    28 * An interface to be implemented by users of Multimedia Sharing Engine if they 
    32 * wish to receive feedback from outsent INVITE. All the callback functions 
    29 * wish to receive feedback from outsent INVITE. All the callback functions 
    33 * represent an answer from network to sent INVITE.
    30 * represent an answer from network to sent INVITE.
       
    31 *
       
    32 * This observer is set using CMusEngSession::SetSessionObserver function.
       
    33 *
       
    34 * @lib musengine.lib
       
    35 * @since S60 v3.2
    34 */
    36 */
    35 class MMusEngOutSessionObserver
    37 class MMusEngOutSessionObserver : public MMusEngSessionObserver
    36     {
    38     {
    37     public:
    39     public:
    38 
    40 
    39         /**    
       
    40         * Indicates that preconditions for sending invitation cannot be met.
       
    41         */
       
    42         virtual void UnableToSendInvitation() = 0;
       
    43 
       
    44 	    /**    
       
    45         * Indicates that no response received to invitation
       
    46         */
       
    47         virtual void NoResponseReceivedToInvitation() = 0;
       
    48         
       
    49 		/**    
    41 		/**    
    50    		* Indicates that MT has rejected session. ( e.g. 603 DECLINE ).
    42    		* Indicates that MT has rejected session. ( e.g. 603 DECLINE )
       
    43         * @since S60 v3.2
    51 		*/
    44 		*/
    52      	virtual void SessionRejected() = 0;
    45      	virtual void SessionRejected() = 0;
    53     	
    46     	
    54     	/**
    47     	/**
    55     	* The following functions represent a specific reason in answer
    48     	* The following functions represent a specific reason in answer
    56     	* to sent INVITE.
    49     	* to sent INVITE.
       
    50     	* @since S60 v3.2
    57     	*/
    51     	*/
    58     	
    52     	
    59 		virtual void SessionBadRequest() = 0; // 400 
    53 		virtual void SessionBadRequest() = 0; // 400 
    60 		virtual void SessionUnauthorized() = 0; // 401 
    54 		virtual void SessionUnauthorized() = 0; // 401 
    61 		virtual void SessionPaymentRequired() = 0; // 402
    55 		virtual void SessionPaymentRequired() = 0; // 402
    62     	virtual void SessionRecipientNotFound() = 0; // 404 
    56     	virtual void SessionRecipientNotFound() = 0; // 404 
    63 		virtual void SessionProxyAuthenticationRequired() = 0; // 407
    57 		virtual void SessionProxyAuthenticationRequired() = 0; // 407
    64 		virtual void SessionRequestTimeOut() = 0; // 408
    58 		virtual void SessionRequestTimeOut() = 0; // 408
    65 		virtual void SessionUnsupportedMediaType() = 0; // 415
    59 		virtual void SessionUnsupportedMediaType() = 0; // 415 
    66 		virtual void SessionBusyHere() = 0; // 486
       
    67 		virtual void SessionRequestCancelled() = 0; // 487    	
    60 		virtual void SessionRequestCancelled() = 0; // 487    	
    68   	    virtual void SessionTemporarilyNotAvailable() = 0; // 480
    61 
    69   	          
    62   	
    70   	    /**
       
    71   	    * Indicates possibility to retry session. Recipient proposal is given
       
    72   	    * but implementation can query user for new recipient address.
       
    73   	    * Retry address should be filled to aRetryAddress on return.
       
    74   	    * @return ETrue if retry should be made
       
    75   	    */
       
    76   	    virtual TBool RetrySessionSync( const TDesC& aRecipientProposal,
       
    77                                         TDes& aRetryAddress ) = 0;
       
    78   	    
       
    79   	    /**
       
    80   	    * Indicates that retry with given address is proceeding.
       
    81   	    */
       
    82   	    virtual void RetryProceeding() = 0;
       
    83   	    
       
    84   	    /**
       
    85   	    * Indicates that there's multiple suitable recipient addresses.
       
    86   	    * Client can choose what to use.
       
    87   	    * @param aAddressArray, list of suitable recipient addresses
       
    88   	    * @param aRecipientAddress, on return should contain recipient
       
    89   	    *    address to be used
       
    90   	    * @return ETrue if recipient was selected, otherwise EFalse
       
    91   	    */
       
    92   	    virtual TBool SelectRecipientL( CDesCArray& aAddressArray, 
       
    93                                         TDes& aRecipientAddress ) = 0;
       
    94     };
    63     };
    95 
    64 
    96 #endif
    65 #endif