YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
Event.hxx
Go to the documentation of this file.
1
#ifndef YAPOG_EVENT_HXX
2
# define YAPOG_EVENT_HXX
3
4
namespace
yap
5
{
6
template
<
typename
SenderType,
7
typename
ArgsType,
8
typename
ReturnType>
9
inline
Event<SenderType, ArgsType, ReturnType>::Event
()
10
: sig_ ()
11
, handlers_ ()
12
{
13
}
14
15
template
<
typename
SenderType,
16
typename
ArgsType,
17
typename
ReturnType>
18
inline
Event<SenderType, ArgsType, ReturnType>::~Event
()
19
{
20
}
21
22
template
<
typename
SenderType,
23
typename
ArgsType,
24
typename
ReturnType>
25
inline
Event<SenderType, ArgsType, ReturnType>
&
26
Event<SenderType, ArgsType, ReturnType>::operator+=
(
HandlerType
handler)
27
{
28
sig_.connect (handler);
29
30
return
*
this
;
31
}
32
33
template
<
typename
SenderType,
34
typename
ArgsType,
35
typename
ReturnType>
36
inline
void
Event<SenderType, ArgsType, ReturnType>::AddHandler
(
37
const
String
& name,
38
HandlerType
handler)
39
{
40
handlers_.Add (
41
name,
42
std::shared_ptr<ConnectionType> (
43
new
ConnectionType
(
44
sig_.connect (handler))));
45
}
46
47
template
<
typename
SenderType,
48
typename
ArgsType,
49
typename
ReturnType>
50
inline
void
Event<SenderType, ArgsType, ReturnType>::RemoveHandler
(
51
const
String
& name)
52
{
53
handlers_.Remove (name);
54
}
55
56
template
<
typename
SenderType,
57
typename
ArgsType,
58
typename
ReturnType>
59
inline
ReturnType
60
Event<SenderType, ArgsType, ReturnType>::operator()
(
61
SenderType sender,
62
ArgsType args)
63
{
64
return
sig_ (sender, args);
65
}
66
}
// namespace yap
67
68
#endif // YAPOG_EVENT_HXX
YAPOG
include
YAPOG
System
Event
Event.hxx
Generated on Mon Sep 17 2012 22:24:24 for YAPOG by
1.8.1.1