author | Peter D. Barnes, Jr. <barnes26@llnl.gov> |
Fri, 26 Sep 2014 15:51:00 -0700 | |
changeset 10968 | 2d29fee2b7b8 |
parent 9134 | 7a750f032acd |
child 10979 | dfda54e1d825 |
permissions | -rw-r--r-- |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
#include "make-event.h" |
9134
7a750f032acd
Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents:
6821
diff
changeset
|
2 |
#include "log.h" |
7a750f032acd
Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents:
6821
diff
changeset
|
3 |
|
10968
2d29fee2b7b8
[Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
9134
diff
changeset
|
4 |
namespace ns3 { |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
|
10968
2d29fee2b7b8
[Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
9134
diff
changeset
|
6 |
NS_LOG_COMPONENT_DEFINE ("MakeEvent"); |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
|
6180
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
8 |
EventImpl * MakeEvent (void (*f)(void)) |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
{ |
9134
7a750f032acd
Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents:
6821
diff
changeset
|
10 |
NS_LOG_FUNCTION (f); |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
// zero arg version |
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
class EventFunctionImpl0 : public EventImpl |
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
{ |
6180
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
14 |
public: |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
typedef void (*F)(void); |
6180
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
16 |
|
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
17 |
EventFunctionImpl0 (F function) |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
: m_function (function) |
6180
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
19 |
{ |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
20 |
} |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
21 |
virtual ~EventFunctionImpl0 () |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
22 |
{ |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
} |
6180
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
24 |
protected: |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
25 |
virtual void Notify (void) |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
26 |
{ |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
27 |
(*m_function)(); |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
28 |
} |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
29 |
private: |
cd0d8ba00e6c
coding style
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3809
diff
changeset
|
30 |
F m_function; |
3809
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
} *ev = new EventFunctionImpl0 (f); |
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
return ev; |
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
} |
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
|
5e007004402e
move MakeEvent out of Simulator
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
35 |
} // namespace ns3 |