Goby3
3.1.5a
2024.05.23
dynamic_moos_vars.h
Go to the documentation of this file.
1
// Copyright 2011-2021:
2
// GobySoft, LLC (2013-)
3
// Massachusetts Institute of Technology (2007-2014)
4
// Community contributors (see AUTHORS file)
5
// File authors:
6
// Toby Schneider <toby@gobysoft.org>
7
//
8
//
9
// This file is part of the Goby Underwater Autonomy Project Libraries
10
// ("The Goby Libraries").
11
//
12
// The Goby Libraries are free software: you can redistribute them and/or modify
13
// them under the terms of the GNU Lesser General Public License as published by
14
// the Free Software Foundation, either version 2.1 of the License, or
15
// (at your option) any later version.
16
//
17
// The Goby Libraries are distributed in the hope that they will be useful,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU Lesser General Public License for more details.
21
//
22
// You should have received a copy of the GNU Lesser General Public License
23
// along with Goby. If not, see <http://www.gnu.org/licenses/>.
24
25
#ifndef GOBY_MOOS_DYNAMIC_MOOS_VARS_H
26
#define GOBY_MOOS_DYNAMIC_MOOS_VARS_H
27
28
#include "
goby/moos/moos_header.h
"
29
30
namespace
goby
31
{
32
namespace
moos
33
{
34
class
DynamicMOOSVars
35
{
36
public
:
37
const
CMOOSMsg
&
get_moos_var
(
const
std::string& s) {
return
vars[s]; }
38
39
const
CMOOSMsg
&
operator[]
(
const
std::string& s) {
return
vars[s]; }
40
41
// read the whole list
42
void
update_moos_vars
(
const
MOOSMSG_LIST& NewMail)
43
{
44
for
(
const
auto
& p : NewMail) vars[p.GetKey()] = p;
45
}
46
47
// update a single variable at a time
48
void
update_moos_vars
(
const
CMOOSMsg
&
msg
) { vars[
msg
.GetKey()] =
msg
; }
49
50
std::map<std::string, CMOOSMsg>&
all
() {
return
vars; }
51
52
private
:
53
std::map<std::string, CMOOSMsg> vars;
54
};
55
}
// namespace moos
56
}
// namespace goby
57
58
inline
bool
valid
(
const
CMOOSMsg
& m) {
return
m.GetTime() != -1; }
59
60
#endif
goby::moos::DynamicMOOSVars::all
std::map< std::string, CMOOSMsg > & all()
Definition:
dynamic_moos_vars.h:50
goby::moos::DynamicMOOSVars::operator[]
const CMOOSMsg & operator[](const std::string &s)
Definition:
dynamic_moos_vars.h:39
goby
The global namespace for the Goby project.
Definition:
acomms_constants.h:33
goby::moos::DynamicMOOSVars::get_moos_var
const CMOOSMsg & get_moos_var(const std::string &s)
Definition:
dynamic_moos_vars.h:37
moos_header.h
CMOOSMsg
valid
bool valid(const CMOOSMsg &m)
Definition:
dynamic_moos_vars.h:58
goby::moos::DynamicMOOSVars
Definition:
dynamic_moos_vars.h:34
goby::msg
extern ::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions, ::google::protobuf::internal::MessageTypeTraits< ::goby::GobyMessageOptions >, 11, false > msg
Definition:
option_extensions.pb.h:1327
goby::moos::DynamicMOOSVars::update_moos_vars
void update_moos_vars(const CMOOSMsg &msg)
Definition:
dynamic_moos_vars.h:48
goby::moos::DynamicMOOSVars::update_moos_vars
void update_moos_vars(const MOOSMSG_LIST &NewMail)
Definition:
dynamic_moos_vars.h:42
goby
moos
dynamic_moos_vars.h
Generated by
1.8.17