Main Page Class Hierarchy Data Structures File List Data Fields Globals

# pv_2way_h324m_types.h

Go to the documentation of this file.

    00001 #ifndef PV_2WAY_H324M_TYPES_H_INCLUDED
    00002 #define PV_2WAY_H324M_TYPES_H_INCLUDED
    00003
    00004 #ifndef PV_2WAY_BASIC_TYPES_H_INCLUDED
    00005 #include "pv_2way_basic_types.h"
    00006 #endif
    00007
    00008 #ifndef PV_UUID_H_INCLUDED
    00009 #include "pv_uuid.h"
    00010 #endif
    00011
    00012 #ifndef PV_INTERFACE_H
    00013 #include "pv_interface.h"
    00014 #endif
    00015
    00016 #ifndef PVT_COMMON_H_INCLUDED
    00017 #include "pvt_common.h"
    00018 #endif
    00019
    00020 // MACROS
    00022 #define PV_2WAY_MAX_USER_INPUT_FORMATS 4
    00023
    00024 #define PV_2WAY_MAX_SKEW_MS 1000
    00025
    00031 typedef enum TPVPostDisconnectOption
    00032 {
    00033     EDisconnectLine,
    00034     EAnalogueTelephony
    00035 } PV2WayPostDisconnectOption;
    00036
    00045 class PV2Way324InitInfo : public PV2WayInitInfo
    00046 {
    00047     public:
    00056         virtual void GetInitInfoClassName(OSCL_wString &aClassName)
    00057         {
    00058             aClassName = _STRLIT_WCHAR("CPV2Way324InitInfo");
    00059         }
    00060         PV2Way324InitInfo() : PV2WayInitInfo(), iMultiplexingDelayMs(0) {};
    00061         virtual ~PV2Way324InitInfo() {};
    00062
    00066         uint16 iMultiplexingDelayMs;
    00067 };
    00068
    00069
    00077 class PV2Way324ConnectOptions : public PV2WayConnectOptions
    00078 {
    00079     public:
    00086         PV2Way324ConnectOptions(uint32 aDisconnectTimeoutInterval)
    00087                 : iDisconnectTimeoutInterval(aDisconnectTimeoutInterval) {}
    00088
    00089         PV2Way324ConnectOptions() : PV2WayConnectOptions(), iDisconnectTimeoutInterval(0) {};
    00090         virtual ~PV2Way324ConnectOptions() {};
    00091
    00100         virtual void GetConnectInfoClassName(OSCL_wString &aClassName)
    00101         {
    00102             aClassName = _STRLIT_WCHAR("PV2Way324ConnectOptions");
    00103         }
    00104
    00108         uint32 iDisconnectTimeoutInterval;
    00109 };
    00110
    00117 class PVH223AlConfig
    00118 {
    00119     public:
    00120         virtual ~PVH223AlConfig() {};
    00121         enum PVH223AlIndex
    00122         {
    00123             PVH223_AL1 = 1,
    00124             PVH223_AL2 = 2,
    00125             PVH223_AL3 = 4
    00126         };
    00127         virtual PVH223AlIndex IsA() const = 0;
    00128 };
    00129
    00130
    00137 class PVH223Al1Config : public PVH223AlConfig
    00138 {
    00139     public:
    00140         PVH223AlIndex IsA()const
    00141         {
    00142             return PVH223_AL1;
    00143         }
    00144
    00145         bool iFramed;
    00146 };
    00147
    00154 class PVH223Al2Config : public PVH223AlConfig
    00155 {
    00156     public:
    00157         PVH223AlIndex IsA()const
    00158         {
    00159             return PVH223_AL2;
    00160         }
    00161
    00162         bool iUseSequenceNumbers;
    00163 };
    00164
    00171 class PVH223Al3Config : public PVH223AlConfig
    00172 {
    00173     public:
    00174         PVH223AlIndex IsA()const
    00175         {
    00176             return PVH223_AL3;
    00177         }
    00178
    00179         uint32 iControlFieldOctets;
    00180         uint32 iSendBufferSize;
    00181 };
    00182
    00187 typedef enum UserInputType
    00188 {
    00189     PV_ALPHANUMERIC = 0,
    00190     PV_DTMF
    00191 } PV2WayUserInputType;
    00192
    00193
    00198 class CPVUserInput: public HeapBase, public PVInterface
    00199 {
    00200     public:
    00205         OSCL_IMPORT_REF CPVUserInput();
    00206
    00210         virtual ~CPVUserInput() {};
    00214         virtual PV2WayUserInputType GetType() = 0;
    00215
    00216         // from PVInterface
    00217         void addRef()
    00218         {
    00219             iRefCounter++;
    00220         }
    00221
    00222         void removeRef()
    00223         {
    00224             --iRefCounter;
    00225             if (iRefCounter == 0)
    00226                 OSCL_DELETE(this);
    00227         }
    00228
    00229     private:
    00230
    00231         virtual bool queryInterface(const PVUuid& arUuid, PVInterface*& aprInterface)
    00232         {
    00233             OSCL_UNUSED_ARG(arUuid);
    00234             OSCL_UNUSED_ARG(aprInterface);
    00235             return false;
    00236         }
    00237
    00238         uint32 iRefCounter;
    00239
    00240 };
    00241
    00248 class CPVUserInputDtmf : public CPVUserInput
    00249 {
    00250     public:
    00264         OSCL_IMPORT_REF CPVUserInputDtmf(uint8 aInput, bool aUpdate, uint16 aDuration = 0);
    00265
    00269         //OSCL_IMPORT_REF ~CPVUserInputDtmf() {};
    00270         OSCL_IMPORT_REF ~CPVUserInputDtmf();
    00271
    00272         // from CPVUserInput
    00273         OSCL_IMPORT_REF PV2WayUserInputType GetType();
    00274
    00280         OSCL_IMPORT_REF uint8 GetInput();
    00281
    00287         OSCL_IMPORT_REF bool IsUpdate();
    00288
    00294         OSCL_IMPORT_REF uint16 GetDuration();
    00295
    00296     private:
    00307         uint8 iInput;
    00308         bool iIsUpdate;
    00309         uint16 iDuration;
    00310 };
    00311
    00318 class CPVUserInputAlphanumeric : public CPVUserInput
    00319 {
    00320     public:
    00330         OSCL_IMPORT_REF CPVUserInputAlphanumeric(uint8* apInput, uint16 aLen);
    00331
    00335         OSCL_IMPORT_REF ~CPVUserInputAlphanumeric();
    00336
    00337         // from CPVUserInput
    00338         OSCL_IMPORT_REF PV2WayUserInputType GetType();
    00339
    00345         OSCL_IMPORT_REF uint8* GetInput();
    00346
    00352         OSCL_IMPORT_REF uint16 GetLength();
    00353
    00354     protected:
    00358         uint8* ipInput;  /* We own the memory*/
    00359         uint16 iLength; /* length of the string */
    00360 };
    00361
    00362 class CPVLogicalChannelIndication : public HeapBase, public PVInterface
    00363 {
    00364     public:
    00365         OSCL_IMPORT_REF CPVLogicalChannelIndication(TPVChannelId channelId);
    00366         OSCL_IMPORT_REF ~CPVLogicalChannelIndication();
    00367         OSCL_IMPORT_REF TPVChannelId GetChannelId();
    00368
    00369         // from PVInterface
    00370         OSCL_IMPORT_REF void addRef();
    00371
    00372         OSCL_IMPORT_REF void removeRef();
    00373
    00374     private:
    00375
    00376         virtual bool queryInterface(const PVUuid& arUuid, PVInterface*& aprInterface)
    00377         {
    00378             OSCL_UNUSED_ARG(arUuid);
    00379             OSCL_UNUSED_ARG(aprInterface);
    00380             return false;
    00381         }
    00382
    00383         uint32 iRefCounter;
    00384         TPVChannelId iChannelId;
    00385 };
    00386
    00387 class CPVVideoSpatialTemporalTradeoff : public HeapBase, public PVInterface
    00388 {
    00389     public:
    00390         OSCL_IMPORT_REF CPVVideoSpatialTemporalTradeoff(TPVChannelId aChannelId, uint8 aTradeoff);
    00391         OSCL_IMPORT_REF ~CPVVideoSpatialTemporalTradeoff();
    00392         OSCL_IMPORT_REF TPVChannelId GetChannelId();
    00393         OSCL_IMPORT_REF uint8 GetTradeoff();
    00394
    00395         // from PVInterface
    00396         OSCL_IMPORT_REF void addRef();
    00397
    00398         OSCL_IMPORT_REF void removeRef();
    00399
    00400     private:
    00401
    00402         virtual bool queryInterface(const PVUuid& arUuid, PVInterface*& aprInterface)
    00403         {
    00404             OSCL_UNUSED_ARG(arUuid);
    00405             OSCL_UNUSED_ARG(aprInterface);
    00406             return false;
    00407         }
    00408
    00409         uint32 iRefCounter;
    00410         TPVChannelId iChannelId;
    00411         uint8 iTradeoff;
    00412 };
    00413
    00414 #endif