My Project
Public Types | Public Member Functions | Protected Attributes | List of all members
CapturePlugin Class Referenceabstract

CapturePlugin interface that plugins must implement. More...

#include <CapturePlugin.h>

Inheritance diagram for CapturePlugin:
CapturePluginCmu CapturePluginDSCapture CapturePluginFile CapturePluginHighgui CapturePluginPtgrey

Public Types

typedef std::vector< CaptureDeviceCaptureDeviceVector
 Vector of CaptureDevices.
 

Public Member Functions

 CapturePlugin (const std::string &captureType)
 Constructor. More...
 
virtual ~CapturePlugin ()
 Destructor.
 
virtual CaptureDeviceVector enumerateDevices ()=0
 Enumerate capture devices currently available. More...
 
virtual CapturecreateCapture (const CaptureDevice captureDevice)=0
 Create Capture class. Transfers onwership to the caller. More...
 

Protected Attributes

std::string mCaptureType
 

Detailed Description

CapturePlugin interface that plugins must implement.

All plugins must implement the CapturePlugin interface. When the plugin is loaded, the CapturePlugin implementation will register itself with the CaptureFactory.

Definition at line 44 of file CapturePlugin.h.

Constructor & Destructor Documentation

◆ CapturePlugin()

CapturePlugin ( const std::string &  captureType)
inline

Constructor.

Parameters
captureTypeA unique identifier for the capture plugin.

Definition at line 52 of file CapturePlugin.h.

Member Function Documentation

◆ createCapture()

virtual Capture* createCapture ( const CaptureDevice  captureDevice)
pure virtual

Create Capture class. Transfers onwership to the caller.

Parameters
captureDeviceInformation of which camera to create.
Returns
A new Capture class for which the caller takes ownership.

Implemented in CapturePluginPtgrey, CapturePluginHighgui, CapturePluginFile, CapturePluginDSCapture, and CapturePluginCmu.

◆ enumerateDevices()

virtual CaptureDeviceVector enumerateDevices ( )
pure virtual

Enumerate capture devices currently available.

Returns
A vector of CaptureDevice objects that are currently available.

Implemented in CapturePluginPtgrey, CapturePluginHighgui, CapturePluginFile, CapturePluginDSCapture, and CapturePluginCmu.


The documentation for this class was generated from the following file: