RobotsIO
Loading...
Searching...
No Matches
ProbeContainer.h
1/*
2 * Copyright (C) 2019 Istituto Italiano di Tecnologia (IIT)
3 *
4 * This software may be modified and distributed under the terms of the
5 * BSD 3-Clause license. See the accompanying LICENSE file for details.
6 */
7
8#ifndef ROBOTSIO_PROBECONTAINER_H
9#define ROBOTSIO_PROBECONTAINER_H
10
11#include <RobotsIO/Utils/Probe.h>
12
13#include <string>
14#include <unordered_map>
15
16namespace RobotsIO {
17 namespace Utils {
18 class ProbeContainer;
19 }
20}
21
22
24{
25public:
26 virtual ~ProbeContainer();
27
28 bool is_probe(const std::string& name) const;
29
30 RobotsIO::Utils::Probe& get_probe(const std::string& name) const;
31
32 void set_probe(const std::string& name, std::unique_ptr<RobotsIO::Utils::Probe> probe);
33
34protected:
35 std::unordered_map<std::string, std::unique_ptr<RobotsIO::Utils::Probe>> probes_;
36
37 const std::string log_name_ = "ProbeContainer";
38};
39
40#endif /* ROBOTSIO_PROBECONTAINER_H */