yarp-devices
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Attributes | List of all members
roboticslab::RawDevice Class Referencefinal

Immutable container for YARP raw interface handles. More...

#include <RawDevice.hpp>

Classes

struct  Private
 

Public Member Functions

 RawDevice (yarp::dev::PolyDriver *driver)
 Constructor, extracts all interface handles of the supplied driver.
 
 ~RawDevice ()
 Destructor.
 
template<typename T >
T * getHandle () const
 Retrieve a handle to a raw interface implemented by the device.
 
std::string getId () const
 Retrieve the device id (can be an empty string if not set).
 
template<typename T >
T * castToType () const
 Perform a dynamic cast on the given type.
 
bool isValid () const
 Whether this instance wraps a device with a supported interface.
 
template<>
yarp::dev::IAmplifierControlRaw * getHandle () const
 
template<>
yarp::dev::IAxisInfoRaw * getHandle () const
 
template<>
yarp::dev::IControlCalibrationRaw * getHandle () const
 
template<>
yarp::dev::IControlLimitsRaw * getHandle () const
 
template<>
yarp::dev::IControlModeRaw * getHandle () const
 
template<>
yarp::dev::ICurrentControlRaw * getHandle () const
 
template<>
yarp::dev::IEncodersRaw * getHandle () const
 
template<>
yarp::dev::IEncodersTimedRaw * getHandle () const
 
template<>
yarp::dev::IImpedanceControlRaw * getHandle () const
 
template<>
yarp::dev::IInteractionModeRaw * getHandle () const
 
template<>
yarp::dev::IJointFaultRaw * getHandle () const
 
template<>
yarp::dev::IMotorRaw * getHandle () const
 
template<>
yarp::dev::IMotorEncodersRaw * getHandle () const
 
template<>
yarp::dev::IPidControlRaw * getHandle () const
 
template<>
yarp::dev::IPositionControlRaw * getHandle () const
 
template<>
yarp::dev::IPositionDirectRaw * getHandle () const
 
template<>
yarp::dev::IPWMControlRaw * getHandle () const
 
template<>
yarp::dev::IRemoteVariablesRaw * getHandle () const
 
template<>
yarp::dev::IVelocityControlRaw * getHandle () const
 
template<>
yarp::dev::ITorqueControlRaw * getHandle () const
 
template<>
yarp::dev::IThreeAxisGyroscopes * getHandle () const
 
template<>
yarp::dev::IThreeAxisLinearAccelerometers * getHandle () const
 
template<>
yarp::dev::IThreeAxisMagnetometers * getHandle () const
 
template<>
yarp::dev::IOrientationSensors * getHandle () const
 
template<>
yarp::dev::ITemperatureSensors * getHandle () const
 
template<>
yarp::dev::ISixAxisForceTorqueSensors * getHandle () const
 
template<>
yarp::dev::IContactLoadCellArrays * getHandle () const
 
template<>
yarp::dev::IEncoderArrays * getHandle () const
 
template<>
yarp::dev::ISkinPatches * getHandle () const
 
template<>
yarp::dev::IPositionSensors * getHandle () const
 

Private Attributes

std::unique_ptr< Privatepriv
 
yarp::dev::PolyDriver * driver {nullptr}
 
bool valid {false}
 

Detailed Description

Performs all RTTI stuff on initial configuration to avoid abusing dynamic_cast on runtime.

Member Function Documentation

◆ castToType()

template<typename T >
T * roboticslab::RawDevice::castToType ( ) const
inline
Template Parameters
TA type the original driver should be able to be cast to.

◆ getHandle()

template<typename T >
T * roboticslab::RawDevice::getHandle ( ) const
Template Parameters
TYARP raw interface.

◆ getId()

std::string roboticslab::RawDevice::getId ( ) const
inline
Returns
A string containing the device id.

◆ isValid()

bool roboticslab::RawDevice::isValid ( ) const
inline
Returns
True if the device exists and has at least one supported interface.

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