Reader.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <optional>
25
#include <string>
26
27
#include <
RobotAPI/libraries/armem/client/query/Builder.h
>
28
#include <
RobotAPI/libraries/armem/client/util/SimpleReaderBase.h
>
29
#include <
RobotAPI/libraries/armem/core/forward_declarations.h
>
30
31
#include <
armarx/navigation/algorithms/Costmap.h
>
32
33
namespace
armarx::navigation::memory::client::costmap
34
{
35
36
class
Reader
:
virtual
public
armarx::armem::client::util::SimpleReaderBase
37
{
38
public
:
39
using
armarx::armem::client::util::SimpleReaderBase::SimpleReaderBase
;
40
~Reader
()
override
;
41
42
struct
Query
43
{
44
std::string
providerName
;
45
std::string
name
;
// this is the entity name
46
armem::Time
timestamp
;
47
};
48
49
struct
Result
50
{
51
std::optional<algorithms::Costmap>
costmap
= std::nullopt;
52
53
enum
Status
54
{
55
Success
,
56
NoData
,
57
Error
58
}
status
;
59
60
std::string
errorMessage
=
""
;
61
62
operator
bool() const noexcept
63
{
64
return
status
==
Status::Success
;
65
}
66
};
67
68
Result
query
(
const
Query&
query
)
const
;
69
70
::armarx::armem::client::query::Builder
buildQuery
(
const
Query&
query
)
const
;
71
72
algorithms::Costmap
73
waitForCostmap
(std::string& providerName, std::string& name,
int
delayMs = 200)
const
;
74
75
protected
:
76
std::string
propertyPrefix
()
const override
;
77
Properties
defaultProperties
()
const override
;
78
};
79
80
}
// namespace armarx::navigation::memory::client::costmap
Builder.h
Costmap.h
forward_declarations.h
SimpleReaderBase.h
armarx::armem::client::query::Builder
The query::Builder class provides a fluent-style specification of hierarchical queries.
Definition
Builder.h:22
armarx::armem::client::util::SimpleReaderBase
Definition
SimpleReaderBase.h:39
armarx::armem::client::util::SimpleReaderBase::SimpleReaderBase
SimpleReaderBase()
Definition
SimpleReaderBase.cpp:9
armarx::navigation::algorithms::Costmap
Definition
Costmap.h:18
armarx::navigation::memory::client::costmap::Reader
Definition
Reader.h:37
armarx::navigation::memory::client::costmap::Reader::defaultProperties
Properties defaultProperties() const override
Definition
Reader.cpp:56
armarx::navigation::memory::client::costmap::Reader::waitForCostmap
algorithms::Costmap waitForCostmap(std::string &providerName, std::string &name, int delayMs=200) const
Definition
Reader.cpp:137
armarx::navigation::memory::client::costmap::Reader::propertyPrefix
std::string propertyPrefix() const override
Definition
Reader.cpp:50
armarx::navigation::memory::client::costmap::Reader::buildQuery
::armarx::armem::client::query::Builder buildQuery(const Query &query) const
Definition
Reader.cpp:29
armarx::navigation::memory::client::costmap::Reader::~Reader
~Reader() override
armarx::navigation::memory::client::costmap::Reader::query
Result query(const Query &query) const
Definition
Reader.cpp:87
armarx::armem::Time
armarx::core::time::DateTime Time
Definition
forward_declarations.h:13
armarx::navigation::memory::client::costmap
Definition
Reader.cpp:25
armarx::status
status
Definition
FiniteStateMachine.h:245
armarx::navigation::memory::client::costmap::Reader::Query
Definition
Reader.h:43
armarx::navigation::memory::client::costmap::Reader::Query::providerName
std::string providerName
Definition
Reader.h:44
armarx::navigation::memory::client::costmap::Reader::Query::timestamp
armem::Time timestamp
Definition
Reader.h:46
armarx::navigation::memory::client::costmap::Reader::Query::name
std::string name
Definition
Reader.h:45
armarx::navigation::memory::client::costmap::Reader::Result
Definition
Reader.h:50
armarx::navigation::memory::client::costmap::Reader::Result::costmap
std::optional< algorithms::Costmap > costmap
Definition
Reader.h:51
armarx::navigation::memory::client::costmap::Reader::Result::errorMessage
std::string errorMessage
Definition
Reader.h:60
armarx::navigation::memory::client::costmap::Reader::Result::Status
Status
Definition
Reader.h:54
armarx::navigation::memory::client::costmap::Reader::Result::Error
@ Error
Definition
Reader.h:57
armarx::navigation::memory::client::costmap::Reader::Result::NoData
@ NoData
Definition
Reader.h:56
armarx::navigation::memory::client::costmap::Reader::Result::Success
@ Success
Definition
Reader.h:55
armarx::navigation::memory::client::costmap::Reader::Result::status
enum armarx::navigation::memory::client::costmap::Reader::Result::Status status
armarx
navigation
memory
client
costmap
Reader.h
Generated by
1.13.2