aGrUM
0.14.2
listener.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2005 by Christophe GONZALES and Pierre-Henri WUILLEMIN *
3
* {prenom.nom}_at_lip6.fr *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19
***************************************************************************/
28
#include <
agrum/core/signal/listener.h
>
29
30
namespace
gum
{
31
32
Listener::Listener
() { GUM_CONSTRUCTOR(
Listener
); }
33
34
Listener::Listener
(
const
Listener
& l) {
35
GUM_CONS_CPY(
Listener
);
36
37
for
(
const
auto
el :
__senders
) {
38
el->duplicateTarget(&l,
this
);
39
};
40
}
41
42
Listener::~Listener
() {
43
GUM_DESTRUCTOR(
Listener
);
44
45
for
(
const
auto
el :
__senders
) {
46
el->detachFromTarget(
this
);
47
}
48
49
__senders.clear();
50
}
51
52
}
// namespace gum
53
54
#ifdef GUM_NO_INLINE
55
# include <
agrum/core/signal/listener_inl.h
>
56
#endif // GUM_NO_INLINE
gum::Listener::~Listener
virtual ~Listener()
Definition:
listener.cpp:42
listener.h
Class of listener.
gum
gum is the global namespace for all aGrUM entities
Definition:
agrum.h:25
listener_inl.h
Class of listener.
gum::Listener::Listener
Listener()
Class constructor.
Definition:
listener.cpp:32
gum::Listener::__senders
Senders_list __senders
Definition:
listener.h:92
gum::Listener
Every class who would catch signal from signaler should derive from Listener.
Definition:
listener.h:72