libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
SerialNumber.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_BASE_SERIALNUMBER_H
13
#define ZYPP_BASE_SERIALNUMBER_H
14
15
#include <iosfwd>
16
17
#include "
zypp/base/PtrTypes.h
"
18
20
namespace
zypp
21
{
22
24
//
25
// CLASS NAME : SerialNumber
26
//
44
class
SerialNumber
45
{
46
friend
std::ostream &
operator<<
( std::ostream & str,
const
SerialNumber
& obj );
47
48
public
:
50
SerialNumber
(
bool
dirty_r =
false
);
52
virtual
~SerialNumber
();
53
54
public
:
55
void
setDirty
()
56
{
_dirty
=
true
; }
57
58
public
:
59
bool
dirty
()
const
60
{
return
_dirty
; }
61
62
bool
clean
()
const
63
{
return
!
_dirty
; }
64
65
unsigned
serial
()
const
66
{
67
if
(
_dirty
)
68
{
69
++
_serial
;
70
_dirty
=
false
;
71
}
72
return
_serial
;
73
}
74
75
private
:
76
mutable
bool
_dirty
;
77
mutable
unsigned
_serial
;
78
};
80
82
std::ostream &
operator<<
( std::ostream & str,
const
SerialNumber
& obj );
83
85
//
86
// CLASS NAME : SerialNumberWatcher
87
//
122
class
SerialNumberWatcher
123
{
124
friend
std::ostream &
operator<<
( std::ostream & str,
const
SerialNumberWatcher
& obj );
125
126
public
:
137
SerialNumberWatcher
(
unsigned
serial_r = (
unsigned
)-1 );
139
SerialNumberWatcher
(
const
SerialNumber
& serial_r );
141
virtual
~SerialNumberWatcher
();
142
143
public
:
145
bool
isDirty
(
unsigned
serial_r )
const
146
{
return
(
_serial
!= serial_r ); }
148
bool
isDirty
(
const
SerialNumber
& serial_r )
const
149
{
return
(
_serial
!= serial_r.
serial
() ); }
150
152
bool
isClean
(
unsigned
serial_r )
const
153
{
return
(
_serial
== serial_r ); }
155
bool
isClean
(
const
SerialNumber
& serial_r )
const
156
{
return
(
_serial
== serial_r.
serial
() ); }
157
158
public
:
160
bool
remember
(
unsigned
serial_r )
const
161
{
162
if
(
isDirty
( serial_r ) )
163
{
164
_serial
= serial_r;
165
return
true
;
166
}
167
return
false
;
168
}
170
bool
remember
(
const
SerialNumber
& serial_r )
const
171
{
return
remember
( serial_r.
serial
() ); }
172
173
private
:
174
mutable
unsigned
_serial
;
175
};
177
179
std::ostream &
operator<<
( std::ostream & str,
const
SerialNumberWatcher
& obj );
180
182
}
// namespace zypp
184
#endif // ZYPP_BASE_SERIALNUMBER_H
zypp
base
SerialNumber.h
Generated by
1.8.1