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