24namespace client_behaviors
29: packageName_(std::nullopt),
30 launchFileName_(std::nullopt),
37: packageName_(package), launchFileName_(launchfile), launchMode_(launchmode), client_(nullptr)
43template <
typename TOrthogonal,
typename TSourceObject>
51 RCLCPP_INFO_STREAM(
getLogger(),
"[CbRosLaunch2] OnEntry");
53 std::string packageName, launchFileName;
58 std::function<
bool()> breakfunction;
79 RCLCPP_INFO_STREAM(
getLogger(),
"[CbRosLaunch2] finding Ros Launch client");
94 "[CbRosLaunch2] Inccorrect ros launch operation. No Ros Launch client specified neither "
95 "package/roslaunch file path.");
102 "[CbRosLaunch2] Inccorrect ros launch operation. Not supported case. Invalid argument.");
virtual rclcpp::Logger getLogger() const
void requiresClient(SmaccClientType *&storage)
bool isShutdownRequested()
onEntry is executed in a new thread. However the current state cannot be left until the onEntry threa...
void onOrthogonalAllocation()
std::string launchFileName_
static std::future< std::string > executeRosLaunch(std::string packageName, std::string launchFilename, std::function< bool()> cancelCondition, ClRosLaunch2 *client=nullptr)
std::optional< std::string > launchFileName_
RosLaunchMode launchMode_
smacc2::client_bases::ClRosLaunch2 * client_
std::optional< std::string > packageName_
std::future< std::string > result_
static std::vector< std::future< std::string > > detached_futures_
@ LAUNCH_CLIENT_BEHAVIOR_LIFETIME
void onOrthogonalAllocation()