Go to the documentation of this file.
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>
36 template <
class Object>
class Mailbox :
public dg::Entity {
48 Mailbox(
const std::string &name);
51 void post(
const Object &obj);
54 Object &
getObject(Object &res,
const int &time);
55 struct timeval &
getTimestamp(
struct timeval &res,
const int &time);
66 dg::SignalTimeDependent<struct sotTimestampedObject, int>
SOUT;
67 dg::SignalTimeDependent<Object, int>
objSOUT;
68 dg::SignalTimeDependent<struct timeval, int>
timeSOUT;
74 #endif // #ifndef __SOT_MAILBOX_HH
boost::timed_mutex mainObjectMutex
Definition: mailbox.hh:60
virtual const std::string & getClassName(void) const
Definition: mailbox.hh:39
struct timeval mainTimeStamp
Definition: mailbox.hh:62
Object mainObject
Definition: mailbox.hh:61
Definition: abstract-sot-external-interface.hh:17
Definition: trajectory.hh:83
Object obj
Definition: mailbox.hh:43
static const std::string CLASS_NAME
Definition: mailbox.hh:38
Object & getObject(Object &res, const int &time)
Definition: mailbox.hxx:85
sotTimestampedObject & get(sotTimestampedObject &res, const int &dummy)
Definition: mailbox.hxx:58
dg::SignalTimeDependent< Object, int > objSOUT
Definition: mailbox.hh:67
Definition: mailbox.hh:36
bool update
Definition: mailbox.hh:63
Definition: mailbox.hh:42
dg::SignalTimeDependent< struct timeval, int > timeSOUT
Definition: mailbox.hh:68
struct timeval & getTimestamp(struct timeval &res, const int &time)
Definition: mailbox.hxx:92
void post(const Object &obj)
Definition: mailbox.hxx:74
~Mailbox(void)
Definition: mailbox.hxx:38
Mailbox(const std::string &name)
Definition: mailbox.hxx:24
dg::SignalTimeDependent< struct sotTimestampedObject, int > SOUT
Definition: mailbox.hh:66
bool hasBeenUpdated(void)
Definition: mailbox.hxx:45