Main Page Class Hierarchy Data Structures File List Data Fields Globals

# pv_2way_interface.h

Go to the documentation of this file.

    00001 /*
    00002 * ==============================================================================
    00003 *  Name        : pv_2way_interface.h
    00004 *  Part of     :
    00005 *  Interface   :
    00006 *  Description : Interface class and supporting definitions for the PV2Way SDK
    00007 *  Version     : (see RELEASE field in copyright header above)
    00008 *
    00009 * ==============================================================================
    00010 */
    00011
    00012 #ifndef PV_2WAY_INTERFACE_H_INCLUDED
    00013 #define PV_2WAY_INTERFACE_H_INCLUDED
    00014
    00015
    00016 //  INCLUDES
    00017 #ifndef PV_COMMON_TYPES_H_INCLUDED
    00018 #include "pv_common_types.h"
    00019 #endif
    00020
    00021 #ifndef OSCL_VECTOR_H_INCLUDED
    00022 #include "oscl_vector.h"
    00023 #endif
    00024
    00025 #ifndef PVT_COMMON_H_INCLUDED
    00026 #include "pvt_common.h"
    00027 #endif
    00028
    00029 #ifndef PVMF_NODE_INTERFACE_H_INCLUDED
    00030 #include "pvmf_node_interface.h"
    00031 #endif
    00032
    00033 #ifndef PVLOGGER_ACCESSORIES_H_INCLUDED
    00034 #include "pvlogger_accessories.h"
    00035 #endif
    00036
    00037 #ifndef PV_ENGINE_TYPES_H_INCLUDED
    00038 #include "pv_engine_types.h"
    00039 #endif
    00040
    00041 #ifndef PVT_2WAY_BASIC_TYPES_H_INCLUDED
    00042 #include "pv_2way_basic_types.h"
    00043 #endif
    00044
    00045 #ifndef PV_2WAY_H324M_TYPES_H_INCLUDED
    00046 #include "pv_2way_h324m_types.h"
    00047 #endif
    00048
    00049
    00050 // CONSTANTS
    00051
    00052 // DATA TYPES
    00053
    00054 // CLASS DECLARATION
    00055
    00066 class CPV2WayInterface
    00067 {
    00068     public:
    00073         virtual ~CPV2WayInterface() {};
    00074
    00086         OSCL_IMPORT_REF virtual PVCommandId GetSDKInfo(PVSDKInfo &aSDKInfo,
    00087                 OsclAny* aContextData = NULL) = 0;
    00088
    00104         OSCL_IMPORT_REF virtual PVCommandId GetSDKModuleInfo(PVSDKModuleInfo &aSDKModuleInfo,
    00105                 OsclAny* aContextData = NULL) = 0;
    00106
    00107
    00131         OSCL_IMPORT_REF virtual PVCommandId Init(PV2WayInitInfo& aInitInfo,
    00132                 OsclAny* aContextData = NULL) = 0;
    00133
    00153         OSCL_IMPORT_REF virtual PVCommandId Reset(OsclAny* aContextData = NULL) = 0;
    00154
    00176         OSCL_IMPORT_REF virtual PVCommandId AddDataSource(PVTrackId aTrackId,
    00177                 PVMFNodeInterface& aDataSource,
    00178                 OsclAny* aContextData = NULL) = 0;
    00179
    00189         OSCL_IMPORT_REF virtual PVCommandId RemoveDataSource(PVMFNodeInterface& aDataSource,
    00190                 OsclAny* aContextData = NULL) = 0;
    00191
    00213         OSCL_IMPORT_REF virtual PVCommandId AddDataSink(PVTrackId aTrackId,
    00214                 PVMFNodeInterface& aDataSink,
    00215                 OsclAny* aContextData = NULL) = 0;
    00216
    00226         OSCL_IMPORT_REF virtual PVCommandId RemoveDataSink(PVMFNodeInterface& aDataSink,
    00227                 OsclAny* aContextData = NULL) = 0;
    00228
    00244         OSCL_IMPORT_REF virtual PVCommandId Connect(const PV2WayConnectOptions& aOptions,
    00245                 PVMFNodeInterface* aCommServer = NULL,
    00246                 OsclAny* aContextData = NULL) = 0;
    00247
    00269         OSCL_IMPORT_REF virtual PVCommandId Disconnect(OsclAny* aContextData = NULL) = 0;
    00270
    00282         OSCL_IMPORT_REF virtual PVCommandId GetState(PV2WayState& aState,
    00283                 OsclAny* aContextData = NULL) = 0;
    00284
    00297         OSCL_IMPORT_REF virtual PVCommandId Pause(PV2WayDirection aDirection,
    00298                 PVTrackId aTrackId,
    00299                 OsclAny* aContextData = NULL) = 0;
    00300
    00314         OSCL_IMPORT_REF virtual PVCommandId Resume(PV2WayDirection aDirection,
    00315                 PVTrackId aTrackId,
    00316                 OsclAny* aContextData = NULL) = 0;
    00317
    00318
    00338         OSCL_IMPORT_REF virtual PVCommandId SetLogAppender(const char* aTag,
    00339                 OsclSharedPtr<PVLoggerAppender>& aAppender,
    00340                 OsclAny* aContextData = NULL) = 0;
    00341
    00342
    00356         OSCL_IMPORT_REF virtual PVCommandId RemoveLogAppender(const char* aTag,
    00357                 OsclSharedPtr<PVLoggerAppender>& aAppender,
    00358                 OsclAny* aContextData = NULL) = 0;
    00359
    00360
    00379         OSCL_IMPORT_REF virtual PVCommandId SetLogLevel(const char* aTag,
    00380                 int32 aLevel,
    00381                 bool aSetSubtree = false,
    00382                 OsclAny* aContextData = NULL) = 0;
    00383
    00384
    00400         OSCL_IMPORT_REF virtual PVCommandId GetLogLevel(const char* aTag,
    00401                 int32& aLogInfo,
    00402                 OsclAny* aContextData = NULL) = 0;
    00403
    00419         OSCL_IMPORT_REF virtual PVCommandId QueryUUID(const PvmfMimeString& aMimeType,
    00420                 Oscl_Vector<PVUuid, BasicAlloc>& aUuids,
    00421                 bool aExactUuidsOnly = false,
    00422                 OsclAny* aContextData = NULL) = 0;
    00423
    00436         OSCL_IMPORT_REF virtual PVCommandId QueryInterface(const PVUuid& aUuid,
    00437                 PVInterface*& aInterfacePtr,
    00438                 OsclAny* aContext = NULL) = 0;
    00439
    00447         OSCL_IMPORT_REF virtual PVCommandId CancelAllCommands(OsclAny* aContextData = NULL) = 0;
    00448 };
    00449
    00450
    00451
    00452 #endif //
    00453
    00454