tsrc/musenginestub/inc/musengoutsessionobserver.h
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
--- a/tsrc/musenginestub/inc/musengoutsessionobserver.h	Thu Aug 19 09:51:39 2010 +0300
+++ b/tsrc/musenginestub/inc/musengoutsessionobserver.h	Tue Aug 31 15:12:07 2010 +0300
@@ -16,11 +16,14 @@
 */
 
 
-#ifndef MUSHENGOUTSESSIONOBSERVER_H
-#define MUSHENGOUTSESSIONOBSERVER_H
+#ifndef MUSENGOUTSESSIONOBSERVER_H
+#define MUSENGOUTSESSIONOBSERVER_H
 
 // INCLUDES
-#include "musengsessionobserver.h"
+#include <badesca.h>
+
+// FORWARD DECLARATIONS
+class MMusEngAsyncRetryObserver;
 
 // CLASS DECLARATION
 
@@ -28,26 +31,29 @@
 * An interface to be implemented by users of Multimedia Sharing Engine if they 
 * wish to receive feedback from outsent INVITE. All the callback functions 
 * represent an answer from network to sent INVITE.
-*
-* This observer is set using CMusEngSession::SetSessionObserver function.
-*
-* @lib musengine.lib
-* @since S60 v3.2
 */
-class MMusEngOutSessionObserver : public MMusEngSessionObserver
+class MMusEngOutSessionObserver
     {
     public:
 
+        /**    
+        * Indicates that preconditions for sending invitation cannot be met.
+        */
+        virtual void UnableToSendInvitation() = 0;
+
+	    /**    
+        * Indicates that no response received to invitation
+        */
+        virtual void NoResponseReceivedToInvitation() = 0;
+        
 		/**    
-   		* Indicates that MT has rejected session. ( e.g. 603 DECLINE )
-        * @since S60 v3.2
+   		* Indicates that MT has rejected session. ( e.g. 603 DECLINE ).
 		*/
      	virtual void SessionRejected() = 0;
     	
     	/**
     	* The following functions represent a specific reason in answer
     	* to sent INVITE.
-    	* @since S60 v3.2
     	*/
     	
 		virtual void SessionBadRequest() = 0; // 400 
@@ -56,10 +62,35 @@
     	virtual void SessionRecipientNotFound() = 0; // 404 
 		virtual void SessionProxyAuthenticationRequired() = 0; // 407
 		virtual void SessionRequestTimeOut() = 0; // 408
-		virtual void SessionUnsupportedMediaType() = 0; // 415 
+		virtual void SessionUnsupportedMediaType() = 0; // 415
+		virtual void SessionBusyHere() = 0; // 486
 		virtual void SessionRequestCancelled() = 0; // 487    	
-
-  	
+  	    virtual void SessionTemporarilyNotAvailable() = 0; // 480
+  	          
+  	    /**
+  	    * Indicates possibility to retry session. Recipient proposal is given
+  	    * but implementation can query user for new recipient address.
+  	    * Retry address should be filled to aRetryAddress on return.
+  	    * @return ETrue if retry should be made
+  	    */
+  	    virtual TBool RetrySessionSync( const TDesC& aRecipientProposal,
+                                        TDes& aRetryAddress ) = 0;
+  	    
+  	    /**
+  	    * Indicates that retry with given address is proceeding.
+  	    */
+  	    virtual void RetryProceeding() = 0;
+  	    
+  	    /**
+  	    * Indicates that there's multiple suitable recipient addresses.
+  	    * Client can choose what to use.
+  	    * @param aAddressArray, list of suitable recipient addresses
+  	    * @param aRecipientAddress, on return should contain recipient
+  	    *    address to be used
+  	    * @return ETrue if recipient was selected, otherwise EFalse
+  	    */
+  	    virtual TBool SelectRecipientL( CDesCArray& aAddressArray, 
+                                        TDes& aRecipientAddress ) = 0;
     };
 
-#endif
\ No newline at end of file
+#endif