Raytrix RayCam SDK  v2.1.0
Public Member Functions
Rx::RayCam::IDriver Class Referenceabstract

Driver class initializes the driver and checks for connected and valid devices. You can search for devices, create or delete devices. More...

#include <IDriver.h>

Public Member Functions

virtual IDeviceCreateDevice (int iIdx)=0
 Creates a device. Index represents the device attachment order. More...
 
virtual IDeviceCreateDevice (const char *pcSerial)=0
 Creates a devic with the given serial number. More...
 
virtual void DestroyDevice (IDevice *pDevice)=0
 Destroys the Rx::RayCam::IDevice described by pDevice. More...
 
virtual void DiscoverDevices (int &iDeviceCount)=0
 Discovers devices and returns the total count of all devices. More...
 
virtual void DiscoverDevicesAsync ()=0
 Discover devices asynchronous. For each Device discovered, you will receive a callback invocation of the Plug and Play Connect callback (use RegisterPnPConnectCallback() to register a callback) More...
 
virtual void GetProperty (EDriverProperty::ID eProp, int &theValue)=0
 Gets a driver property of type int. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, double &theValue)=0
 Gets a driver property of type double. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, long long &theValue)=0
 Gets a driver property of type int. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, int &theValue, int &theValue2)=0
 Gets a driver property of type int. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, double &theValue, double &theValue2)=0
 Gets a driver property of type double. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, long long &theValue, long long &theValue2)=0
 Gets a driver property of type int. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, void *theValue, int &theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, char *theValue, int &theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void GetProperty (EDriverProperty::ID eProp, wchar_t *theValue, int &theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void GetPropertyRange (EDriverProperty::ID eProp, int &newMinValue, int &newMaxValue)=0
 Gets a driver property of type int. More...
 
virtual void GetPropertyRange (EDriverProperty::ID eProp, double &newMinValue, double &newMaxValue)=0
 Gets a driver property of type double. More...
 
virtual void GetPropertyRange (EDriverProperty::ID eProp, long long &newMinValue, long long &newMaxValue)=0
 Gets a driver property of type int. More...
 
virtual void HasProperty (EDriverProperty::ID eProp)=0
 Check if a property is available for Get/Set operations. More...
 
virtual void InitDriver (void)=0
 Initializes the driver. Only in case of success it is safe to proceed with e.g. DiscoverDevices(iDeviceCount). More...
 
virtual void InitDriver (void *pvErrorCallBackOwner, TErrorCallback fErrorCallback)=0
 Initializes the driver. Only in case of success it is safe to proceed with e.g. DiscoverDevices(iDeviceCount). More...
 
virtual void RegisterErrorCallback (void *callBackOwner, TErrorCallback fErrorCallback)=0
 Registers the error callback. More...
 
virtual void RegisterPnpConnectCallback (void *callBackOwner, TCallbackFunctionPnpConnect pCallbackFunction)=0
 Registers the callback pnp connect. After registering connect callback, you also have to register the disconnect callback. If you register a PnP callback function, you'll get a callback each time a new camera has been connected computer. More...
 
virtual void RegisterPnpDisconnectCallback (void *callBackOwner, TCallbackFunctionPnpDisconnect pCallbackFunction)=0
 Registers the callback pnp disconnect. After registering disconnect callback, you also have to register the connect callback.If you register a PnP callback function, you'll get a callback each time a new camera has been removed from the computer. You also HAVE to ensure that every device provided by the disconnect callback will be closed and also given back to the driver. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, int newValue)=0
 Sets a driver property of type int. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, double newValue)=0
 Sets a driver property of type double. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, long long newValue)=0
 Sets a driver property of type int. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, int newValue, int newValue2)=0
 Sets a driver property of type int. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, double newValue, double newValue2)=0
 Sets a driver property of type double. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, long long newValue, long long newValue2)=0
 Sets a driver property of type int. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, void *theValue, int theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, char *theValue, int theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void SetProperty (EDriverProperty::ID eProp, wchar_t *theValue, int theSize)=0
 Writes a char array into the theValue buffer. The size of the buffer has to be in theSize. More...
 
virtual void SetPropertyRange (EDriverProperty::ID eProp, int newMinValue, int newMaxValue)=0
 Sets a driver property of type int. More...
 
virtual void SetPropertyRange (EDriverProperty::ID eProp, double newMinValue, double newMaxValue)=0
 Sets a driver property of type double. More...
 
