diff -r b31261fd4e04 -r ccd8e69b5392 tsrc/mceclientstub/inc/mceoutsession.h --- a/tsrc/mceclientstub/inc/mceoutsession.h Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* 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 CMCEOUTSESSION_H -#define CMCEOUTSESSION_H - -// INCLUDES -#include -#include - -// FORWARD DECLARATIONS -class CSIPProfile; -class CMceMediaStream; -class CMceManager; -class CMceEvent; -class CMceRefer; - -// CLASS DECLARATION - -/** -* Class for mobile originated MCE sessions. -* -* CMceOutSession represents outgoing invitation to remote terminal to join in a session. -* -* The characteristics of the session are defined by user of this class by attaching -* media streams into the session. Theses charactereistics are turned by MCE server into SDP -* and attached into sent invitation request. -* -* After the session has been succesfylly established, it can be later updated and -* must be finally terminated. -* -* If for any reason instance of this class is deleted while in established state, -* session is automatically terminated by MCE server. -* -* @lib mceclient.lib -*/ -class CMceOutSession : public CMceSession - { - - public: // Constructors and destructor - - /** - * Two-phased constructor. Should be used when session - * is established into new logical connection to remote terminal. - * @param aManager, reference to session manager. - * @param aProfile, sip profile used for the session. - * @param aRecipient, recipient of the session invitation. - * @param aOriginator, originator of the session invitation. - */ - IMPORT_C static CMceOutSession* NewL( - CMceManager& aManager, - CSIPProfile& aProfile, - const TDesC8& aRecipient, - HBufC8* aOriginator = 0); - - /** - * Two-phased constructor. Should be used when session is associated - * to existing event. This guarantees that session is established with - * same remote terminal with the event. - * @param aEvent, reference to existing event that is associated - * with this session. - */ - IMPORT_C static CMceOutSession* NewL(CMceEvent& aEvent); - - /** - * Two-phased constructor. Should be used when session is associated - * to existing refer. This guarantees that session is established with - * same remote terminal with the refer. - * @param aRefer, reference to existing refer that is associated - * with this session. - */ - IMPORT_C static CMceOutSession* NewL(CMceRefer& aRefer); - - /** - * Destructor. - */ - IMPORT_C ~CMceOutSession(); - - public: // from CMceSession - - /** - * Adds media stream into session. - * @pre State() == CMceSession::EIdle || - * State() == CMceSession::EIncoming || - * State() == CMceSession::EEstablished - * @pre aMediaStream != 0 - * @param aMediaStream, media stream to be added. - * ownership is transferred. - */ - IMPORT_C void AddStreamL( CMceMediaStream* aMediaStream ); - - public: // Functions - - /** - * Establishes a SIP session with the recipient. - * The streams in the stream array are offered in the - * SDP codec negotiation. - * @pre State() == CMceSession::EIdle - * @post State() == CMceSession::EOffering - * @param aTimeout, the session timer value in seconds - * @param aHeaders, SIP headers to be added. Ownership is - * transferred. - * @param aContentType, content type of the body. - * Ownership is transferred. - * @param aContent, content to be added in body. Ownership is - * transferred. - * @param aContentHeaders, content headers to be added. Ownership is - * transferred. - */ - IMPORT_C void EstablishL( - TUint32 aTimeout = 0, - CDesC8Array* aHeaders = 0, - HBufC8* aContentType = 0, - HBufC8* aContent = 0, - CDesC8Array* aContentHeaders = 0 ); - - /** - * Cancels a previously initialized MO session. - * @pre State() == CMceSession::EOffering - */ - IMPORT_C void CancelL(); - - private://methods - - /** - * C++ default constructor. - * @param aManager, reference to session manager. - * @param aProfileId, id of the sip profile used for the session. - */ - CMceOutSession( CMceManager* aManager, TUint32 aProfileId ); - - /** - * second-phase constructor - * @param aRecipient, the recipient - * @param aOriginator, the originator - */ - void ConstructL( const TDesC8& aRecipient, HBufC8* aOriginator ); - - - private: // Data - - }; - -#endif