24namespace client_behaviors
29: packageName_(std::nullopt),
30 launchFileName_(std::nullopt),
36: packageName_(package), launchFileName_(launchfile), launchMode_(launchmode)
42template <
typename TOrthogonal,
typename TSourceObject>
50 RCLCPP_INFO_STREAM(
getLogger(),
"[CbRosLaunch] OnEntry");
52 std::string packageName, launchFileName;
55 std::function<
bool()> breakfunction;
63 breakfunction = []() ->
bool {
return false; };
80 RCLCPP_INFO_STREAM(
getLogger(),
"[CbRosLaunch] finding Ros Launch client");
95 "[CbRosLaunch] Inccorrect ros launch operation. No Ros Launch client specified neither "
96 "package/roslaunch file path.");
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)
std::optional< std::string > launchFileName_
smacc2::client_bases::ClRosLaunch * client_
std::future< std::string > future_
std::optional< std::string > packageName_
RosLaunchMode launchMode_
static std::vector< std::future< std::string > > detached_futures_
@ LAUNCH_CLIENT_BEHAVIOR_LIFETIME
void onOrthogonalAllocation()