multimediacommsengine/tsrc/mccstub/inc/CMCCController_stub.h
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/mccstub/inc/CMCCController_stub.h	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,284 @@
+/*
+* 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 CMccCONTROLLERSTUB_H
+#define CMccCONTROLLERSTUB_H
+
+#include <e32base.h>
+#include <bamdesca.h>
+#include "mceclientserver.h"
+
+class MMccCtrlObserver;
+
+const TInt KMce_MM_MaxArray = 50;
+const TUint32 KMce_MM_LinkIdBase = 500;
+const TUint32 KMce_MM_StreamIdBase = 1;
+const TUint32 KMce_MM_EndpointIdBase = 1;
+
+const TUint32 KNoEndpointId = 0;
+
+class CMccControllerStub : public CBase
+    {
+
+public:
+
+    enum TMMCActionType
+        {
+        ENone = -1,
+        EMccClose,
+        EMccCreateSession,
+        EMccSetRemoteAddress,
+        EMccCloseSession,
+        EMccCreateLink,
+        EMccCloseLink,
+        EMccCreateStream,
+        EMccPrepareStream,
+        EMccInactivityTimerStart,
+        EMccInactivityTimerStop,
+        EMccDeleteStream,
+        EMccStartStream,
+        EMccStopStream,
+        EMccPauseStream,
+        EMccResumeStream,
+        EMccGetCodec,
+        EMccGetFmtpAttr,
+        EMccSetCodec,
+        EMccGetSupportedCodecs,
+        EMccStreamSettings,
+        EMccSetAudioPriority,
+        EMccCancel,
+        EMccSendMediaSignal,
+        EMccSendRtcpRR,
+        EMccSendRtcpSR,
+        EMccSendRtcpData,
+        EMccGetSupportedBitrates,
+        EMccGetSSRC,
+        EMccGetSinkId,
+        EMccGetSourceId,
+        EMccEnableViewFinder,
+        EMccDisableViewFinder,
+        EMccGetCamInfo,
+        EMccGetNumOfCams,
+        EMccSetCamValue1,
+        EMccGetCamValue1,
+        EMccSetCamValue2,
+        EMccGetCamValue2,
+        EMccLinkExists,
+        EMccStreamsExists,
+        EMccUpdateDataSource,
+        EMccUpdateDataSink,
+        EMccEnableDisplay,
+        EMccDisableDisplay,
+        EMccReuse,
+        EMccSetAudioRoute,
+        EMccGetAudioRoute,
+        EMccTranscodeFile, 
+        EMccCancelTranscodeFile,
+        EMccRemoveDataSource,
+        EMccRemoveDataSink
+        };
+
+    class TAction
+        {
+        public:
+            inline TAction()
+                {
+                iAction = ENone;
+                iSessionID = KMceNotAssigned;
+                iLinkID = KMceNotAssigned;
+                iStreamID = KMceNotAssigned;
+                iEndpointID = KMceNotAssigned;
+                iLinkType = KMceNotAssigned;
+                iStreamType = KMceNotAssigned;
+                iPaused = KMceNotAssigned;
+                iEnableRTCP = KMceNotAssigned;
+                iKey = KMceNotAssigned;
+                iParamSet = KMceNotAssigned;
+                iEventType = KMceNotAssigned;
+                };
+                
+        TMMCActionType iAction;
+        TUint32 iSessionID;
+        TUint32 iLinkID;
+        TUint32 iStreamID;
+        TUint32 iEndpointID;
+        TUint32 iLinkType;
+        TUint32 iStreamType;
+        TUint32 iPaused;
+        TUint32 iEnableRTCP;
+        TUint32 iKey;
+        TUint32 iParamSet;
+        TUint32 iEventType;
+        
+        };
+        
+    class TCodecInfo
+        {
+        public:
+            inline TCodecInfo()
+                {
+                iSessionID = KMceNotAssigned;
+                iLinkID = KMceNotAssigned;
+                iStreamID = KMceNotAssigned;
+                }
+                
+        public:
+        TUint32 iFourCC;
+        TUint32 iAlgoUsed;
+        TUint32 iBitrate;
+        TUint32 iCodecMode;
+        TUint32 iEnableDTX;
+        TUint32 iMaxPtime;
+        TUint32 iPtime;
+        TUint32 iPayloadType;
+        TUint32 iRedundantPayload;
+        TUint32 iRedundancyCount;
+        TUint32 iFrameSize;
+        TUint32 iHwFrameTime;
+        TUint32 iBitrateMask;
+        TUint32 iMaxBitrate;
+        TUint32 iAverageBitrate;
+        TUint32 iFramerate;
+        TUint32 iVideoWidth;
+        TUint32 iVideoHeight;
+        TUint32 iJitterBufInactivityTimeOut;
+        TUint32 iJitterBufThreshold;
+        TUint32 iJitterBufBufferLength;
+        TUint32 iJitterBufPlayToneTimeout;
+        TUint32 iJitterBufPlayToneFrequency;
+        TUint32 iJitterBufPlayToneDuration;
+        TUint32 iSessionID;
+        TUint32 iLinkID;
+        TUint32 iStreamID;
+        };
+
+    class TLink
+        {
+        public:
+            inline TLink()
+                {
+                iSessionID = KMceNotAssigned;
+                iLinkID = KMceNotAssigned;
+                iStreams = 0;
+                }
+        TUint32 iSessionID;
+        TUint32 iLinkID;
+        TInt iStreams;
+        };
+        
+public:
+
+    static void OpenL();
+    static void Close();
+    static CMccControllerStub* Stub();
+
+    void Reset( TBool aAll = EFalse );
+    TInt ControllerCalled( TMMCActionType aAction,
+                           TUint32 aSessionID = KMceNotAssigned,
+                           TUint32 aLinkID = KMceNotAssigned,
+                           TUint32 aStreamID= KMceNotAssigned,
+                           TUint32 aEndpointID = KMceNotAssigned,
+                           TUint32 aLinkType = KMceNotAssigned,
+                           TUint32 aStreamType = KMceNotAssigned);
+                           
+    TInt ControllerStreamCtrCalled( TMMCActionType aAction,
+                                    TUint32 aSessionID,
+                                    TUint32 aLinkID,
+                                    TUint32 aStreamID,
+                                    TUint32 aEndpointID,
+                                    TUint32 aPaused = EFalse,
+                                    TUint32 aEnableRTCP = ETrue );
+
+    TInt ControllerStreamSettings(  TUint32 aSessionID,
+                                    TUint32 aLinkID,
+                                    TUint32 aStreamID,
+                                    TUint32 aEndpointID,
+                                    TUint32 aKey,
+                                    TUint32 aSet );
+
+    TInt ControllerSignal(  TUint32 aSessionID,
+                            TUint32 aLinkID,
+                            TUint32 aStreamID,
+                            TUint32 aEndpointID,
+                            TUint32 aSignal,
+                            TUint32 aSet );
+                                    
+    TInt ControllerSignal(  TUint32 aSessionID,
+                            TUint32 aLinkID,
+                            TUint32 aStreamID,
+                            TUint32 aEndpointID,
+                            TUint32 aEventType );
+                                    
+
+    void SetCodec( TCodecInfo aCodecInfo );
+    void GetCodec( TCodecInfo& aCodecInfo );
+
+    void CreateStream( TLink aLink );
+    TLink& GetLink( const TLink& aLink );
+
+    
+    TUint32 NextSessionId();
+    TUint32 NextLinkId();
+    TUint32 NextStreamId();
+    TUint32 NextEndpointId();
+    
+    TBool StreamsExists( TUint32 aSessionId, TUint32 aLinkId );
+    ~CMccControllerStub();
+        
+private:
+
+    CMccControllerStub();
+
+
+public://data
+    
+    TAction iActions[KMce_MM_MaxArray];
+    TInt iActionPtr;
+    
+    
+    TUint32 iSessionID;
+    TUint32 iLinkID;
+    TUint32 iStreamID;
+    TUint32 iEndpointID;
+    
+    TInt iLeaveError;
+    
+    MMccCtrlObserver* iObserver;
+    
+    TBool iRequireSignalling;
+    
+    TUint32 iRefCount;
+    TInt iStreamExists;
+    
+public: //codec data
+
+    TCodecInfo iCodecs[KMce_MM_MaxArray];
+    TLink iLinks[ KMce_MM_MaxArray ];
+    
+    TBool iSetFmtpFailure;
+    
+    };
+
+
+
+#endif //CMccCONTROLLERSTUB_H
+
+// End of File