SMACC2
smacc2_sm_reference_library
sm_dance_bot_warehouse_3
include
sm_dance_bot_warehouse_3
clients
cl_string_publisher
client_behaviors
cb_string_publisher.hpp
Go to the documentation of this file.
1
// Copyright 2021 RobosoftAI Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/*****************************************************************************************************************
16
*
17
* Authors: Pablo Inigo Blasco, Brett Aldrich
18
*
19
******************************************************************************************************************/
20
21
#pragma once
22
23
#include <
sm_dance_bot_warehouse_3/clients/cl_string_publisher/cl_string_publisher.hpp
>
24
#include <
smacc2/smacc_client_behavior.hpp
>
25
#include <std_msgs/msg/string.hpp>
26
27
namespace
sm_dance_bot_warehouse_3
28
{
29
namespace
cl_string_publisher
30
{
31
class
CbStringPublisher
:
public
smacc2::SmaccClientBehavior
32
{
33
public
:
34
ClStringPublisher
*
publisherClient_
;
35
std::string
msg_
;
36
37
CbStringPublisher
(std::string msg) {
msg_
= msg; }
38
39
virtual
void
runtimeConfigure
()
override
40
{
41
RCLCPP_INFO_STREAM(
42
getLogger
(),
"Creating CbStringPublisher behavior with stored message: "
<<
msg_
);
43
}
44
45
virtual
void
onEntry
() { this->
requiresClient
(publisherClient_); }
46
47
void
onExit
()
override
48
{
49
std_msgs::msg::String rosmsg;
50
rosmsg.data =
msg_
;
51
publisherClient_
->
publish
(rosmsg);
52
}
53
};
54
}
// namespace cl_string_publisher
55
}
// namespace sm_dance_bot_warehouse_3
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher
Definition:
cb_string_publisher.hpp:32
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::publisherClient_
ClStringPublisher * publisherClient_
Definition:
cb_string_publisher.hpp:34
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::msg_
std::string msg_
Definition:
cb_string_publisher.hpp:35
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::onEntry
virtual void onEntry()
Definition:
cb_string_publisher.hpp:45
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::onExit
void onExit() override
Definition:
cb_string_publisher.hpp:47
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::runtimeConfigure
virtual void runtimeConfigure() override
Definition:
cb_string_publisher.hpp:39
sm_dance_bot_warehouse_3::cl_string_publisher::CbStringPublisher::CbStringPublisher
CbStringPublisher(std::string msg)
Definition:
cb_string_publisher.hpp:37
sm_dance_bot_warehouse_3::cl_string_publisher::ClStringPublisher
Definition:
cl_string_publisher.hpp:31
smacc2::ISmaccClientBehavior::getLogger
virtual rclcpp::Logger getLogger()
Definition:
smacc_client_behavior_base.cpp:40
smacc2::ISmaccClientBehavior::requiresClient
void requiresClient(SmaccClientType *&storage)
Definition:
smacc_client_behavior_impl.hpp:67
smacc2::SmaccClientBehavior
Definition:
smacc_client_behavior.hpp:27
smacc2::client_bases::SmaccPublisherClient::publish
void publish(const MessageType &msg)
Definition:
smacc_publisher_client.hpp:70
sm_dance_bot_warehouse_3
Definition:
cl_led.hpp:27
smacc_client_behavior.hpp
cl_string_publisher.hpp
Generated by
1.9.4