src
converters
memory
converters/memory/string.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 "
string.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
MemoryStringConverter::MemoryStringConverter
(
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
MemoryStringConverter::registerCallback
(
message_actions::MessageAction
action,
Callback_t
cb )
41
{
42
callbacks_
[action] = cb;
43
}
44
45
bool
MemoryStringConverter::convert
()
46
{
47
bool
success =
false
;
48
try
49
{
50
std::string value =
p_memory_
.call<std::string>(
"getData"
,
memory_key_
);
51
msg_
.header.stamp =
ros::Time::now
();
52
msg_
.data = value;
53
success =
true
;
54
}
55
catch
(
const
std::exception& e )
56
{
57
std::cerr <<
"Exception caught in MemoryStringConverter "
<< e.what() << std::endl;
58
success =
false
;
59
}
60
return
success;
61
}
62
63
void
MemoryStringConverter::callAll
(
const
std::vector<message_actions::MessageAction>& actions )
64
{
65
if
(
convert
()) {
66
for_each
(
message_actions::MessageAction
action, actions )
67
{
68
callbacks_
[action](
msg_
);
69
}
70
}
71
}
72
73
void
MemoryStringConverter::reset
( )
74
{}
75
76
}
// publisher
77
}
//naoqi
naoqi::converter::MemoryStringConverter::registerCallback
void registerCallback(const message_actions::MessageAction action, Callback_t cb)
Definition:
converters/memory/string.cpp:40
naoqi::converter::MemoryStringConverter::MemoryStringConverter
MemoryStringConverter(const std::string &name, const float &frequency, const qi::SessionPtr &session, const std::string &memory_key)
Definition:
converters/memory/string.cpp:34
converter
session
session
naoqi::message_actions::MessageAction
MessageAction
Definition:
message_actions.h:9
naoqi::converter::MemoryStringConverter::msg_
naoqi_bridge_msgs::StringStamped msg_
Definition:
converters/memory/string.hpp:61
naoqi::converter::MemoryStringConverter::callbacks_
std::map< message_actions::MessageAction, Callback_t > callbacks_
Definition:
converters/memory/string.hpp:60
naoqi::converter::MemoryStringConverter::memory_key_
std::string memory_key_
Definition:
converters/memory/string.hpp:56
naoqi::converter::MemoryStringConverter::p_memory_
qi::AnyObject p_memory_
Definition:
converters/memory/string.hpp:58
naoqi
Definition:
converter.hpp:29
naoqi::converter::MemoryStringConverter::convert
bool convert()
Definition:
converters/memory/string.cpp:45
naoqi::converter::MemoryStringConverter::callAll
void callAll(const std::vector< message_actions::MessageAction > &actions)
Definition:
converters/memory/string.cpp:63
name
name
string.hpp
naoqi::converter::BaseConverter
Definition:
converter_base.hpp:40
naoqi::converter::MemoryStringConverter::reset
void reset()
Definition:
converters/memory/string.cpp:73
for_each
#define for_each
Definition:
converters/memory/string.cpp:27
naoqi::converter::MemoryStringConverter::Callback_t
boost::function< void(naoqi_bridge_msgs::StringStamped &)> Callback_t
Definition:
converters/memory/string.hpp:39
ros::Time::now
static Time now()
naoqi_driver
Author(s): Karsten Knese
autogenerated on Sat Feb 3 2024 03:50:06