3 #include <RobotAPI/libraries/armem_skills/aron/Statechart.aron.generated.h>
19 const std::string& prefix)
22 defs->optional(p.statechartCoreSegmentName,
23 "StatechartCoreSegmentName",
24 "Name of the core segment for statecharts.");
25 defs->optional(p.statechartTransitionsProviderSegmentName,
26 "TransitionsProviderSegmentName",
27 "Name of the provider segment for statechart transitions.");
28 defs->optional(p.statechartTransitionsTopicName,
29 "tpc.sub.ProfilerListener",
30 "Name of the ProfilerListenerInterface topics to subscribe.");
45 const ProfilerStatechartTransitionWithParameters& t)
47 const std::string& entityName = getStatechartName(t.targetStateIdentifier);
53 update.referencedTime = transitionTime;
54 skills::arondto::Statechart::Transition
data;
70 const ProfilerStatechartTransitionWithParametersList& transitions)
72 for (
const auto& t : transitions)
79 StatechartListenerProviderSegment::getStatechartName(std::string stateName)
81 const std::string delimiter =
"->";
82 const int maxLevels = 2;
86 std::string statechartName;
87 while ((pos = stateName.find(delimiter)) != std::string::npos && levels < maxLevels)
91 statechartName += delimiter;
93 statechartName += stateName.substr(0, pos);
94 stateName.erase(0, pos + delimiter.length());
98 return statechartName;