diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/MMCTestDriver/MCETester/inc/CTcMCEReceived.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/MMCTestDriver/MCETester/inc/CTcMCEReceived.h Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,271 @@ +/* +* 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: See class definition below. +* +*/ + + + +#ifndef __CTcMCEReceived_H__ +#define __CTcMCEReceived_H__ + +// INCLUDES +#include +#include +#include +#include +#include +#include "MCEConstants.h" +#include "MCEMediaStream.h" +// FORWARD DECLARATIONS +class CMceSession; +class CMceInSession; +class CMceEvent; +class CMceInEvent; +class CMceRefer; +class CMceInRefer; +class CMceMediaStream; +class CMceMediaSource; +class CMceMediaSink; +class CMceRtpSource; +class TMceTransactionDataContainer; + +// CLASS DEFINITION +/** + * CTcMCEReceived implements a container class for MCE notification messages. + * Objects of this class are created and stored in MMCEManagerObserver, + * MMceSessionObserver, MMceStreamObserver, MMceRtpObserver, MMceFcMsgObserver, + * MMceEventObserver, MMceReferObserver and MMCESubscribeObserver observer + * functions. + */ +class CTcMCEReceived: public CBase + { + public: // Constructors and destructor + + /// Default constructor + CTcMCEReceived(); + + /// Destructor + ~CTcMCEReceived(); + + public: // New methods + + + void SetSession( const CMceSession* aSession ); + inline const CMceSession* Session() const + { return iSession; } + + void SetMediaStream( const CMceMediaStream* aMediaStream ); + inline const CMceMediaStream* MediaStream() const + { return iMediaStream; } + + void SetMediaSource( const CMceMediaSource* aMediaSource ); + inline const CMceMediaSource* MediaSource() const + { return iMediaSource; } + + void SetMediaSink( const CMceMediaSink* aMediaSink ); + inline const CMceMediaSink* MediaSink() const + { return iMediaSink; } + + void SetRtpSource( const CMceRtpSource* aRtpSource ); + inline const CMceRtpSource* RtpSource() const + { return iRtpSource; } + + void SetInSession( CMceInSession* aInSession ); + inline CMceInSession* InSession() + {return iInSession;}; + void SetIncomingUpdateSession(CMceSession& aOrigSession, + CMceInSession* aInSession ); + + void SetHeaders( CDesC8Array* aHeaders ); + inline const CDesC8Array* Headers() const + {return iHeaders;}; + + void SetContentType( HBufC8* aContentType ); + inline const HBufC8* ContentType() const + {return iContentType;}; + + + void SetBody( HBufC8* aBody); + inline const HBufC8* Body() const + {return iBody;}; + + + void SetStatusCode( TInt32 aStatusCode ); + inline TInt StatusCode() const + {return iStatusCode;}; + + + void SetReasonPhrase( HBufC8* aReasonPhrase); + inline const HBufC8* ReasonPhrase() const + {return iReasonPhrase;}; + + + void SetFCMessage( HBufC8* aFCMessage); + inline const HBufC8* FCMessage() const + {return iFCMessage;}; + + + void SetEvent( const CMceEvent* aEvent ); + inline const CMceEvent* Event() const + {return iEvent;}; + + + void SetInEvent( CMceInEvent* aInEvent ); + inline const CMceInEvent* InEvent() const + {return iInEvent;}; + + + void SetRefer( CMceRefer* aRefer ); + inline const CMceRefer* Refer() const + {return iRefer;}; + + + void SetInRefer( CMceInRefer* aInRefer ); + inline const CMceInRefer* InRefer() const + {return iInRefer;}; + + + void SetReferTo( const TDesC8& aReferTo ); + inline const TDesC8& ReferTo() + {return iReferTo;}; + + void SetSessionState( CMceSession::TState aState ); + inline const CMceSession::TState SessionState() + {return iSessionState;}; + + void SetEventState( CMceEvent::TState aState ); + inline const CMceEvent::TState EventState() + {return iEventState;}; + + + void SetReferState(CMceRefer::TState aState ); + inline const CMceRefer::TState ReferState() + {return iReferState;}; + + void SetStreamState(CMceMediaStream::TState aState ); + inline const CMceMediaStream::TState StreamState() + {return iStreamState;}; + + + /** + * Set error code + * + * @param aError System-wide or SIP specific error code + */ + + void SetError( TInt aError ); + inline TInt Error() + {return iError;}; + + /** + * Set type or received callback + */ + inline void SetType(TTcMceCallbackType aCallbackType) + {iCallbackType = aCallbackType;} + + inline TTcMceCallbackType Type() + {return iCallbackType;} + + void SetMethodL( const TDesC8& aMethod ); + inline const HBufC8* Method() const + { + return iMethod; + } + + void SetTransactionId( TMceTransactionId aTransactionId ); + inline const TMceTransactionId TransactionId() const + { + return iTransactionId; + } + + public: // helper function + + void SetTransactionData( TMceTransactionDataContainer* aContainer ); + + private: // Owned data + + /// MCE Incoming session pointer. Owned. + CMceInSession* iInSession; + + /// Headers of statechanged or incoming session. Owned. + CDesC8Array* iHeaders; + + /// Content type of incoming session. Owned. + HBufC8* iContentType; + + /// Body of statechanged or incoming session. Owned. + HBufC8* iBody; + + /// Reasonphrase of statechanged session. Owned. + HBufC8* iReasonPhrase; + + /// Floor control message. Owned. + HBufC8* iFCMessage; + + /// Incoming event pointer. Owned. + CMceInEvent* iInEvent; + + /// Incoming refer pointer. Owned. + CMceInRefer* iInRefer; + + /// Method of incoming SIP request. Owned. + HBufC8* iMethod; + + private: // Referenced data + + /// MCE Session pointer. Not owned. + const CMceSession* iSession; + + /// MCE Media Stream. Not owned. + const CMceMediaStream* iMediaStream; // Still missing from GetMessage + + /// MCE Media Source. Not owned. + const CMceMediaSource* iMediaSource; // Still missing from GetMessage + + /// MCE Media sink. Not owned. + const CMceMediaSink* iMediaSink; // Still missing from GetMessage + + /// MCE Rtp Source. Not owned. + const CMceRtpSource* iRtpSource; // Still missing from GetMessage + + /// Status code of the statechanged session. + TInt32 iStatusCode; + + /// Event pointer. Not owned. + const CMceEvent* iEvent; + + /// Refer pointer. Not owned. + const CMceRefer* iRefer; + + /// Refer-to-header + TDesC8 iReferTo; + + /// System-wide or SIP specific error code + TInt iError; + + // Type of the received callback + TTcMceCallbackType iCallbackType; + + // Transaction Id of the received SIP message + TMceTransactionId iTransactionId; + + CMceSession::TState iSessionState; + CMceEvent::TState iEventState; + CMceRefer::TState iReferState; + CMceMediaStream::TState iStreamState; + + }; + +#endif // __CTcMCEReceived_H__