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