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 

PV2Way Engine
Posting Version: CORE_8.000.1.1_RC4