Argus API
Argus Camera API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions
Argus::ICameraProvider Class Reference

The core interface provided by a CameraProvider. More...

#include <CameraProvider.h>

Inheritance diagram for Argus::ICameraProvider:
Argus::Interface Argus::NonCopyable

List of all members.

Public Member Functions

virtual bool supportsExtension (const ExtensionName &extension) const =0
 Returns whether or not an extension is supported by this Argus implementation.
virtual Status getCameraDevices (std::vector< CameraDevice * > *devices) const =0
 Returns the list of camera devices that are exposed by the provider.
virtual CaptureSessioncreateCaptureSession (CameraDevice *device, Status *status=NULL)=0
 Creates and returns a new CaptureSession using the given device.
virtual CaptureSessioncreateCaptureSession (const std::vector< CameraDevice * > &devices, Status *status=NULL)=0
 Creates and returns a new CaptureSession using the given device(s).

Static Public Member Functions

static const InterfaceIDid ()

Protected Member Functions

 ~ICameraProvider ()
- Protected Member Functions inherited from Argus::Interface
 Interface ()
 ~Interface ()

Detailed Description

The core interface provided by a CameraProvider.

Definition at line 65 of file CameraProvider.h.


Constructor & Destructor Documentation

Argus::ICameraProvider::~ICameraProvider ( )
inlineprotected

Definition at line 115 of file CameraProvider.h.


Member Function Documentation

virtual CaptureSession* Argus::ICameraProvider::createCaptureSession ( CameraDevice device,
Status status = NULL 
)
pure virtual

Creates and returns a new CaptureSession using the given device.

STATUS_UNAVAILABLE will be placed into status if the device is already in use.

Parameters:
[in]devicesThe device(s) to use for the CaptureSession.
[out]statusOptional pointer to return success/status of the call.
Returns:
The new CaptureSession, or NULL if an error occurred.
virtual CaptureSession* Argus::ICameraProvider::createCaptureSession ( const std::vector< CameraDevice * > &  devices,
Status status = NULL 
)
pure virtual

Creates and returns a new CaptureSession using the given device(s).

STATUS_UNAVAILABLE will be placed into status if any of the devices are already in use.

Parameters:
[in]devicesThe device(s) to use for the CaptureSession.
[out]statusOptional pointer to return success/status of the call.
Returns:
The new CaptureSession, or NULL if an error occurred.
virtual Status Argus::ICameraProvider::getCameraDevices ( std::vector< CameraDevice * > *  devices) const
pure virtual

Returns the list of camera devices that are exposed by the provider.

This includes devices that may already be in use by active CaptureSessions, and it's the application's responsibility to check device availability and/or handle any errors returned when CaptureSession creation fails due to a device already being in use.

Parameters:
[out]devices,avector that will be populated by the available devices.
Returns:
success/status of the call.
static const InterfaceID& Argus::ICameraProvider::id ( )
inlinestatic

Definition at line 68 of file CameraProvider.h.

virtual bool Argus::ICameraProvider::supportsExtension ( const ExtensionName extension) const
pure virtual

Returns whether or not an extension is supported by this Argus implementation.

This is generally used during process initialization to ensure that all required extensions are present before initializing any CaptureSessions. Note, however, that having an extension be supported does not imply that the resources or devices required for that extension are available; standard interface checking and any other extension-specific runtime checks, as described by the extension documentation, should always be performed before any extension is used.

Parameters:
[in]extensionthe extension identifier.

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