virtual void SetPropertyRange (EDriverProperty::ID eProp, long long newMinValue, long long newMaxValue)=0
 Sets a driver property of type double. More...
 
virtual void UnregisterErrorCallback (void)=0
 Unregisters the error callback. More...
 
virtual void UnregisterPnpConnectCallback (void)=0
 Unregisters the callback pnp connect. More...
 
virtual void UnregisterPnpDisconnectCallback (void)=0
 Unregisters the callback pnp disconnect. More...
 
virtual int UpdateCheck (Rx::RayCam::IDevice *pxCamera)=0
 Checks for updates. More...
 
virtual void UpdateFirmware (Rx::RayCam::IDevice *pxCamera)=0
 Searches for updates and updates the camera firmware. This function call can take up to 2 minutes. More...
 

Detailed Description

Driver class initializes the driver and checks for connected and valid devices. You can search for devices, create or delete devices.

Member Function Documentation

virtual IDevice* Rx::RayCam::IDriver::CreateDevice ( int  iIdx)
pure virtual

Creates a device. Index represents the device attachment order.

Precondition
Rx::RayCam::IDriver::DiscoverDevices() must be called first.
Parameters
iIdxIndex, starting with zero.
Returns
The new Rx::RayCam::IDevice device.
virtual IDevice* Rx::RayCam::IDriver::CreateDevice ( const char *  pcSerial)
pure virtual

Creates a devic with the given serial number.

Precondition
Rx::RayCam::IDriver::DiscoverDevices() must be called first.
Parameters
pcSerial[in] The serial number of the camera to create.
Returns
The new Rx::RayCam::IDevice device.
virtual void Rx::RayCam::IDriver::DestroyDevice ( IDevice pDevice)
pure virtual

Destroys the Rx::RayCam::IDevice described by pDevice.

Parameters
pDevice[in,out] The device.
virtual void Rx::RayCam::IDriver::DiscoverDevices ( int &  iDeviceCount)
pure virtual

Discovers devices and returns the total count of all devices.

Precondition
Rx::RayCam::IDriver::InitDriver() must be called first.
Parameters
iDeviceCount[in,out] Number of devices.
virtual void Rx::RayCam::IDriver::DiscoverDevicesAsync ( )
pure virtual

Discover devices asynchronous. For each Device discovered, you will receive a callback invocation of the Plug and Play Connect callback (use RegisterPnPConnectCallback() to register a callback)

virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
int &  theValue 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
double &  theValue 
)
pure virtual

Gets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
long long &  theValue 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
int &  theValue,
int &  theValue2 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
theValue2[in,out] The second the value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
double &  theValue,
double &  theValue2 
)
pure virtual

Gets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
theValue2[in,out] The second the value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
long long &  theValue,
long long &  theValue2 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value.
theValue2[in,out] The second the value.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
void *  theValue,
int &  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSize[in,out] Size of the buffer.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
char *  theValue,
int &  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSize[in,out] Size of the buffer.
virtual void Rx::RayCam::IDriver::GetProperty ( EDriverProperty::ID  eProp,
wchar_t *  theValue,
int &  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSize[in,out] Size of the buffer.
virtual void Rx::RayCam::IDriver::GetPropertyRange ( EDriverProperty::ID  eProp,
int &  newMinValue,
int &  newMaxValue 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValue[in,out] The value.
newMaxValue[in,out] The new maximum value.
virtual void Rx::RayCam::IDriver::GetPropertyRange ( EDriverProperty::ID  eProp,
double &  newMinValue,
double &  newMaxValue 
)
pure virtual

Gets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValue[in,out] The value.
newMaxValue[in,out] The new maximum value.
virtual void Rx::RayCam::IDriver::GetPropertyRange ( EDriverProperty::ID  eProp,
long long &  newMinValue,
long long &  newMaxValue 
)
pure virtual

Gets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValue[in,out] The value.
newMaxValue[in,out] The new maximum value.
virtual void Rx::RayCam::IDriver::HasProperty ( EDriverProperty::ID  eProp)
pure virtual

Check if a property is available for Get/Set operations.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
virtual void Rx::RayCam::IDriver::InitDriver ( void  )
pure virtual

Initializes the driver. Only in case of success it is safe to proceed with e.g. DiscoverDevices(iDeviceCount).

Precondition
Rx::RayCam::CreateDriver() must be called first.
virtual void Rx::RayCam::IDriver::InitDriver ( void *  pvErrorCallBackOwner,
TErrorCallback  fErrorCallback 
)
pure virtual

Initializes the driver. Only in case of success it is safe to proceed with e.g. DiscoverDevices(iDeviceCount).

Precondition
Rx::RayCam::CreateDriver() must be called first.
virtual void Rx::RayCam::IDriver::RegisterErrorCallback ( void *  callBackOwner,
TErrorCallback  fErrorCallback 
)
pure virtual

Registers the error callback.

Parameters
callBackOwner[in] If non-null, the owner of the callback.
fErrorCallbackThe error callback.
virtual void Rx::RayCam::IDriver::RegisterPnpConnectCallback ( void *  callBackOwner,
TCallbackFunctionPnpConnect  pCallbackFunction 
)
pure virtual

Registers the callback pnp connect. After registering connect callback, you also have to register the disconnect callback. If you register a PnP callback function, you'll get a callback each time a new camera has been connected computer.

Parameters
callBackOwner[in,out] If non-null, the owner of the call back.
pCallbackFunctionThe callback function.
virtual void Rx::RayCam::IDriver::RegisterPnpDisconnectCallback ( void *  callBackOwner,
TCallbackFunctionPnpDisconnect  pCallbackFunction 
)
pure virtual

Registers the callback pnp disconnect. After registering disconnect callback, you also have to register the connect callback.If you register a PnP callback function, you'll get a callback each time a new camera has been removed from the computer. You also HAVE to ensure that every device provided by the disconnect callback will be closed and also given back to the driver.

Parameters
callBackOwner[in,out] If non-null, the owner of the call back.
pCallbackFunctionThe callback function.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
int  newValue 
)
pure virtual

Sets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
double  newValue 
)
pure virtual

