OpenRTM
1.0.0
Main Page
Namespaces
Classes
Files
File List
File Members
tmp
buildd
ros-hydro-openrtm-aist-1.1.0-13quantal-20150213-1351
src
lib
coil
include
coil
Listener.h
Go to the documentation of this file.
1
// -*- C++ -*-
19
#ifndef Listener_h
20
#define Listener_h
21
22
43
class
ListenerBase
44
{
45
public
:
59
virtual
~ListenerBase
(){}
60
74
virtual
void
invoke
() = 0;
75
};
76
96
template
<
class
ListenerClass,
97
class
CallbackFunc
= void (ListenerClass::*)()>
98
class
ListenerObject
99
:
public
ListenerBase
100
{
101
public
:
121
ListenerObject
(ListenerClass* obj,
CallbackFunc
cbf)
122
: m_obj(obj), m_cbf(cbf)
123
{
124
}
125
139
virtual
~
ListenerObject
()
140
{
141
}
142
156
virtual
void
invoke()
157
{
158
(m_obj->*m_cbf)();
159
}
160
161
private
:
162
ListenerClass* m_obj;
163
CallbackFunc
m_cbf;
164
};
165
185
typedef
void (*
CallbackFunc
)();
186
class
ListenerFunc
187
:
public
ListenerBase
188
{
189
public
:
207
ListenerFunc
(
CallbackFunc
cbf)
208
: m_cbf(cbf)
209
{
210
}
211
225
virtual
~ListenerFunc
(){}
226
240
virtual
void
invoke()
241
{
242
(*m_cbf)();
243
}
244
245
private
:
246
CallbackFunc
m_cbf;
247
};
248
249
#endif // Listener_h
Generated on Fri Feb 13 2015 13:57:30 for OpenRTM by
1.8.1.2