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.