sigx++
2.0.1
Main Page
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
sigx
validity_trackable.h
Go to the documentation of this file.
1
#ifndef _SIGX_VALIDITY_TRACKABLE_HPP_
2
#define _SIGX_VALIDITY_TRACKABLE_HPP_
3
4
/*
5
* Copyright 2008 Klaus Triendl
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Library General Public
9
* License as published by the Free Software Foundation; either
10
* version 2 of the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Library General Public License for more details.
16
*
17
* You should have received a copy of the GNU Library General Public
18
* License along with this library; if not, write to the Free
19
* Software Foundation, 51 Franklin Street, Fifth Floor,
20
* Boston, MA 02110-1301, USA.
21
*/
22
23
#include <list>
24
#include <vector>
25
#include <glib.h>
// gint
26
#include <
sigx/fwddecl.h
>
27
#include <
sigx/operator_new.h
>
28
#include <
sigx/shared_dispatchable.h
>
29
#include <
sigx/connection_wrapper.h
>
30
31
32
namespace
sigx
33
{
34
35
namespace
internal
36
{
37
42
struct
validity_trackable
:
public
operator_new
43
{
44
validity_trackable
(
const
shared_dispatchable
& _A_disp);
45
46
47
gint
m_refcount
;
48
// track the reference count from tunnel functors
49
// (functionality wrapped in tunnel_validity_tracker)
50
// in a separate variable to be able to track those
51
// validity_trackables that don't have a purpose anymore
52
gint
m_tunnel_refcount
;
53
bool
m_valid
;
55
std::list<connection_wrapper>
m_connections
;
58
shared_dispatchable
m_disp
;
59
std::vector<const sigc::trackable*>
m_trackables
;
71
//const dispatcher_ptr m_original_dispatcher;
72
gint
m_dispatcher_change_is_cleanup
;
73
void
*
m_creator_thread
;
74
};
75
76
77
}
// namespace internal
78
79
}
// namespace sigx
80
81
82
#endif // _SIGX_VALIDITY_TRACKABLE_HPP_
Generated on Mon Oct 1 2012 16:04:09 for sigx++ by
1.8.1.2