1 |
|
|
/// |
2 |
|
|
/// Copyright 2012 CNRS |
3 |
|
|
/// |
4 |
|
|
/// Author: Florent Lamiraux |
5 |
|
|
|
6 |
|
|
#ifndef DYNAMIC_GRAPH_ROS_TIME_HH |
7 |
|
|
#define DYNAMIC_GRAPH_ROS_TIME_HH |
8 |
|
|
|
9 |
|
|
#include <dynamic-graph/entity.h> |
10 |
|
|
#include <dynamic-graph/signal.h> |
11 |
|
|
#include <ros/time.h> |
12 |
|
|
|
13 |
|
|
#include <boost/date_time/posix_time/posix_time_types.hpp> |
14 |
|
|
|
15 |
|
|
namespace dynamicgraph { |
16 |
|
|
|
17 |
|
|
class RosTime : public dynamicgraph::Entity { |
18 |
|
|
DYNAMIC_GRAPH_ENTITY_DECL(); |
19 |
|
|
|
20 |
|
|
public: |
21 |
|
|
Signal<boost::posix_time::ptime, int> now_; |
22 |
|
|
RosTime(const std::string& name); |
23 |
|
|
virtual std::string getDocString() const; |
24 |
|
|
|
25 |
|
|
protected: |
26 |
|
|
boost::posix_time::ptime& update(boost::posix_time::ptime& time, |
27 |
|
|
const int& t); |
28 |
|
|
|
29 |
|
|
private: |
30 |
|
|
static const std::string docstring_; |
31 |
|
|
}; // class RosTime |
32 |
|
|
|
33 |
|
|
template <> |
34 |
|
|
struct signal_io<boost::posix_time::ptime> |
35 |
|
|
: signal_io_unimplemented<boost::posix_time::ptime> {}; |
36 |
|
|
|
37 |
|
|
} // namespace dynamicgraph |
38 |
|
|
|
39 |
|
|
#endif // DYNAMIC_GRAPH_ROS_TIME_HH |