Main Page   Class Hierarchy   Data Structures   File List   Data Fields   Globals  

MPVPluginBase Class Reference

#include <pv_plugin_interfaces.h>

Inheritance diagram for MPVPluginBase:

MPVDataSink MPVDataSource MPVDataSourceAndSink

Public Methods

virtual ~MPVPluginBase ()
virtual IMPORT_C const RArray<
TPVMIMEType * > & 
GetMultimediaTypesL () const=0
virtual IMPORT_C void QueryUUID (const TPVMIMEType &aMimeType, RArray< TPVUuid > &aUuids, bool aExactUuidsOnly=false)=0
virtual IMPORT_C void QueryInterface (const TPVUuid &aUuid, TPVInterfacePtr &aInterfacePtr)=0

Detailed Description

MPVPluginBase Class

Base class for all supported plugins


Constructor & Destructor Documentation

virtual MPVPluginBase::~MPVPluginBase   [inline, virtual]
 


Member Function Documentation

virtual IMPORT_C const RArray<TPVMIMEType *>& MPVPluginBase::GetMultimediaTypesL   [pure virtual]
 

This API returns multimedias type supported by the data source/sink - Audio, Video, Data etc. Each supported type is indicated by a MIME type structure.

Returns:
Multimedia types supported by the data source/sink. The reference is valid until the MPVPluginBase derived object is destroyed.

virtual IMPORT_C void MPVPluginBase::QueryInterface const TPVUuid &    aUuid,
TPVInterfacePtr &    aInterfacePtr
[pure virtual]
 

This API is to allow for extensibility of the plugin interface. It allows a caller to ask for an instance of a particular interface object to be returned. The mechanism is analogous to the COM IUnknown method. The interfaces are identified with an interface ID that is a UUID as in DCE and a pointer to the interface object is returned if it is supported. Otherwise the returned pointer is NULL. TBD: Define the UIID, InterfacePtr structures

Parameters:
aUuid  The UUID of the desired interface
aInterfacePtr  The output pointer to the desired interface

virtual IMPORT_C void MPVPluginBase::QueryUUID const TPVMIMEType &    aMimeType,
RArray< TPVUuid > &    aUuids,
bool    aExactUuidsOnly = false
[pure virtual]
 

This API is to allow for extensibility of the plugin interface. It allows a caller to ask for all UUIDs associated with a particular MIME type. If interfaces of the requested MIME type are found within the plugin, they are added to the UUIDs array.

Also added to the UUIDs array will be all interfaces which have the requested MIME type as a base MIME type. This functionality can be turned off.

Parameters:
aMimeType  The MIME type of the desired interfaces
aUuids  An array to hold the discovered UUIDs
aExactUuidsOnly  Turns on/off the retrival of UUIDs with aMimeType as a base type


The documentation for this class was generated from the following file:
PV Author Engine
Posting Version: OPENCORE_20090310