AutoAPMS
Streamlining behaviors in ROS 2
Loading...
Searching...
No Matches
node_registration_from_library_adapter.hpp
1// Copyright 2026 Robin Müller
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#pragma once
16
17#include "auto_apms_behavior_tree_core/node/node_registration_interface.hpp"
18
20{
21
85class NodeRegistrationFromLibraryAdapter : public NodeRegistrationInterface
86{
87public:
88 NodeRegistrationFromLibraryAdapter() = default;
89 ~NodeRegistrationFromLibraryAdapter() override = default;
90
91 bool requiresRosNodeContext() const override;
92
93 void registerWithBehaviorTreeFactory(
94 BT::BehaviorTreeFactory & factory, const std::string & name,
95 const auto_apms_behavior_tree::core::RosNodeContext * const context_ptr = nullptr) const override;
96
97private:
102 virtual std::string getPluginLibraryPath() const = 0;
103};
104
105} // namespace auto_apms_behavior_tree::core
virtual std::string getPluginLibraryPath() const =0
Get the library path that exports the node registration function associated with this class.
Additional parameters specific to ROS 2 determined at runtime by TreeBuilder.
Core API for AutoAPMS's behavior tree implementation.
Definition behavior.hpp:32