10 #ifndef __SOT_MAILBOX_HH 11 #define __SOT_MAILBOX_HH 14 #include <dynamic-graph/all-signals.h> 15 #include <dynamic-graph/entity.h> 18 #include <boost/thread/mutex.hpp> 19 #include <boost/thread/thread.hpp> 20 #include <boost/thread/xtime.hpp> 41 template <
class Object>
class Mailbox :
public dg::Entity {
44 virtual const std::string &
getClassName(
void)
const {
return CLASS_NAME; }
50 Mailbox(
const std::string &name);
53 void post(
const Object &
obj);
54 sotTimestampedObject &
get(sotTimestampedObject &res,
const int &dummy);
56 Object &getObject(Object &res,
const int &time);
57 struct timeval &getTimestamp(
struct timeval &res,
const int &time);
59 bool hasBeenUpdated(
void);
64 struct timeval mainTimeStamp;
68 dynamicgraph::SignalTimeDependent<sotTimestampedObject, int>
SOUT;
69 dynamicgraph::SignalTimeDependent<Object, int>
objSOUT;
70 dynamicgraph::SignalTimeDependent<struct timeval, int>
timeSOUT;
75 template <
class Object>
76 struct signal_io<sot::MailboxTimestampedObject<Object> >
77 : signal_io_unimplemented<sot::MailboxTimestampedObject<Object> > {};
79 template <>
struct signal_io<timeval> : signal_io_unimplemented<timeval> {};
82 #endif // #ifndef __SOT_MAILBOX_HH Definition: mailbox.hh:36
dynamicgraph::SignalTimeDependent< struct timeval, int > timeSOUT
Definition: mailbox.hh:70
virtual const std::string & getClassName(void) const
Definition: mailbox.hh:44
boost::timed_mutex mainObjectMutex
Definition: mailbox.hh:62
MailboxTimestampedObject< Object > sotTimestampedObject
Definition: mailbox.hh:47
bool update
Definition: mailbox.hh:65
dynamicgraph::SignalTimeDependent< Object, int > objSOUT
Definition: mailbox.hh:69
static const std::string CLASS_NAME
Definition: mailbox.hh:43
Definition: mailbox.hh:41
Definition: trajectory.hh:85
Object obj
Definition: mailbox.hh:37
Object mainObject
Definition: mailbox.hh:63
dynamicgraph::SignalTimeDependent< sotTimestampedObject, int > SOUT
Definition: mailbox.hh:68
Definition: abstract-sot-external-interface.hh:17