naoqidriver
Public Member Functions | Private Member Functions | Private Attributes
naoqi::EventRegister< Converter, Publisher, Recorder > Class Template Reference

GlobalRecorder concept interface. More...

#include <basic.hpp>

Public Member Functions

 EventRegister ()
 Constructor for recorder interface. More...
 
 EventRegister (const std::string &key, const qi::SessionPtr &session)
 
 ~EventRegister ()
 
void resetPublisher (ros::NodeHandle &nh)
 
void resetRecorder (boost::shared_ptr< naoqi::recorder::GlobalRecorder > gr)
 
void startProcess ()
 
void stopProcess ()
 
void writeDump (const ros::Time &time)
 
void setBufferDuration (float duration)
 
void isRecording (bool state)
 
void isPublishing (bool state)
 
void isDumping (bool state)
 

Private Member Functions

void registerCallback ()
 
void unregisterCallback ()
 
void onEvent ()
 

Private Attributes

boost::shared_ptr< Converter > converter_
 
boost::shared_ptr< Publisher > publisher_
 
boost::shared_ptr< Recorder > recorder_
 
qi::AnyObject p_memory_
 
qi::AnyObject signal_
 
qi::SignalLink signalID_
 
std::string key_
 
boost::mutex mutex_
 
bool isStarted_
 
bool isPublishing_
 
bool isRecording_
 
bool isDumping_
 

Detailed Description

template<typename Converter, typename Publisher, typename Recorder>
class naoqi::EventRegister< Converter, Publisher, Recorder >

GlobalRecorder concept interface.

Note
this defines an private concept struct, which each instance has to implement
a type erasure pattern in implemented here to avoid strict inheritance, thus each possible publisher instance has to implement the virtual functions mentioned in the concept

Constructor & Destructor Documentation

template<typename Converter , typename Publisher , typename Recorder >
naoqi::EventRegister< Converter, Publisher, Recorder >::EventRegister ( )

Constructor for recorder interface.

template<typename Converter , typename Publisher , typename Recorder >
naoqi::EventRegister< Converter, Publisher, Recorder >::EventRegister ( const std::string &  key,
const qi::SessionPtr &  session 
)
template<typename Converter , typename Publisher , typename Recorder >
naoqi::EventRegister< Converter, Publisher, Recorder >::~EventRegister ( )

Member Function Documentation

template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::isDumping ( bool  state)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::isPublishing ( bool  state)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::isRecording ( bool  state)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::onEvent ( )
private
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::registerCallback ( )
private
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::resetPublisher ( ros::NodeHandle &  nh)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::resetRecorder ( boost::shared_ptr< naoqi::recorder::GlobalRecorder gr)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::setBufferDuration ( float  duration)
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::startProcess ( )
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::stopProcess ( )
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::unregisterCallback ( )
private
template<typename Converter , typename Publisher , typename Recorder >
void naoqi::EventRegister< Converter, Publisher, Recorder >::writeDump ( const ros::Time &  time)

Field Documentation

template<typename Converter , typename Publisher , typename Recorder >
boost::shared_ptr<Converter> naoqi::EventRegister< Converter, Publisher, Recorder >::converter_
private
template<typename Converter , typename Publisher , typename Recorder >
bool naoqi::EventRegister< Converter, Publisher, Recorder >::isDumping_
private
template<typename Converter , typename Publisher , typename Recorder >
bool naoqi::EventRegister< Converter, Publisher, Recorder >::isPublishing_
private
template<typename Converter , typename Publisher , typename Recorder >
bool naoqi::EventRegister< Converter, Publisher, Recorder >::isRecording_
private
template<typename Converter , typename Publisher , typename Recorder >
bool naoqi::EventRegister< Converter, Publisher, Recorder >::isStarted_
private
template<typename Converter , typename Publisher , typename Recorder >
std::string naoqi::EventRegister< Converter, Publisher, Recorder >::key_
private
template<typename Converter , typename Publisher , typename Recorder >
boost::mutex naoqi::EventRegister< Converter, Publisher, Recorder >::mutex_
private
template<typename Converter , typename Publisher , typename Recorder >
qi::AnyObject naoqi::EventRegister< Converter, Publisher, Recorder >::p_memory_
private
template<typename Converter , typename Publisher , typename Recorder >
boost::shared_ptr<Publisher> naoqi::EventRegister< Converter, Publisher, Recorder >::publisher_
private
template<typename Converter , typename Publisher , typename Recorder >
boost::shared_ptr<Recorder> naoqi::EventRegister< Converter, Publisher, Recorder >::recorder_
private
template<typename Converter , typename Publisher , typename Recorder >
qi::AnyObject naoqi::EventRegister< Converter, Publisher, Recorder >::signal_
private
template<typename Converter , typename Publisher , typename Recorder >
qi::SignalLink naoqi::EventRegister< Converter, Publisher, Recorder >::signalID_
private

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