Public Types | Public Member Functions | Private Member Functions | Private Attributes
rcg::Device Class Reference

The device class encapsulates a Genicam device. More...

#include <device.h>

List of all members.

Public Types

enum  ACCESS { READONLY, CONTROL, EXCLUSIVE }

Public Member Functions

void close ()
 Closes the device.
 Device (const std::shared_ptr< Interface > &parent, const std::shared_ptr< const GenTLWrapper > &gentl, const char *id)
 Constructs a device class.
std::string getAccessStatus ()
 Returns the access status of the device.
std::string getDisplayName ()
 Returns the display name of the device.
void * getHandle () const
 Get internal interface handle.
const std::string & getID () const
 Get the internal ID of this device.
std::string getModel ()
 Returns the model of the device.
std::shared_ptr
< GenApi::CNodeMapRef
getNodeMap ()
 Returns the node map of this object.
std::shared_ptr< InterfacegetParent () const
 Returns the pointer to the parent interface object.
std::shared_ptr
< GenApi::CNodeMapRef
getRemoteNodeMap (const char *xml=0)
 Returns the node map of the remote device.
std::string getSerialNumber ()
 Returns the serial number of the device.
std::vector< std::shared_ptr
< Stream > > 
getStreams ()
 Returns the currently available streams of this device.
uint64_t getTimestampFrequency ()
 Returns the timestamp frequency of the device.
std::string getTLType ()
 Returns the transport layer type of the device.
std::string getUserDefinedName ()
 Returns the user defined name of the device.
std::string getVendor ()
 Returns the vendor of the device.
std::string getVersion ()
 Returns the version of the device.
void open (ACCESS access)
 Opens the device for working with it.
 ~Device ()

Private Member Functions

 Device (class Device &)
Deviceoperator= (const Device &)

Private Attributes

std::shared_ptr< CPortcport
void * dev
std::shared_ptr< const
GenTLWrapper
gentl
std::string id
std::mutex mtx
int n_open
std::shared_ptr
< GenApi::CNodeMapRef
nodemap
std::shared_ptr< Interfaceparent
std::shared_ptr
< GenApi::CNodeMapRef
rnodemap
void * rp
std::shared_ptr< CPortrport
std::vector< std::weak_ptr
< Stream > > 
slist

Detailed Description

The device class encapsulates a Genicam device.

NOTE: A GenTLException is thrown in case of a severe error.

Definition at line 54 of file device.h.


Member Enumeration Documentation

Enumerator:
READONLY 
CONTROL 
EXCLUSIVE 

Definition at line 58 of file device.h.


Constructor & Destructor Documentation

rcg::Device::Device ( const std::shared_ptr< Interface > &  parent,
const std::shared_ptr< const GenTLWrapper > &  gentl,
const char *  id 
)

Constructs a device class.

Devices must only be created by the interface class.

Definition at line 48 of file device.cc.

Definition at line 60 of file device.cc.

rcg::Device::Device ( class Device ) [private]

Member Function Documentation

Closes the device.

Each call of open() must be followed by a call to close() at some point in time.

Definition at line 137 of file device.cc.

Returns the access status of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Access status.

Definition at line 305 of file device.cc.

std::string rcg::Device::getDisplayName ( )

Returns the display name of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Display name.

Definition at line 299 of file device.cc.

void * rcg::Device::getHandle ( ) const

Get internal interface handle.

Returns:
Internal handle.

Definition at line 432 of file device.cc.

const std::string & rcg::Device::getID ( ) const

Get the internal ID of this device.

Returns:
ID.

Definition at line 80 of file device.cc.

std::string rcg::Device::getModel ( )

Returns the model of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Model.

Definition at line 287 of file device.cc.

Returns the node map of this object.

NOTE: open() must be called before calling this method. The returned pointer remains valid until close() of this object is called.

Returns:
Node map of this object.

Definition at line 403 of file device.cc.

std::shared_ptr< Interface > rcg::Device::getParent ( ) const

Returns the pointer to the parent interface object.

Returns:
Pointer to parent interface object.

Definition at line 75 of file device.cc.

std::shared_ptr< GenApi::CNodeMapRef > rcg::Device::getRemoteNodeMap ( const char *  xml = 0)

Returns the node map of the remote device.

NOTE: open() must be called before calling this method. The returned pointer remains valid until close() of this object is called.

Parameters:
xmlPath and name for storing the received XML file or 0 if xml file should not be stored.
Returns:
Node map of this object.

Definition at line 416 of file device.cc.

Returns the serial number of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Serial number.

Definition at line 371 of file device.cc.

std::vector< std::shared_ptr< Stream > > rcg::Device::getStreams ( )

Returns the currently available streams of this device.

NOTE: The device must have been opened with the open() call before calling this method.

Returns:
List of streams.

Definition at line 180 of file device.cc.

Returns the timestamp frequency of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Tick-frequency of the time stamp clock.

Definition at line 383 of file device.cc.

std::string rcg::Device::getTLType ( )

Returns the transport layer type of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Transport layer type.

Definition at line 293 of file device.cc.

Returns the user defined name of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
User defined name.

Definition at line 365 of file device.cc.

std::string rcg::Device::getVendor ( )

Returns the vendor of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Vendor.

Definition at line 281 of file device.cc.

std::string rcg::Device::getVersion ( )

Returns the version of the device.

NOTE: This method only returns a non empty string if the parent interface has NOT been closed after Interface::getDevice() or Interface::getDevices() call, or if this device itself has been opened with the open() call.

Returns:
Version.

Definition at line 377 of file device.cc.

void rcg::Device::open ( ACCESS  access)

Opens the device for working with it.

The interface may be opened multiple times. However, for each open(), the close() method must be called as well.

Definition at line 85 of file device.cc.

Device& rcg::Device::operator= ( const Device ) [private]

Member Data Documentation

std::shared_ptr<CPort> rcg::Device::cport [private]

Definition at line 266 of file device.h.

void* rcg::Device::dev [private]

Definition at line 263 of file device.h.

std::shared_ptr<const GenTLWrapper> rcg::Device::gentl [private]

Definition at line 257 of file device.h.

std::string rcg::Device::id [private]

Definition at line 258 of file device.h.

std::mutex rcg::Device::mtx [private]

Definition at line 260 of file device.h.

int rcg::Device::n_open [private]

Definition at line 262 of file device.h.

std::shared_ptr<GenApi::CNodeMapRef> rcg::Device::nodemap [private]

Definition at line 267 of file device.h.

std::shared_ptr<Interface> rcg::Device::parent [private]

Definition at line 256 of file device.h.

std::shared_ptr<GenApi::CNodeMapRef> rcg::Device::rnodemap [private]

Definition at line 267 of file device.h.

void* rcg::Device::rp [private]

Definition at line 264 of file device.h.

std::shared_ptr<CPort> rcg::Device::rport [private]

Definition at line 266 of file device.h.

std::vector<std::weak_ptr<Stream> > rcg::Device::slist [private]

Definition at line 269 of file device.h.


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


rc_genicam_api
Author(s): Heiko Hirschmueller
autogenerated on Thu Jun 6 2019 18:42:49