00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef PV_2WAY_INTERFACE_H_INCLUDED
00013 #define PV_2WAY_INTERFACE_H_INCLUDED
00014
00015
00016
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
00051
00052
00053
00054
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