diff -r 33a5d2bbf6fc -r 73a1feb507fb tsrc/musenginestub/inc/musengoutsessionobserver.h --- 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 + +// 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