--- /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 <e32base.h>
+#include <badesca.h>
+#include <MCESession.h>
+#include <MCEEvent.h>
+#include <MCERefer.h>
+#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__