Raytrix Light Field SDK  5.0
Rx::LFR::CCameraServer Class Reference

Detailed Description

The camera server.

Inherits Rx::LFR::CPimpl< CCameraServer_Impl, Interfaces::ECameraServer::ID >.

Public Member Functions

 CCameraServer ()
 Default constructor. More...
 
 CCameraServer (CCameraServer &&xCameraServer)
 Move constructor. More...
 
 ~CCameraServer ()
 Destructor. More...
 
void AddStatusMessageCallback (TFuncStatusMsg pxCallback, void *pvContext)
 Adds the given status message callback function to the internal list of callbacks. More...
 
unsigned FindCameras (const CRxString &sxDllLookupPath="")
 Searches for all cameras matching the filter string set by SetFindOnlyFilterString. More...
 
CCameraGetCamera (unsigned uCamIndex)
 Gets IDevice with given ID. More...
 
unsigned GetCameraCount () const
 Gets the total number of devices found by the last call of FindCameras. More...
 
unsigned GetCameraFirmwareMismatchCount () const
 Gets the number of camera firmware mismatches that were found by the last call of FindCameras. More...
 
CRxString GetCameraFirmwareMismatchDescription (unsigned uIndex)
 Gets camera firmware mismatch description. More...
 
CCameraServer_Impl & GetImpl ()
 Gets the non constant implementation. More...
 
const CCameraServer_Impl & GetImpl () const
 Gets the constant implementation. More...
 
void * GetInterface (Interfaces::ECameraServer::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
TInterface * GetInterface (Interfaces::ECameraServer::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
const void * GetInterface (Interfaces::ECameraServer::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
const TInterface * GetInterface (Interfaces::ECameraServer::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
bool HasInterface (Interfaces::ECameraServer::ID eInterface)
 Queries if this object has the given interface. More...
 
CCameraServeroperator= (CCameraServer &&xCameraServer)
 Move assignment operator. More...
 
void Release ()
 Releases the driver DLLs and destroys all cameras. More...
 
void RemoveStatusMessageCallback (TFuncStatusMsg pxCallback)
 Removes the given status message callback function. More...
 
void SetFindOnlyFilterString (const CRxString &sxFilter)
 Sets a string that activates a find filter in the FindCameras method. More...
 

Constructor & Destructor Documentation

◆ CCameraServer() [1/2]

Rx::LFR::CCameraServer::CCameraServer ( )

Default constructor.

◆ CCameraServer() [2/2]

Rx::LFR::CCameraServer::CCameraServer ( CCameraServer &&  xCameraServer)

Move constructor.

Parameters
xCameraServer[in,out]The camera server instance.

◆ ~CCameraServer()

Rx::LFR::CCameraServer::~CCameraServer ( )

Destructor.

Member Function Documentation

◆ AddStatusMessageCallback()

void Rx::LFR::CCameraServer::AddStatusMessageCallback ( TFuncStatusMsg  pxCallback,
void *  pvContext 
)

Adds the given status message callback function to the internal list of callbacks.

Adding the same function pointer twice will only update the given context pointer. This prevents multiple adds of the same callback function.

Parameters
pxCallback[in] The callback function.
pvContext[in] The callback context. Can be any pointer that is passed to the callback function.

◆ FindCameras()

unsigned Rx::LFR::CCameraServer::FindCameras ( const CRxString sxDllLookupPath = "")

Searches for all cameras matching the filter string set by SetFindOnlyFilterString.

Parameters
sxDllLookupPath(Optional) [in] Full path to device driver files.
Returns
The number of found cameras.

◆ GetCamera()

CCamera& Rx::LFR::CCameraServer::GetCamera ( unsigned  uCamIndex)

Gets IDevice with given ID.

Parameters
uCamIndex[in] Zero-based ID of the device.
Returns
null if it fails, else the device.

◆ GetCameraCount()

unsigned Rx::LFR::CCameraServer::GetCameraCount ( ) const

Gets the total number of devices found by the last call of FindCameras.

Returns
The device count.

◆ GetCameraFirmwareMismatchCount()

unsigned Rx::LFR::CCameraServer::GetCameraFirmwareMismatchCount ( ) const

Gets the number of camera firmware mismatches that were found by the last call of FindCameras.

Returns
The camera firmware mismatch count.

◆ GetCameraFirmwareMismatchDescription()

CRxString Rx::LFR::CCameraServer::GetCameraFirmwareMismatchDescription ( unsigned  uIndex)

Gets camera firmware mismatch description.

Parameters
uIndex[in] The index.
Returns
The camera firmware mismatch description.

◆ GetImpl() [1/2]

CCameraServer_Impl & Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetImpl
inlineinherited

Gets the non constant implementation.

Returns
The implementation.

◆ GetImpl() [2/2]

const CCameraServer_Impl & Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetImpl
inlineinherited

Gets the constant implementation.

Returns
The implementation.

◆ GetInterface() [1/4]

void* Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetInterface ( Interfaces::ECameraServer::ID  eInterface)
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ GetInterface() [2/4]

TInterface* Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetInterface ( Interfaces::ECameraServer::ID  eInterface)
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterface[in] The interface type.
Parameters
eInterface[in] The interface.
Returns
Null if it fails, else the interface.

◆ GetInterface() [3/4]

const void* Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetInterface ( Interfaces::ECameraServer::ID  eInterface) const
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ GetInterface() [4/4]

const TInterface* Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::GetInterface ( Interfaces::ECameraServer::ID  eInterface) const
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterface[in] The interface type.
Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ HasInterface()

bool Rx::LFR::CPimpl< CCameraServer_Impl , Interfaces::ECameraServer::ID >::HasInterface ( Interfaces::ECameraServer::ID  eInterface)
inlineinherited

Queries if this object has the given interface.

Parameters
eInterface[in] The interface to query.
Returns
True if this class has the given interface, false if not.

◆ operator=()

CCameraServer& Rx::LFR::CCameraServer::operator= ( CCameraServer &&  xCameraServer)

Move assignment operator.

Parameters
xCameraServer[in,out]The camera server.
Returns
The instance.

◆ Release()

void Rx::LFR::CCameraServer::Release ( )

Releases the driver DLLs and destroys all cameras.

◆ RemoveStatusMessageCallback()

void Rx::LFR::CCameraServer::RemoveStatusMessageCallback ( TFuncStatusMsg  pxCallback)

Removes the given status message callback function.

Does nothing if the given function pointer has not been added to the list of callbacks.

Parameters
pxCallback[in] The callback function to remove.

◆ SetFindOnlyFilterString()

void Rx::LFR::CCameraServer::SetFindOnlyFilterString ( const CRxString sxFilter)

Sets a string that activates a find filter in the FindCameras method.

By default the FindCameras method searches for all cameras (empty string). If you want to find only cameras of a certain type you can provide a filter here.

Examples:

  • Find only type A cameras: "TypeA"
  • Find only type A and type D cameras: "TypeA;TypeD"
Parameters
sxFilter[in] The filter string.