A container for a device driver. More...
#include <yarp/dev/PolyDriver.h>
Classes | |
class | Private |
Public Member Functions | |
PolyDriver () | |
Constructor. | |
PolyDriver (const std::string &txt) | |
Construct and configure a device by its common name. | |
PolyDriver (yarp::os::Searchable &config) | |
Create and configure a device, by name. | |
virtual | ~PolyDriver () |
Destructor. | |
PolyDriver (const PolyDriver &alt)=delete | |
const PolyDriver & | operator= (const PolyDriver &alt)=delete |
bool | open (const std::string &txt) |
Construct and configure a device by its common name. | |
bool | open (yarp::os::Searchable &config) override |
Create and configure a device, by name. | |
bool | link (PolyDriver &alt) |
Make this device be a link to an existing one. | |
DeviceDriver * | take () |
Gets the device this object manages. | |
bool | give (DeviceDriver *dd, bool own) |
Take on management of a device. | |
bool | close () override |
Close the DeviceDriver. | |
bool | isValid () const |
Check if device is valid. | |
yarp::os::Bottle | getOptions () |
After a call to PolyDriver::open, you can get a list of all the options checked by the device. | |
std::string | getComment (const char *option) |
After a call to PolyDriver::open, you can check if the device has documentation on a given option. | |
yarp::os::Value | getDefaultValue (const char *option) |
After a call to PolyDriver::open, you can check if a given option has a particular default value. | |
yarp::os::Value | getValue (const char *option) |
After a call to PolyDriver::open, you can check what value was found for a particular option, if any. | |
DeviceDriver * | getImplementation () override |
Some drivers are bureaucrats, pointing at others. | |
bool | open (yarp::os::Searchable &config) override |
Open the DeviceDriver. | |
Public Member Functions inherited from yarp::dev::DeviceDriver | |
DeviceDriver () | |
DeviceDriver (const DeviceDriver &other)=delete | |
DeviceDriver (DeviceDriver &&other) noexcept=delete | |
DeviceDriver & | operator= (const DeviceDriver &other)=delete |
DeviceDriver & | operator= (DeviceDriver &&other) noexcept=delete |
~DeviceDriver () override | |
virtual std::string | id () const |
Return the id assigned to the PolyDriver. | |
virtual void | setId (const std::string &id) |
Set the id for this device. | |
template<class T > | |
bool | view (T *&x) |
Get an interface to the device driver. | |
Public Member Functions inherited from yarp::os::IConfig | |
virtual | ~IConfig () |
Destructor. | |
virtual bool | configure (Searchable &config) |
Change online parameters. | |
A container for a device driver.
Definition at line 21 of file PolyDriver.h.
PolyDriver::PolyDriver | ( | ) |
Constructor.
Definition at line 108 of file PolyDriver.cpp.
PolyDriver::PolyDriver | ( | const std::string & | txt | ) |
Construct and configure a device by its common name.
txt | common name of the device |
Definition at line 115 of file PolyDriver.cpp.
PolyDriver::PolyDriver | ( | yarp::os::Searchable & | config | ) |
Create and configure a device, by name.
The config object should have a property called "device" that is set to the common name of the device. All other properties are passed on the the device's DeviceDriver::open method.
config | configuration options for the device |
Definition at line 123 of file PolyDriver.cpp.
|
virtual |
Destructor.
Definition at line 131 of file PolyDriver.cpp.
|
delete |
|
overridevirtual |
Close the DeviceDriver.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 173 of file PolyDriver.cpp.
After a call to PolyDriver::open, you can check if the device has documentation on a given option.
option | the name of the option to check |
Definition at line 232 of file PolyDriver.cpp.
After a call to PolyDriver::open, you can check if a given option has a particular default value.
option | the name of the option to check |
Definition at line 240 of file PolyDriver.cpp.
|
overridevirtual |
Some drivers are bureaucrats, pointing at others.
Such drivers override this method.
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 370 of file PolyDriver.cpp.
Bottle PolyDriver::getOptions | ( | ) |
After a call to PolyDriver::open, you can get a list of all the options checked by the device.
Definition at line 224 of file PolyDriver.cpp.
After a call to PolyDriver::open, you can check what value was found for a particular option, if any.
option | the name of the option to check |
Definition at line 248 of file PolyDriver.cpp.
bool PolyDriver::give | ( | DeviceDriver * | dd, |
bool | own | ||
) |
Take on management of a device.
The PolyDriver may be responsible for destroying it.
dd | the device to manage. |
own | true if PolyDriver should destroy device when done. |
Definition at line 354 of file PolyDriver.cpp.
bool PolyDriver::isValid | ( | ) | const |
Check if device is valid.
Definition at line 196 of file PolyDriver.cpp.
bool PolyDriver::link | ( | PolyDriver & | alt | ) |
Make this device be a link to an existing one.
The device will be reference counted, and destroyed when the last relevant call to close() is made.
alt | the device to link to |
Definition at line 201 of file PolyDriver.cpp.
Construct and configure a device by its common name.
txt | common name of the device |
Definition at line 140 of file PolyDriver.cpp.
|
inlineoverridevirtual |
Open the DeviceDriver.
config | is a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device). |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 53 of file DeviceDriver.h.
|
overridevirtual |
Create and configure a device, by name.
The config object should have a property called "device" that is set to the common name of the device. All other properties are passed on the the device's DeviceDriver::open method.
config | configuration options for the device |
Reimplemented from yarp::dev::DeviceDriver.
Definition at line 148 of file PolyDriver.cpp.
|
delete |
DeviceDriver * PolyDriver::take | ( | ) |
Gets the device this object manages.
The user is then responsible for managing it.
Definition at line 346 of file PolyDriver.cpp.