Public Member Functions | Private Member Functions | Private Attributes
rcg::Interface Class Reference

The interface class encapsulates a Genicam interface. More...

#include <interface.h>

List of all members.

Public Member Functions

void close ()
 Closes the interface.
std::shared_ptr< DevicegetDevice (const char *devid)
 Returns a device with the given device id.
std::vector< std::shared_ptr
< Device > > 
getDevices ()
 Returns the currently available devices on this interface.
std::string getDisplayName ()
 Returns the display name of the interface.
void * getHandle () const
 Get internal interace handle.
const std::string & getID () const
 Get the internal ID of this interface.
std::shared_ptr
< GenApi::CNodeMapRef
getNodeMap ()
 Returns the node map of this object.
std::shared_ptr< SystemgetParent () const
 Returns the pointer to the parent system object.
std::string getTLType ()
 Returns the transport layer type of the interface.
 Interface (const std::shared_ptr< System > &parent, const std::shared_ptr< const GenTLWrapper > &gentl, const char *id)
 Constructs an interface class.
void open ()
 Opens the interface for working with it.
 ~Interface ()

Private Member Functions

 Interface (class Interface &)
Interfaceoperator= (const Interface &)

Private Attributes

std::shared_ptr< CPortcport
std::vector< std::weak_ptr
< Device > > 
dlist
std::shared_ptr< const
GenTLWrapper
gentl
std::string id
void * ifh
std::mutex mtx
int n_open
std::shared_ptr
< GenApi::CNodeMapRef
nodemap
std::shared_ptr< Systemparent

Detailed Description

The interface class encapsulates a Genicam interface.

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

Definition at line 54 of file interface.h.


Constructor & Destructor Documentation

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

Constructs an interface class.

Interfaces must only be created by the system class.

Definition at line 48 of file interface.cc.

Definition at line 59 of file interface.cc.

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

Member Function Documentation

Closes the interface.

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

Definition at line 100 of file interface.cc.

std::shared_ptr< Device > rcg::Interface::getDevice ( const char *  devid)

Returns a device with the given device id.

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

Returns:
Pointer to device or std::nullptr.

Definition at line 210 of file interface.cc.

std::vector< std::shared_ptr< Device > > rcg::Interface::getDevices ( )

Returns the currently available devices on this interface.

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

Returns:
List of devices.

Definition at line 139 of file interface.cc.

Returns the display name of the interface.

NOTE: At least the parent object must have been opened before calling this method.

Returns:
Display name.

Definition at line 279 of file interface.cc.

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

Get internal interace handle.

Returns:
Internal handle.

Definition at line 303 of file interface.cc.

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

Get the internal ID of this interface.

Returns:
ID.

Definition at line 73 of file interface.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 291 of file interface.cc.

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

Returns the pointer to the parent system object.

Returns:
Pointer to parent system object.

Definition at line 68 of file interface.cc.

std::string rcg::Interface::getTLType ( )

Returns the transport layer type of the interface.

NOTE: At least the parent object must have been opened before calling this method.

Returns:
Transport layer type.

Definition at line 285 of file interface.cc.

Opens the interface 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 78 of file interface.cc.

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

Member Data Documentation

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

Definition at line 173 of file interface.h.

std::vector<std::weak_ptr<Device> > rcg::Interface::dlist [private]

Definition at line 176 of file interface.h.

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

Definition at line 165 of file interface.h.

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

Definition at line 166 of file interface.h.

void* rcg::Interface::ifh [private]

Definition at line 171 of file interface.h.

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

Definition at line 168 of file interface.h.

int rcg::Interface::n_open [private]

Definition at line 170 of file interface.h.

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

Definition at line 174 of file interface.h.

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

Definition at line 164 of file interface.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