diff -r 000000000000 -r f0cf47e981f9 tsrc/musenginestub/inc/musengmceoutsession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/musenginestub/inc/musengmceoutsession.h Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,193 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef MUSHENGMCEOUTSESSION_H +#define MUSHENGMCEOUTSESSION_H + +// USER +#include "musengmcesession.h" + + +// FORWARD DECLARATIONS +class CSIPProfile; +class CMusSipProfileHandler; +class MMusEngOutSessionObserver; + +// CLASS DECLARATION +/** +* Class for handling MCE out sessions. Direct inherit classes are +* CMusEngLiveSession and CMusEngClipSession. +* +* @lib musengine.lib +* @since S60 v3.2 +*/ +class CMusEngMceOutSession : public CMusEngMceSession + { + + public: + + /** + * Destructor + * + * @since S60 v3.2 + */ + ~CMusEngMceOutSession(); + + + public: // NEW API FUNCTIONS + + /** + * Sends invite to specified address + * @leave KErrAlreadyExists if session establishment is already + * in progress + * + * @since S60 v3.2 + */ + IMPORT_C void InviteL( const TDesC& aRecipient ); + + /** + * Cancels Invite. + * @pre Invite is sent. + * @since S60 v3.2 + */ + IMPORT_C void CancelInviteL( ); + + + public: // VIRTUAL API + + /** + * Resumes previously paused session. Exact behavior depends on + * exact session type. + * + * @since S60 v3.2 + */ + IMPORT_C virtual void PlayL() = 0; + + /** + * Pauses session. Exact behavior depends on exact session type. + * + * @since S60 v3.2 + */ + IMPORT_C virtual void PauseL() = 0; + + + protected: // Must be implemented in derived class + + /** + * + * @since S60 v3.2 + */ + virtual void CompleteSessionStructureL() = 0; + + + protected: // helper function inherited from CMusEngMceSession + + /** + * Function handling MCE session termination. + * + * @since S60 v3.2 + */ + //void HandleTermination( TMceTransactionDataContainer* aContainer ); + + + protected: + + /** + * Constructor + * + * @since S60 v3.2 + */ + CMusEngMceOutSession( const TRect& aRect, TUint aSipProfileId = 0 ); + + /** + * Second-phase constructor + * + * @since S60 v3.2 + */ + void ConstructL(); + + + protected: // HELPERS + + #if (defined (__WINS__) || defined(__WINSCW__)) + /** + * + * @since S60 v3.2 + */ + void SipProfileChanged(); + #endif + + + private: + + /** + * + * @since S60 v3.2 + */ + void CreateMceSessionStructureL(); + + /** + * + * @since S60 v3.2 + */ + MMusEngOutSessionObserver* OutSessionObserver(); + + /** + * Parses, validates and creates new recipient address + * out of given address. + * @return Parsed recipient URI. Ownership is transferred. + * @since S60 v3.2 + */ + HBufC8* ParseRecipientUriL( const TDesC& aRecipient ); + + + protected: // DATA + + /** + * Repository id of SipProfile + * + * @since S60 v3.2 + */ + TUint iSipProfileId; + + /** + * Owned by iSipProfileHandler + * + * @since S60 v3.2 + */ + //CSIPProfile* iSipProfile; + + /** + * Callback pointer to interface + * + * @since S60 v3.2 + */ + //CMusSipProfileHandler* iSipProfileHandler; + + + public: // DATA + + /** + * + * @since S60 v3.2 + */ + HBufC8* iRecipient; + TBool iInvited; + + }; +#endif //MUSHENGMCESESSION_H