C++ YASMIN (Yet Another State MachINe)
Loading...
Searching...
No Matches
ros_serialize_cpp_state.hpp
Go to the documentation of this file.
1// Copyright (C) 2026 Maik Knof
2//
3// This program is free software: you can redistribute it and/or modify
4// it under the terms of the GNU General Public License as published by
5// the Free Software Foundation, either version 3 of the License, or
6// (at your option) any later version.
7//
8// This program is distributed in the hope that it will be useful,
9// but 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 <https://www.gnu.org/licenses/>.
15
16#ifndef YASMIN_ROS__ROS_SERIALIZE_CPP_STATE_HPP_
17#define YASMIN_ROS__ROS_SERIALIZE_CPP_STATE_HPP_
18
19#include <string>
20
21#include "yasmin/state.hpp"
23
24namespace yasmin_ros {
25
30public:
35
39 ~RosSerializeCppState() override = default;
40
44 void configure() override;
45
53 std::string execute(yasmin::Blackboard::SharedPtr blackboard) override;
54
55private:
57 std::string interface_type_;
60};
61
62} // namespace yasmin_ros
63
64#endif // YASMIN_ROS__ROS_SERIALIZE_CPP_STATE_HPP_
std::shared_ptr< Blackboard > SharedPtr
Shared pointer type for Blackboard.
Definition blackboard.hpp:100
Represents a state in a state machine.
Definition state.hpp:49
const InterfaceSerializationHandler * handler_
The handler for serializing the ROS 2 message.
Definition ros_serialize_cpp_state.hpp:59
~RosSerializeCppState() override=default
Destroy the RosSerializeCppState.
std::string execute(yasmin::Blackboard::SharedPtr blackboard) override
Execute the serialization operation.
Definition ros_serialize_cpp_state.cpp:83
void configure() override
Configure the state before execution.
Definition ros_serialize_cpp_state.cpp:77
std::string interface_type_
The type of the ROS 2 interface to serialize.
Definition ros_serialize_cpp_state.hpp:57
RosSerializeCppState()
Construct a new RosSerializeCppState.
Definition ros_serialize_cpp_state.cpp:51
Definition action_state.hpp:37
A structure to hold the serialization handlers for a specific interface type.
Definition supported_interface_serialization.hpp:32