Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

tsc_h324m_config_interface.h

Go to the documentation of this file.
00001 #ifndef TSC_H324M_CONFIG_INTERFACE_H_INCLUDED
00002 #define TSC_H324M_CONFIG_INTERFACE_H_INCLUDED
00003 
00004 #ifndef OSCL_BASE_H_INCLUDED
00005 #include "oscl_base.h"
00006 #endif
00007 
00008 #ifndef PVT_COMMON_H_INCLUDED
00009 #include "pvt_common.h"
00010 #endif
00011 
00012 #ifndef PV_UUID_H_INCLUDED
00013 #include "pv_uuid.h"
00014 #endif
00015 
00016 #ifndef PVMF_NODE_INTERFACE_H_INCLUDED
00017 #include "pvmf_node_interface.h"
00018 #endif
00019 
00020 #define PVH324MConfigUuid PVUuid(0x2b0b54e2,0x7079,0x46c6,0xb2,0x3e,0x04,0xff,0xd3,0x0e,0x14,0x36)
00021 
00022 //----f6b47190-f88d-4cbf-a6f6-c61efe98053f
00023 // UUID for the extension interface
00024 #define PVUuidH324ComponentInterface  PVUuid(0xf6b47190,0xf88d,0x4cbf,0xa6,0xf6,0xc6,0x1e,0xfe,0x98,0x05,0x3f)
00025 
00026 
00027 typedef uint32 H324MConfigInformationalEvent;
00028 typedef uint32 H324MConfigStatusResponse;
00029 
00030 class PVMFComponentInterface: public PVInterface
00031 {
00032     public:
00033         PVMFComponentInterface()
00034         {
00035             iReferenceCount = 1;
00036         }
00037         // get, set functions, etc
00039         // PVInterface virtuals
00041         void addRef()
00042         {
00043             iReferenceCount++;
00044         }
00045         void removeRef()
00046         {
00047             if (--iReferenceCount <= 0)
00048             {
00049                 OSCL_DELETE(this);
00050             }
00051         }
00052     protected:
00053         int32 iReferenceCount;
00054 };
00055 
00056 class H324MConfigObserver
00057 {
00058     public:
00059         virtual ~H324MConfigObserver() {}
00060         virtual void H324MConfigCommandCompletedL(PVMFCmdResp& aResponse) = 0;
00061         virtual void H324MConfigHandleInformationalEventL(PVMFAsyncEvent& aNotification) = 0;
00062 };
00063 
00064 
00065 class H324MConfigInterface : public PVInterface
00066 {
00067     public:
00074         virtual void SetObserver(H324MConfigObserver* aObserver) = 0;
00075 
00087         virtual PVMFCommandId SetMultiplexLevel(TPVH223Level aLevel,
00088                                                 OsclAny* aContextData = NULL) = 0;
00089 
00103         virtual PVMFCommandId SetMaxSduSize(TPVAdaptationLayer aLayer, int32 aSize,
00104                                             OsclAny* aContextData = NULL) = 0;
00119         virtual PVMFCommandId SetMaxSduSizeR(TPVAdaptationLayer aLayer,
00120                                              int32 aSize, OsclAny* aContextData = NULL) = 0;
00121 
00138         virtual PVMFCommandId SetCodecPreference(Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aIncomingAudio,
00139                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aIncomingVideo,
00140                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aOutGoingAudio,
00141                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aOutGoingVideo,
00142                 OsclAny* aContextData = NULL) = 0;
00143 
00155         virtual PVMFCommandId SetAl2SequenceNumbers(int32 aSeqNumWidth,
00156                 OsclAny* aContextData = NULL) = 0;
00168         virtual PVMFCommandId SetAl3ControlFieldOctets(int32 aCfo,
00169                 OsclAny* aContextData = NULL) = 0;
00170 
00181         virtual PVMFCommandId SetMaxPduSize(int32 aMaxPduSize,
00182                                             OsclAny* aContextData = NULL) = 0;
00183 
00193         virtual PVMFCommandId SetTerminalType(uint8 aTerminalType,
00194                                               OsclAny* aContextData = NULL) = 0;
00207         virtual PVMFCommandId SetALConfiguration(TPVMediaType_t aMediaType,
00208                 TPVAdaptationLayer aLayer,
00209                 bool aAllow,
00210                 bool aUse = true,
00211                 OsclAny* aContextData = NULL) = 0;
00212 
00221         virtual PVMFCommandId SendRme(OsclAny* aContextData = NULL) = 0;
00222 
00232         virtual PVMFCommandId SetMaxMuxPduSize(int32 aRequestMaxMuxPduSize,
00233                                                OsclAny* aContextData = NULL) = 0;
00234 
00243         virtual PVMFCommandId SetMaxMuxCcsrlSduSize(int32 aMaxCcsrlSduSize,
00244                 OsclAny* aContextData = NULL) = 0;
00245 
00256         virtual PVMFCommandId FastUpdate(PVMFNodeInterface& aTrack,
00257                                          OsclAny* aContextData = NULL) = 0;
00258 
00268         virtual PVMFCommandId SendRtd(OsclAny* aContextData = NULL) = 0;
00269 
00288         virtual PVMFCommandId SetVendor(uint8 cc, uint8 ext, uint32 mc,
00289                                         const uint8* aProduct, uint16 aProductLen,
00290                                         const uint8* aVersion, uint16 aVersionLen,
00291                                         OsclAny* aContextData = NULL) = 0;
00292 
00300         virtual PVMFCommandId SendEndSession(OsclAny* aContextData = NULL) = 0;
00301 
00310         virtual PVMFCommandId SetEndSessionTimeout(uint32 aTimeout,
00311                 OsclAny* aContextData = NULL) = 0;
00312 
00343         virtual PVMFCommandId SetTimerCounter(TPVH324TimerCounter aTimerCounter,
00344                                               uint8 aSeries, uint32 aSeriesOffset,
00345                                               uint32 aValue,
00346                                               OsclAny* aContextData = NULL) = 0;
00347 
00358         virtual PVMFCommandId SetVideoResolutions(TPVDirection aDirection,
00359                 Oscl_Vector<PVMFVideoResolutionRange, OsclMemAllocator>& aResolutions,
00360                 OsclAny* aContextData = NULL) = 0;
00361 
00368         virtual PVMFCommandId SendVendorId(OsclAny* aContextData = NULL) = 0;
00369 
00378         virtual PVMFCommandId SendVideoTemporalSpatialTradeoffCommand(TPVChannelId aLogicalChannel,
00379                 uint8 aTradeoff,
00380                 OsclAny* aContextData = NULL) = 0;
00381 
00391         virtual PVMFCommandId SendVideoTemporalSpatialTradeoffIndication(TPVChannelId aLogicalChannel,
00392                 uint8 aTradeoff, OsclAny* aContextData = NULL) = 0;
00393 
00400         virtual PVMFCommandId SendSkewIndication(TPVChannelId aLogicalChannel1, TPVChannelId aLogicalChannel2,
00401                 uint16 aSkew, OsclAny* aContextData = NULL) = 0;
00402 
00403 
00414         virtual PVMFCommandId
00415         SetLogicalChannelBufferingMs(uint32 aInBufferingMs,
00416                                      uint32 aOutBufferingMs,
00417                                      OsclAny* aContextData = NULL) = 0;
00418 
00428         virtual PVMFCommandId
00429         SendUserInput(CPVUserInput* user_input,
00430                       OsclAny* aContextData = NULL) = 0;
00431 
00441         virtual PVMFCommandId SetWnsrp(const bool aEnableWnsrp,
00442                                        OsclAny* aContextData = NULL) = 0;
00443 
00444 };
00445 
00446 
00453 enum PVH324MIndicationType
00454 {
00461     PV_INDICATION_VIDEO_SPATIAL_TEMPORAL_TRADEOFF_COMMAND,
00468     PV_INDICATION_VIDEO_SPATIAL_TEMPORAL_TRADEOFF_INDICATION,
00474     PV_INDICATION_FAST_UPDATE,
00479     PV_INDICATION_RTD,
00484     PV_INDICATION_RME,
00489     PV_INDICATION_VENDOR_ID,
00495     PV_INDICATION_USER_INPUT_CAPABILITY,
00501     PV_INDICATION_USER_INPUT,
00509     PV_INDICATION_SKEW
00510 };
00514 class H324MReverseParametersExtensionInterface : public PVInterface
00515 {
00516     public:
00520         virtual const PvmfMimeString* GetFormatCapabilities() = 0;
00521 
00525         virtual void SetPortTag(int32 aPortTag) = 0;
00526 
00530         virtual int32 GetPortTag()const = 0;
00531 };
00532 #endif

PV2Way Engine
Posting Version: CORE_8.000.1.1_RC4