--- 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