Sets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
long long  newValue 
)
pure virtual

Sets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
int  newValue,
int  newValue2 
)
pure virtual

Sets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
newValue2The second new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
double  newValue,
double  newValue2 
)
pure virtual

Sets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
newValue2The second new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
long long  newValue,
long long  newValue2 
)
pure virtual

Sets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newValueThe new value.
newValue2The second new value.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
void *  theValue,
int  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSizeSize of the buffer.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
char *  theValue,
int  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSizeSize of the buffer.
virtual void Rx::RayCam::IDriver::SetProperty ( EDriverProperty::ID  eProp,
wchar_t *  theValue,
int  theSize 
)
pure virtual

Writes a char array into the theValue buffer. The size of the buffer has to be in theSize.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
theValue[in,out] The value buffer.
theSizeSize of the buffer.
virtual void Rx::RayCam::IDriver::SetPropertyRange ( EDriverProperty::ID  eProp,
int  newMinValue,
int  newMaxValue 
)
pure virtual

Sets a driver property of type int.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValueThe new value.
newMaxValueThe new maximum value.
virtual void Rx::RayCam::IDriver::SetPropertyRange ( EDriverProperty::ID  eProp,
double  newMinValue,
double  newMaxValue 
)
pure virtual

Sets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValueThe new value.
newMaxValueThe new maximum value.
virtual void Rx::RayCam::IDriver::SetPropertyRange ( EDriverProperty::ID  eProp,
long long  newMinValue,
long long  newMaxValue 
)
pure virtual

Sets a driver property of type double.

Parameters
ePropThe Rx::RayCam::EDriverProperty::ID property.
newMinValueThe new value.
newMaxValueThe new maximum value.
virtual void Rx::RayCam::IDriver::UnregisterErrorCallback ( void  )
pure virtual

Unregisters the error callback.

virtual void Rx::RayCam::IDriver::UnregisterPnpConnectCallback ( void  )
pure virtual

Unregisters the callback pnp connect.

virtual void Rx::RayCam::IDriver::UnregisterPnpDisconnectCallback ( void  )
pure virtual

Unregisters the callback pnp disconnect.

virtual int Rx::RayCam::IDriver::UpdateCheck ( Rx::RayCam::IDevice pxCamera)
pure virtual

Checks for updates.

Precondition
Rx::RayCam::IDevice::Open() must be called first.
Parameters
pxCamera[in] The camera you want to update.
Returns
-1 if a firmware downgrade is available, 0 if disk and firmware are the same, 1 if a firmware upgrade is available.
virtual void Rx::RayCam::IDriver::UpdateFirmware ( Rx::RayCam::IDevice pxCamera)
pure virtual

Searches for updates and updates the camera firmware. This function call can take up to 2 minutes.

Attention
Do NOT disconnect the camera while your program is inside this function.
You can use this function only with one camera connected to your computer.
Parameters
pxCamera[in] The camera you want to update.

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