Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
rcg::System Class Reference

The system class encapsulates a Genicam transport layer. More...

#include <system.h>

Inheritance diagram for rcg::System:
Inheritance graph
[legend]

Public Member Functions

void close ()
 Closes the system. More...
 
std::string getDisplayName ()
 Returns the display name of the GenTL provider. More...
 
const std::string & getFilename () const
 Get file name from which this system was created. More...
 
void * getHandle () const
 Get internal handle of open transport layer. More...
 
std::string getID ()
 Returns the ID of the GenTL provider. More...
 
std::vector< std::shared_ptr< Interface > > getInterfaces ()
 Returns the currently available interfaces. More...
 
int getMajorVersion ()
 Returns the major version number. More...
 
int getMinorVersion ()
 Returns the minor version number. More...
 
std::string getModel ()
 Returns the model of the GenTL provider. More...
 
std::string getName ()
 Returns the file name of the GenTL provider. More...
 
std::shared_ptr< GenApi::CNodeMapRefgetNodeMap ()
 Returns the node map of this object. More...
 
std::string getPathname ()
 Returns the full path name of the GenTL provider. More...
 
std::string getTLType ()
 Returns the transport layer type of the GenTL provider. More...
 
std::string getVendor ()
 Returns the vendor name of the GenTL provider. More...
 
std::string getVersion ()
 Returns the version of the GenTL provider. More...
 
bool isCharEncodingASCII ()
 Returns the character encoding. More...
 
void open ()
 Opens the system for working with it. More...
 
 ~System ()
 

Static Public Member Functions

static void clearSystems ()
 Clears the internal list of systems. More...
 
static std::vector< std::shared_ptr< System > > getSystems ()
 Returns a list of systems (i.e. More...
 

Private Member Functions

Systemoperator= (const System &)
 
 System (const std::string &_filename)
 
 System (class System &)
 

Private Attributes

std::shared_ptr< CPortcport
 
std::string filename
 
std::shared_ptr< const GenTLWrappergentl
 
std::vector< std::weak_ptr< Interface > > ilist
 
std::mutex mtx
 
int n_open
 
std::shared_ptr< GenApi::CNodeMapRefnodemap
 
void * tl
 

Detailed Description

The system class encapsulates a Genicam transport layer.

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

Definition at line 58 of file system.h.

Constructor & Destructor Documentation

rcg::System::~System ( )

Definition at line 55 of file system.cc.

rcg::System::System ( const std::string &  _filename)
private

Definition at line 514 of file system.cc.

rcg::System::System ( class System )
private

Member Function Documentation

void rcg::System::clearSystems ( )
static

Clears the internal list of systems.

This may be called before exit so that all resources are cleaned before leaving the main function.

Definition at line 213 of file system.cc.

void rcg::System::close ( )

Closes the system.

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

Definition at line 239 of file system.cc.

std::string rcg::System::getDisplayName ( )

Returns the display name of the GenTL provider.

Returns
Display name.

Definition at line 423 of file system.cc.

const std::string & rcg::System::getFilename ( ) const

Get file name from which this system was created.

Returns
File name.

Definition at line 219 of file system.cc.

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

Get internal handle of open transport layer.

Returns
Internal handle.

Definition at line 509 of file system.cc.

std::string rcg::System::getID ( )

Returns the ID of the GenTL provider.

Returns
ID.

Definition at line 381 of file system.cc.

std::vector< std::shared_ptr< Interface > > rcg::System::getInterfaces ( )

Returns the currently available interfaces.

NOTE: open() must be called before calling this method.

Returns
List of interfaces.

Definition at line 276 of file system.cc.

int rcg::System::getMajorVersion ( )

Returns the major version number.

Returns
Major version number.

Definition at line 457 of file system.cc.

int rcg::System::getMinorVersion ( )

Returns the minor version number.

Returns
Minor version number.

Definition at line 477 of file system.cc.

std::string rcg::System::getModel ( )

Returns the model of the GenTL provider.

Returns
Model.

Definition at line 393 of file system.cc.

std::string rcg::System::getName ( )

Returns the file name of the GenTL provider.

Returns
File name.

Definition at line 411 of file system.cc.

std::shared_ptr< GenApi::CNodeMapRef > rcg::System::getNodeMap ( )

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 497 of file system.cc.

std::string rcg::System::getPathname ( )

Returns the full path name of the GenTL provider.

Returns
Full path name.

Definition at line 417 of file system.cc.

std::vector< std::shared_ptr< System > > rcg::System::getSystems ( )
static

Returns a list of systems (i.e.

transport layers) that is currently available. For discovering available transport layers, the environment variable GENICAM_GENTL32_PATH or GENICAM_GENTL64_PATH (depending on the compilation with 32 or 64 bit) is used. In case the environment variable is not set or is empty, a default path is used, which points to the GenTL layer that is bundled with rc_genicam_api.

NOTE: This is the only method that can instantiate System objects.

Returns
List of all available transport layers.

Definition at line 116 of file system.cc.

std::string rcg::System::getTLType ( )

Returns the transport layer type of the GenTL provider.

Returns
Transport layer type.

Definition at line 405 of file system.cc.

std::string rcg::System::getVendor ( )

Returns the vendor name of the GenTL provider.

Returns
Vendor name.

Definition at line 387 of file system.cc.

std::string rcg::System::getVersion ( )

Returns the version of the GenTL provider.

Returns
Version.

Definition at line 399 of file system.cc.

bool rcg::System::isCharEncodingASCII ( )

Returns the character encoding.

Returns
True for ASCII, false for UTF8.

Definition at line 429 of file system.cc.

void rcg::System::open ( )

Opens the system for working with it.

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

Definition at line 224 of file system.cc.

System& rcg::System::operator= ( const System )
private

Member Data Documentation

std::shared_ptr<CPort> rcg::System::cport
private

Definition at line 240 of file system.h.

std::string rcg::System::filename
private

Definition at line 232 of file system.h.

std::shared_ptr<const GenTLWrapper> rcg::System::gentl
private

Definition at line 233 of file system.h.

std::vector<std::weak_ptr<Interface> > rcg::System::ilist
private

Definition at line 243 of file system.h.

std::mutex rcg::System::mtx
private

Definition at line 235 of file system.h.

int rcg::System::n_open
private

Definition at line 237 of file system.h.

std::shared_ptr<GenApi::CNodeMapRef> rcg::System::nodemap
private

Definition at line 241 of file system.h.

void* rcg::System::tl
private

Definition at line 238 of file system.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 19:10:56