Class used as an interface for underlying devices that can have device components (corresponding to interface classes) More...
#include <osvr/Common/BaseDevice.h>
Public Member Functions | |
virtual | ~BaseDevice () |
Virtual destructor. More... | |
template<typename T > | |
T * | addComponent (shared_ptr< T > component) |
Adds a component to a base device. More... | |
void | registerHandler (vrpn_MESSAGEHANDLER handler, void *userdata, RawMessageType const &msgType) |
void | unregisterHandler (vrpn_MESSAGEHANDLER handler, void *userdata, RawMessageType const &msgType) |
template<typename T > | |
void | registerMessageType (MessageRegistration< T > &messageReg) |
Call with a MessageRegistration object, and the message type will be registered and stored in the type field. | |
RawSenderType | getSender () |
void | update () |
Called from the outside to run the mainloop on the device and its components. | |
void | sendPending () |
Called from a component to send pending messages instead of waiting for next time. | |
template<typename T , typename ClassOfService > | |
void | packMessage (Buffer< T > const &buf, RawMessageType const &msgType, util::time::TimeValue const ×tamp, class_of_service::ClassOfServiceBase< ClassOfService > const &) |
template<typename T > | |
void | packMessage (Buffer< T > const &buf, RawMessageType const &msgType, util::time::TimeValue const ×tamp) |
template<typename T , typename ClassOfService > | |
void | packMessage (Buffer< T > const &buf, RawMessageType const &msgType, class_of_service::ClassOfServiceBase< ClassOfService > const &) |
template<typename T > | |
void | packMessage (Buffer< T > const &buf, RawMessageType const &msgType) |
std::string const & | getDeviceName () const |
Protected Member Functions | |
BaseDevice () | |
Constructor. | |
void | m_setup (vrpn_ConnectionPtr conn, RawSenderType sender, std::string const &name) |
Should be called by derived class to set the connection, etc. | |
vrpn_ConnectionPtr | m_getConnection () const |
Accessor for underlying connection. | |
virtual void | m_update ()=0 |
Implementation-specific update (call client_mainloop() or server_mainloop() in it!) | |
Class used as an interface for underlying devices that can have device components (corresponding to interface classes)
Definition at line 51 of file BaseDevice.h.
|
virtual |
Virtual destructor.
Clear the component list first to make sure handler are unregistered.
Definition at line 42 of file BaseDevice.cpp.
|
inline |
Adds a component to a base device.
std::logic_error | if you pass a null pointer. |
Definition at line 58 of file BaseDevice.h.