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 #ifndef PV_2WAY_H324M_TYPES_H_INCLUDED
00021 #include "pv_2way_h324m_types.h"
00022 #endif
00023 
00024 #define PVH324MConfigUuid PVUuid(0x2b0b54e2,0x7079,0x46c6,0xb2,0x3e,0x04,0xff,0xd3,0x0e,0x14,0x36)
00025 
00026 //----f6b47190-f88d-4cbf-a6f6-c61efe98053f
00027 // UUID for the extension interface
00028 #define PVUuidH324ComponentInterface  PVUuid(0xf6b47190,0xf88d,0x4cbf,0xa6,0xf6,0xc6,0x1e,0xfe,0x98,0x05,0x3f)
00029 
00030 
00031 typedef uint32 H324MConfigInformationalEvent;
00032 typedef uint32 H324MConfigStatusResponse;
00033 
00034 class PVMFComponentInterface: public PVInterface
00035 {
00036     public:
00037         PVMFComponentInterface()
00038         {
00039             iReferenceCount = 1;
00040         }
00041         // get, set functions, etc
00043         // PVInterface virtuals
00045         void addRef()
00046         {
00047             iReferenceCount++;
00048         }
00049         void removeRef()
00050         {
00051             if (--iReferenceCount <= 0)
00052             {
00053                 OSCL_DELETE(this);
00054             }
00055         }
00056     protected:
00057         int32 iReferenceCount;
00058 };
00059 
00060 class H324MConfigObserver
00061 {
00062     public:
00063         virtual ~H324MConfigObserver() {}
00064         virtual void H324MConfigCommandCompletedL(PVMFCmdResp& aResponse) = 0;
00065         virtual void H324MConfigHandleInformationalEventL(PVMFAsyncEvent& aNotification) = 0;
00066 };
00067 
00068 class H324MConfigInterface : public PVInterface
00069 {
00070     public:
00077         virtual void SetObserver(H324MConfigObserver* aObserver) = 0;
00078 
00090         virtual PVMFCommandId SetMultiplexLevel(TPVH223Level aLevel,
00091                                                 OsclAny* aContextData = NULL) = 0;
00092 
00106         virtual PVMFCommandId SetMaxSduSize(TPVAdaptationLayer aLayer, int32 aSize,
00107                                             OsclAny* aContextData = NULL) = 0;
00122         virtual PVMFCommandId SetMaxSduSizeR(TPVAdaptationLayer aLayer,
00123                                              int32 aSize, OsclAny* aContextData = NULL) = 0;
00124 
00141         virtual PVMFCommandId SetCodecPreference(Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aIncomingAudio,
00142                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aIncomingVideo,
00143                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aOutGoingAudio,
00144                 Oscl_Vector<PVMFFormatType, OsclMemAllocator>& aOutGoingVideo,
00145                 OsclAny* aContextData = NULL) = 0;
00146 
00160         virtual PVMFCommandId SetFormatSpecificInfo(PVMFFormatType aMediaFormat,
00161                 const uint8* apFormatSpecificInfo, uint32 aFormatSpecificInfoLen,
00162                 OsclAny* aContextData = NULL) = 0;
00163 
00175         virtual PVMFCommandId SetAl2SequenceNumbers(int32 aSeqNumWidth,
00176                 OsclAny* aContextData = NULL) = 0;
00188         virtual PVMFCommandId SetAl3ControlFieldOctets(int32 aCfo,
00189                 OsclAny* aContextData = NULL) = 0;
00190 
00201         virtual PVMFCommandId SetMaxPduSize(int32 aMaxPduSize,
00202                                             OsclAny* aContextData = NULL) = 0;
00203 
00213         virtual PVMFCommandId SetTerminalType(uint8 aTerminalType,
00214                                               OsclAny* aContextData = NULL) = 0;
00227         virtual PVMFCommandId SetALConfiguration(TPVMediaType_t aMediaType,
00228                 TPVAdaptationLayer aLayer,
00229                 bool aAllow,
00230                 bool aUse = true,
00231                 OsclAny* aContextData = NULL) = 0;
00232 
00241         virtual PVMFCommandId SendRme(OsclAny* aContextData = NULL) = 0;
00242 
00252         virtual PVMFCommandId SetMaxMuxPduSize(int32 aRequestMaxMuxPduSize,
00253                                                OsclAny* aContextData = NULL) = 0;
00254 
00263         virtual PVMFCommandId SetMaxMuxCcsrlSduSize(int32 aMaxCcsrlSduSize,
00264                 OsclAny* aContextData = NULL) = 0;
00265 
00276         virtual PVMFCommandId FastUpdate(PVMFNodeInterface& aTrack,
00277                                          OsclAny* aContextData = NULL) = 0;
00278 
00288         virtual PVMFCommandId SendRtd(OsclAny* aContextData = NULL) = 0;
00289 
00308         virtual PVMFCommandId SetVendor(uint8 cc, uint8 ext, uint32 mc,
00309                                         const uint8* aProduct, uint16 aProductLen,
00310                                         const uint8* aVersion, uint16 aVersionLen,
00311                                         OsclAny* aContextData = NULL) = 0;
00312 
00320         virtual PVMFCommandId SendEndSession(OsclAny* aContextData = NULL) = 0;
00321 
00330         virtual PVMFCommandId SetEndSessionTimeout(uint32 aTimeout,
00331                 OsclAny* aContextData = NULL) = 0;
00332 
00363         virtual PVMFCommandId SetTimerCounter(TPVH324TimerCounter aTimerCounter,
00364                                               uint8 aSeries, uint32 aSeriesOffset,
00365                                               uint32 aValue,
00366                                               OsclAny* aContextData = NULL) = 0;
00367 
00378         virtual PVMFCommandId SetVideoResolutions(TPVDirection aDirection,
00379                 Oscl_Vector<PVMFVideoResolutionRange, OsclMemAllocator>& aResolutions,
00380                 OsclAny* aContextData = NULL) = 0;
00381 
00388         virtual PVMFCommandId SendVendorId(OsclAny* aContextData = NULL) = 0;
00389 
00398         virtual PVMFCommandId SendVideoTemporalSpatialTradeoffCommand(TPVChannelId aLogicalChannel,
00399                 uint8 aTradeoff,
00400                 OsclAny* aContextData = NULL) = 0;
00401 
00411         virtual PVMFCommandId SendVideoTemporalSpatialTradeoffIndication(TPVChannelId aLogicalChannel,
00412                 uint8 aTradeoff, OsclAny* aContextData = NULL) = 0;
00413 
00421         virtual PVMFCommandId SendLogicalChannelActiveIndication(TPVChannelId aLogicalChannel,
00422                 OsclAny* aContextData = NULL) = 0;
00423 
00430         virtual PVMFCommandId SendLogicalChannelInactiveIndication(TPVChannelId aLogicalChannel,
00431                 OsclAny* aContextData = NULL) = 0;
00432 
00439         virtual PVMFCommandId SendSkewIndication(TPVChannelId aLogicalChannel1, TPVChannelId aLogicalChannel2,
00440                 uint16 aSkew, OsclAny* aContextData = NULL) = 0;
00441 
00442 
00453         virtual PVMFCommandId
00454         SetLogicalChannelBufferingMs(uint32 aInBufferingMs,
00455                                      uint32 aOutBufferingMs,
00456                                      OsclAny* aContextData = NULL) = 0;
00457 
00467         virtual PVMFCommandId
00468         SendUserInput(CPVUserInput* user_input,
00469                       OsclAny* aContextData = NULL) = 0;
00470 
00480         virtual PVMFCommandId SetWnsrp(const bool aEnableWnsrp,
00481                                        OsclAny* aContextData = NULL) = 0;
00482 
00483 };
00484 
00485 
00492 enum PVH324MIndicationType
00493 {
00500     PV_INDICATION_VIDEO_SPATIAL_TEMPORAL_TRADEOFF_COMMAND,
00507     PV_INDICATION_VIDEO_SPATIAL_TEMPORAL_TRADEOFF_INDICATION,
00513     PV_INDICATION_FAST_UPDATE,
00518     PV_INDICATION_RTD,
00523     PV_INDICATION_RME,
00528     PV_INDICATION_VENDOR_ID,
00536     PV_INDICATION_USER_INPUT_CAPABILITY,
00542     PV_INDICATION_USER_INPUT,
00550     PV_INDICATION_SKEW,
00556     PV_INDICATION_LOGICAL_CHANNEL_ACTIVE,
00562     PV_INDICATION_LOGICAL_CHANNEL_INACTIVE
00563 
00564 };
00568 class H324MReverseParametersExtensionInterface : public PVInterface
00569 {
00570     public:
00574         virtual const PvmfMimeString* GetFormatCapabilities() = 0;
00575 
00579         virtual void SetPortTag(int32 aPortTag) = 0;
00580 
00584         virtual int32 GetPortTag()const = 0;
00585 };
00586 
00587 #endif

PV2Way Engine
Posting Version: CORE_8.508.1.1