src
converters
memory
converters/memory/bool.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2015 Aldebaran
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
/*
19
* LOCAL includes
20
*/
21
#include "
bool.hpp
"
22
23
/*
24
* BOOST includes
25
*/
26
#include <boost/foreach.hpp>
27
#define for_each BOOST_FOREACH
28
29
namespace
naoqi
30
{
31
namespace
converter
32
{
33
34
MemoryBoolConverter::MemoryBoolConverter
(
const
std::string& name,
const
float
& frequency,
const
qi::SessionPtr& session,
const
std::string& memory_key )
35
:
BaseConverter
(
name
, frequency,
session
),
36
memory_key_(memory_key),
37
p_memory_(
session
->service(
"ALMemory"
).value())
38
{}
39
40
void
MemoryBoolConverter::registerCallback
(
message_actions::MessageAction
action,
Callback_t
cb )
41
{
42
callbacks_
[action] = cb;
43
}
44
45
bool
MemoryBoolConverter::convert
()
46
{
47
bool
success =
false
;
48
try
{
49
bool
value =
p_memory_
.call<
bool
>(
"getData"
,
memory_key_
);
50
msg_
.header.stamp =
ros::Time::now
();
51
msg_
.data = value;
52
success =
true
;
53
}
catch
(
const
std::exception& e) {
54
std::cerr <<
"Exception caught in MemoryBoolConverter: "
<< e.what() << std::endl;
55
}
56
return
success;
57
}
58
59
void
MemoryBoolConverter::callAll
(
const
std::vector<message_actions::MessageAction>& actions )
60
{
61
if
(
convert
()) {
62
for_each
(
message_actions::MessageAction
action, actions )
63
{
64
callbacks_
[action](
msg_
);
65
}
66
}
67
}
68
69
void
MemoryBoolConverter::reset
( )
70
{}
71
72
}
// publisher
73
}
//naoqi
bool.hpp
naoqi::converter::MemoryBoolConverter::p_memory_
qi::AnyObject p_memory_
Definition:
converters/memory/bool.hpp:58
converter
session
session
naoqi::message_actions::MessageAction
MessageAction
Definition:
message_actions.h:9
naoqi::converter::MemoryBoolConverter::callbacks_
std::map< message_actions::MessageAction, Callback_t > callbacks_
Definition:
converters/memory/bool.hpp:60
naoqi
Definition:
converter.hpp:29
naoqi::converter::MemoryBoolConverter::convert
bool convert()
Definition:
converters/memory/bool.cpp:45
naoqi::converter::MemoryBoolConverter::MemoryBoolConverter
MemoryBoolConverter(const std::string &name, const float &frequency, const qi::SessionPtr &session, const std::string &memory_key)
Definition:
converters/memory/bool.cpp:34
naoqi::converter::MemoryBoolConverter::memory_key_
std::string memory_key_
Definition:
converters/memory/bool.hpp:56
naoqi::converter::MemoryBoolConverter::reset
void reset()
Definition:
converters/memory/bool.cpp:69
naoqi::converter::MemoryBoolConverter::callAll
void callAll(const std::vector< message_actions::MessageAction > &actions)
Definition:
converters/memory/bool.cpp:59
name
name
naoqi::converter::BaseConverter
Definition:
converter_base.hpp:40
naoqi::converter::MemoryBoolConverter::msg_
naoqi_bridge_msgs::BoolStamped msg_
Definition:
converters/memory/bool.hpp:61
naoqi::converter::MemoryBoolConverter::registerCallback
void registerCallback(const message_actions::MessageAction action, Callback_t cb)
Definition:
converters/memory/bool.cpp:40
for_each
#define for_each
Definition:
converters/memory/bool.cpp:27
naoqi::converter::MemoryBoolConverter::Callback_t
boost::function< void(naoqi_bridge_msgs::BoolStamped &)> Callback_t
Definition:
converters/memory/bool.hpp:39
ros::Time::now
static Time now()
naoqi_driver
Author(s): Karsten Knese
autogenerated on Sat Feb 3 2024 03:50:06