1 |
|
|
/////////////////////////////////////////////////////////////////////////////// |
2 |
|
|
// BSD 3-Clause License |
3 |
|
|
// |
4 |
|
|
// Copyright (C) 2018-2019, Max Planck Gesellschaft |
5 |
|
|
// Copyright note valid unless otherwise stated in individual files. |
6 |
|
|
// All rights reserved. |
7 |
|
|
/////////////////////////////////////////////////////////////////////////////// |
8 |
|
|
|
9 |
|
|
#pragma once |
10 |
|
|
|
11 |
|
|
namespace robot_interfaces |
12 |
|
|
{ |
13 |
|
|
/* |
14 |
|
|
* @brief Contains definitions of the methods to be implemented by all the robot |
15 |
|
|
* data types. |
16 |
|
|
*/ |
17 |
|
|
|
18 |
|
31 |
class Loggable |
19 |
|
|
{ |
20 |
|
|
public: |
21 |
|
|
/* |
22 |
|
|
* @brief Return the names of the fields in the structure. |
23 |
|
|
* Current restriction: a returned name should not have spaces between |
24 |
|
|
* the words, use "_" instead. |
25 |
|
|
*/ |
26 |
|
|
virtual std::vector<std::string> get_name() = 0; |
27 |
|
|
|
28 |
|
|
/* |
29 |
|
|
* @brief Return the data in the fields of the structure. |
30 |
|
|
*/ |
31 |
|
|
virtual std::vector<std::vector<double>> get_data() = 0; |
32 |
|
|
}; |
33 |
|
|
|
34 |
|
|
} // namespace robot_interfaces |