StatechartListener.h
Go to the documentation of this file.
1#pragma once
2
3
5#include <ArmarXCore/interface/core/Profiler.h>
7
8namespace armarx
9{
11 virtual public armarx::Component,
12 virtual public armarx::ProfilerListener
13 {
14 public:
15 using Transition = armarx::ProfilerStatechartTransitionWithParameters;
16 using Callback =
17 std::function<void(const std::vector<StatechartListener::Transition>& transitions,
18 StatechartListener& source)>;
19
20 public:
22
23 void setTopicName(const std::string& topicName);
24 std::string getTopicName() const;
25
26 void setName(const std::string& name);
27 void registerCallback(const Callback& callback);
28
29 /// @see armarx::ManagedIceObject::getDefaultName()
30 std::string getDefaultName() const override;
31
32 protected:
33 void onInitComponent() override;
34 void onConnectComponent() override;
35
36 // ProfilerListener interface
37 public:
38 void
39 reportStatechartTransitionWithParameters(const ProfilerStatechartTransitionWithParameters&,
40 const Ice::Current&) override;
42 const ProfilerStatechartTransitionWithParametersList&,
43 const Ice::Current&) override;
44
45 void
46 reportNetworkTraffic(const std::string&,
47 const std::string&,
48 Ice::Int,
49 Ice::Int,
50 const Ice::Current&) override
51 {
52 }
53
54 void
55 reportEvent(const ProfilerEvent&, const Ice::Current&) override
56 {
57 }
58
59 void
60 reportStatechartTransition(const ProfilerStatechartTransition& event,
61 const Ice::Current&) override
62 {
63 }
64
65 void
66 reportStatechartInputParameters(const ProfilerStatechartParameters& event,
67 const Ice::Current&) override
68 {
69 }
70
71 void
72 reportStatechartLocalParameters(const ProfilerStatechartParameters& event,
73 const Ice::Current&) override
74 {
75 }
76
77 void
78 reportStatechartOutputParameters(const ProfilerStatechartParameters&,
79 const Ice::Current&) override
80 {
81 }
82
83 void
84 reportProcessCpuUsage(const ProfilerProcessCpuUsage&, const Ice::Current&) override
85 {
86 }
87
88 void
89 reportProcessMemoryUsage(const ProfilerProcessMemoryUsage&, const Ice::Current&) override
90 {
91 }
92
93 void
94 reportEventList(const ProfilerEventList& events, const Ice::Current&) override
95 {
96 }
97
98 void
99 reportStatechartTransitionList(const ProfilerStatechartTransitionList&,
100 const Ice::Current&) override
101 {
102 }
103
104 void
105 reportStatechartInputParametersList(const ProfilerStatechartParametersList& data,
106 const Ice::Current&) override
107 {
108 }
109
110 void
111 reportStatechartLocalParametersList(const ProfilerStatechartParametersList&,
112 const Ice::Current&) override
113 {
114 }
115
116 void
117 reportStatechartOutputParametersList(const ProfilerStatechartParametersList&,
118 const Ice::Current&) override
119 {
120 }
121
122 void
123 reportProcessCpuUsageList(const ProfilerProcessCpuUsageList&, const Ice::Current&) override
124 {
125 }
126
127 void
128 reportProcessMemoryUsageList(const ProfilerProcessMemoryUsageList&,
129 const Ice::Current&) override
130 {
131 }
132
133
134 private:
135 std::string topicName;
136
137 std::vector<Callback> callbacks;
138 void publish(const std::vector<Transition>& message);
139 };
140} // namespace armarx
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition Component.h:94
void onInitComponent() override
Pure virtual hook for the subclass.
void reportStatechartInputParameters(const ProfilerStatechartParameters &event, const Ice::Current &) override
void reportStatechartOutputParameters(const ProfilerStatechartParameters &, const Ice::Current &) override
void registerCallback(const Callback &callback)
void reportStatechartLocalParameters(const ProfilerStatechartParameters &event, const Ice::Current &) override
void reportStatechartLocalParametersList(const ProfilerStatechartParametersList &, const Ice::Current &) override
void reportStatechartTransitionList(const ProfilerStatechartTransitionList &, const Ice::Current &) override
void reportProcessCpuUsageList(const ProfilerProcessCpuUsageList &, const Ice::Current &) override
void reportNetworkTraffic(const std::string &, const std::string &, Ice::Int, Ice::Int, const Ice::Current &) override
void reportStatechartTransitionWithParameters(const ProfilerStatechartTransitionWithParameters &, const Ice::Current &) override
std::function< void(const std::vector< StatechartListener::Transition > &transitions, StatechartListener &source)> Callback
void reportStatechartInputParametersList(const ProfilerStatechartParametersList &data, const Ice::Current &) override
void reportProcessCpuUsage(const ProfilerProcessCpuUsage &, const Ice::Current &) override
armarx::ProfilerStatechartTransitionWithParameters Transition
void setName(const std::string &name)
void onConnectComponent() override
Pure virtual hook for the subclass.
void reportEvent(const ProfilerEvent &, const Ice::Current &) override
void setTopicName(const std::string &topicName)
void reportStatechartTransitionWithParametersList(const ProfilerStatechartTransitionWithParametersList &, const Ice::Current &) override
void reportProcessMemoryUsageList(const ProfilerProcessMemoryUsageList &, const Ice::Current &) override
void reportStatechartOutputParametersList(const ProfilerStatechartParametersList &, const Ice::Current &) override
void reportStatechartTransition(const ProfilerStatechartTransition &event, const Ice::Current &) override
void reportEventList(const ProfilerEventList &events, const Ice::Current &) override
std::string getDefaultName() const override
void reportProcessMemoryUsage(const ProfilerProcessMemoryUsage &, const Ice::Current &) override
This file offers overloads of toIce() and fromIce() functions for STL container types.