The system class encapsulates a Genicam transport layer.
More...
#include <system.h>
|
static void | clearSystems () |
| Clears the internal list of systems. More...
|
|
static std::vector< std::shared_ptr< System > > | getSystems () |
| This function creates systems for all producers that can be found. More...
|
|
static bool | setSystemsPath (const char *path, const char *ignore) |
| Set the path for finding GenTL producers on the file system and the name of a producer that should be ignored. More...
|
|
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.
◆ ~System()
◆ System() [1/2]
rcg::System::System |
( |
const std::string & |
_filename | ) |
|
|
private |
◆ System() [2/2]
rcg::System::System |
( |
class System & |
| ) |
|
|
private |
◆ clearInterfaces()
void rcg::System::clearInterfaces |
( |
| ) |
|
|
private |
◆ clearSystems()
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 282 of file system.cc.
◆ close()
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 315 of file system.cc.
◆ getDisplayName()
std::string rcg::System::getDisplayName |
( |
| ) |
|
Returns the display name of the GenTL provider.
- Returns
- Display name.
Definition at line 513 of file system.cc.
◆ getFilename()
const std::string & rcg::System::getFilename |
( |
| ) |
const |
Get file name from which this system was created.
- Returns
- File name.
Definition at line 295 of file system.cc.
◆ getHandle()
void * rcg::System::getHandle |
( |
| ) |
const |
Get internal handle of open transport layer.
- Returns
- Internal handle.
Definition at line 599 of file system.cc.
◆ getID()
std::string rcg::System::getID |
( |
| ) |
|
Returns the ID of the GenTL provider.
- Returns
- ID.
Definition at line 471 of file system.cc.
◆ getInterfaces()
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 352 of file system.cc.
◆ getMajorVersion()
int rcg::System::getMajorVersion |
( |
| ) |
|
Returns the major version number.
- Returns
- Major version number.
Definition at line 547 of file system.cc.
◆ getMinorVersion()
int rcg::System::getMinorVersion |
( |
| ) |
|
Returns the minor version number.
- Returns
- Minor version number.
Definition at line 567 of file system.cc.
◆ getModel()
std::string rcg::System::getModel |
( |
| ) |
|
Returns the model of the GenTL provider.
- Returns
- Model.
Definition at line 483 of file system.cc.
◆ getName()
std::string rcg::System::getName |
( |
| ) |
|
Returns the file name of the GenTL provider.
- Returns
- File name.
Definition at line 501 of file system.cc.
◆ 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 587 of file system.cc.
◆ getPathname()
std::string rcg::System::getPathname |
( |
| ) |
|
Returns the full path name of the GenTL provider.
- Returns
- Full path name.
Definition at line 507 of file system.cc.
◆ getSystems()
std::vector< std::shared_ptr< System > > rcg::System::getSystems |
( |
| ) |
|
|
static |
This function creates systems for all producers that can be found.
See also setSystemPath() for and explanation where the producers are sought.
NOTE: This is the only method that can instantiate System objects.
- Returns
- List of available systems.
Definition at line 201 of file system.cc.
◆ getTLType()
std::string rcg::System::getTLType |
( |
| ) |
|
Returns the transport layer type of the GenTL provider.
- Returns
- Transport layer type.
Definition at line 495 of file system.cc.
◆ getVendor()
std::string rcg::System::getVendor |
( |
| ) |
|
Returns the vendor name of the GenTL provider.
- Returns
- Vendor name.
Definition at line 477 of file system.cc.
◆ getVersion()
std::string rcg::System::getVersion |
( |
| ) |
|
Returns the version of the GenTL provider.
- Returns
- Version.
Definition at line 489 of file system.cc.
◆ isCharEncodingASCII()
bool rcg::System::isCharEncodingASCII |
( |
| ) |
|
Returns the character encoding.
- Returns
- True for ASCII, false for UTF8.
Definition at line 519 of file system.cc.
◆ open()
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 300 of file system.cc.
◆ operator=()
◆ setSystemsPath()
bool rcg::System::setSystemsPath |
( |
const char * |
path, |
|
|
const char * |
ignore |
|
) |
| |
|
static |
Set the path for finding GenTL producers on the file system and the name of a producer that should be ignored.
NODE: This function must be called before the first call to getSystems() or after calling clearSystems().
If this function is not called before calling getSystems() for the first time, then the path is taken from the environment variable GENICAM_GENTL32_PATH or GENICAM_GENTL64_PATH (depending on the compilation with 32 or 64 bit). If that variable is empty or not defined, then the install directory of the GenTL producers that are included in the rc_genicam_api are used.
- Parameters
-
path | List of GenTL producers with absolute path or directories with producers (i.e. with suffix .cti). The files or directories are separated by ';' under Windows or ':' under Linux. The parameter can be 0 or "" for using the install directory of the GenTL producers that are included in the rc_genicam_api. |
ignore | Name of producer (i.e. file name without path) that is ignored. This parameter can be 0. |
- Returns
- False if either setSystemsPath() or setSystems() was called before.
Definition at line 118 of file system.cc.
◆ cport
std::shared_ptr<CPort> rcg::System::cport |
|
private |
◆ filename
std::string rcg::System::filename |
|
private |
◆ gentl
◆ ilist
std::vector<std::shared_ptr<Interface> > rcg::System::ilist |
|
private |
◆ mtx
std::recursive_mutex rcg::System::mtx |
|
private |
◆ n_open
◆ nodemap
◆ tl
The documentation for this class was generated from the following files: