april
1.0.0
...
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
uniqueid.h
Go to the documentation of this file.
1
/* ========================================================================= */
2
/* ------------------------------------------------------------------------- */
/*
12
13
14
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
Please read COPYING and README files in root folder
16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17
*/
18
/* ------------------------------------------------------------------------- */
19
/* ========================================================================= */
20
#ifndef __UNIQUEID_INC__
21
#define __UNIQUEID_INC__
22
//
23
//
24
//
25
//
26
/* INCLUDES ------------------------------------------------------------ */
27
28
#include <
april/april.h
>
29
#include <QMap>
30
31
/* INCLUDES ============================================================ */
32
//
33
//
34
//
35
//
36
/* DEFINITIONS --------------------------------------------------------- */
37
38
class
QSettings;
39
40
namespace
april {
41
43
typedef
quint64 ID;
44
45
47
enum
UniqueIdSpecialCodes {
48
50
InvalidId = 0
51
52
};
53
54
/* DEFINITIONS ========================================================= */
55
//
56
//
57
//
58
//
59
/* CLASS --------------------------------------------------------------- */
60
64
class
65
APRILSHARED_EXPORT
66
UniqueId
{
67
BBM_TRACK(
UniqueId
);
68
69
//
70
//
71
//
72
//
73
/* DEFINITIONS ----------------------------------------------------- */
74
75
/* DEFINITIONS ===================================================== */
76
//
77
//
78
//
79
//
80
/* DATA ------------------------------------------------------------ */
81
82
private
:
83
85
QString my_name_;
86
88
QMap<ID,QString> map_;
89
91
ID first_free_;
92
93
94
/* DATA ============================================================ */
95
//
96
//
97
//
98
//
99
/* FUNCTIONS ------------------------------------------------------- */
100
101
public
:
102
104
UniqueId
(
const
QString & s_name );
105
106
private
:
107
109
UniqueId
(){}
110
111
public
:
112
114
~
UniqueId
();
115
116
public
:
117
119
QString name ( ID
id
);
120
122
126
ID value (
const
QString & s_name );
127
129
void
insert ( ID
id
,
const
QString & s_name );
130
132
ID addNew (
const
QString & s_name = QString() );
133
135
ID checkAdd (
const
QString & s_name );
136
138
void
checkAdd ( ID
id
,
const
QString & s_name );
139
141
bool
save ( QSettings & stg )
const
;
142
144
bool
load ( QSettings & stg );
145
147
bool
operator == (
const
UniqueId
& other )
const
;
148
150
QString createName (
const
QString & s_pattern );
151
153
QList<ID> ids (
void
)
const
154
{
return
map_.keys(); }
155
157
bool
isAssigned ( ID
id
)
const
158
{
return
map_.contains(
id
); }
159
160
/* FUNCTIONS ======================================================= */
161
//
162
//
163
//
164
//
165
166
};
/* class UniqueId */
167
168
/* CLASS =============================================================== */
169
//
170
//
171
//
172
//
173
174
}
// namespace april
175
176
#endif // __UNIQUEID_INC__
177
/* ------------------------------------------------------------------------- */
178
/* ========================================================================= */
april
logic
uniqueid.h
Generated on Sat Apr 20 2013 16:35:29 for april by
1.8.1.2