Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

pvauthorengineinterface.h

Go to the documentation of this file.
00001 #ifndef PVAUTHORENGINEINTERFACE_H_INCLUDED
00002 #define PVAUTHORENGINEINTERFACE_H_INCLUDED
00003 
00004 #ifndef OSCL_BASE_H_INCLUDED
00005 #include "oscl_base.h"
00006 #endif
00007 #ifndef OSCL_STRING_H_INCLUDED
00008 #include "oscl_string.h"
00009 #endif
00010 #ifndef PV_ENGINE_TYPES_H_INCLUDED
00011 #include "pv_engine_types.h"
00012 #endif
00013 
00014 // Forward declarations
00015 class PVMFNodeInterface;
00016 class PVLoggerAppender;
00017 template<class T, class Alloc> class Oscl_Vector;
00018 
00022 enum PVAEState
00023 {
00024     PVAE_STATE_IDLE = 0,
00025     PVAE_STATE_OPENED,
00026     PVAE_STATE_INITIALIZED,
00027     PVAE_STATE_RECORDING,
00028     PVAE_STATE_PAUSED,
00029     PVAE_STATE_ERROR
00030 };
00031 
00035 enum PVAEErrorEvent
00036 {
00037     // TBD
00038     PVAE_ENCODE_ERROR
00039 };
00040 
00044 enum PVAEInfoEvent
00045 {
00046     // TBD
00047     PVAE_OUTPUT_PROGRESS
00048 };
00049 
00050 
00054 class PVAuthorEngineInterface
00055 {
00056     public:
00060         virtual ~PVAuthorEngineInterface() {};
00061 
00081         virtual PVCommandId SetLogAppender(const char* aTag, PVLoggerAppender& aAppender, const OsclAny* aContextData = NULL) = 0;
00082 
00099         virtual PVCommandId RemoveLogAppender(const char* aTag, PVLoggerAppender& aAppender, const OsclAny* aContextData = NULL) = 0;
00100 
00120         virtual PVCommandId SetLogLevel(const char* aTag, int32 aLevel, bool aSetSubtree = false, const OsclAny* aContextData = NULL) = 0;
00121 
00138         virtual PVCommandId GetLogLevel(const char* aTag, PVLogLevelInfo& aLogInfo, const OsclAny* aContextData = NULL) = 0;
00139 
00149         virtual PVCommandId Open(const OsclAny* aContextData = NULL) = 0;
00150 
00162         virtual PVCommandId Close(const OsclAny* aContextData = NULL) = 0;
00163 
00174         virtual PVCommandId AddDataSource(const PVMFNodeInterface& aDataSource, const OsclAny* aContextData = NULL) = 0;
00175 
00186         virtual PVCommandId RemoveDataSource(const PVMFNodeInterface& aDataSource, const OsclAny* aContextData = NULL) = 0;
00187 
00209         virtual PVCommandId SelectComposer(const PvmfMimeString& aComposerType,
00210                                            PVInterface*& aConfigInterface,
00211                                            const OsclAny* aContextData = NULL) = 0;
00212 
00234         virtual PVCommandId SelectComposer(const PVUuid& aComposerUuid,
00235                                            PVInterface*& aConfigInterface,
00236                                            const OsclAny* aContextData = NULL) = 0;
00237 
00263         virtual PVCommandId AddMediaTrack(const PVMFNodeInterface& aDataSource,
00264                                           const PvmfMimeString& aEncoderType,
00265                                           const OsclAny* aComposer,
00266                                           PVInterface*& aConfigInterface,
00267                                           const OsclAny* aContextData = NULL) = 0;
00268 
00294         virtual PVCommandId AddMediaTrack(const PVMFNodeInterface& aDataSource,
00295                                           const PVUuid& aEncoderUuid,
00296                                           const OsclAny* aComposer,
00297                                           PVInterface*& aConfigInterface,
00298                                           const OsclAny* aContextData = NULL) = 0;
00299 
00314         virtual PVCommandId AddDataSink(const PVMFNodeInterface& aDataSink,
00315                                         const OsclAny* aComposer,
00316                                         const OsclAny* aContextData = NULL) = 0;
00317 
00329         virtual PVCommandId RemoveDataSink(const PVMFNodeInterface& aDataSink, const OsclAny* aContextData = NULL) = 0;
00330 
00331 
00347         virtual PVCommandId Init(const OsclAny* aContextData = NULL) = 0;
00348 
00366         virtual PVCommandId Reset(const OsclAny* aContextData = NULL) = 0;
00367 
00380         virtual PVCommandId Start(const OsclAny* aContextData = NULL) = 0;
00381 
00393         virtual PVCommandId Pause(const OsclAny* aContextData = NULL) = 0;
00394 
00406         virtual PVCommandId Resume(const OsclAny* aContextData = NULL) = 0;
00407 
00420         virtual PVCommandId Stop(const OsclAny* aContextData = NULL) = 0;
00421 
00431         virtual PVAEState GetPVAuthorState() = 0;
00432 
00447         virtual PVCommandId QueryUUID(const PvmfMimeString& aMimeType,
00448                                       Oscl_Vector<PVUuid, OsclMemAllocator>& aUuids,
00449                                       bool aExactUuidsOnly = false,
00450                                       const OsclAny* aContextData = NULL) = 0;
00451 
00465         virtual PVCommandId QueryInterface(const PVUuid& aUuid,
00466                                            PVInterface*& aInterfacePtr,
00467                                            const OsclAny* aContextData = NULL) = 0;
00468 
00482         virtual PVCommandId GetSDKModuleInfo(PVSDKModuleInfo& aSDKModuleInfo, const OsclAny* aContextData = NULL) = 0;
00483 
00492         virtual PVCommandId CancelAllCommands(const OsclAny* aContextData = NULL) = 0;
00493 
00503         OSCL_IMPORT_REF static void GetSDKInfo(PVSDKInfo& aSDKInfo);
00504 };
00505 
00506 #endif // PVAUTHORENGINE_H_INCLUDED
00507 
00508 

PV Author Engine
Posting Version: CORE_8.000.1.1_RC4