libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
FileChecker.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_FILECHECKER_H
13
#define ZYPP_FILECHECKER_H
14
15
#include <iosfwd>
16
#include <list>
17
#include "
zypp/base/Exception.h
"
18
#include "
zypp/base/Function.h
"
19
#include "
zypp/PathInfo.h
"
20
#include "
zypp/CheckSum.h
"
21
#include "
zypp/KeyContext.h
"
22
24
namespace
zypp
25
{
26
27
class
PublicKey
;
28
36
typedef
function<void ( const Pathname &file )>
FileChecker
;
37
38
class
FileCheckException
:
public
Exception
39
{
40
public
:
41
FileCheckException
(
const
std::string &
msg
)
42
:
Exception
(msg)
43
{}
44
};
45
46
class
CheckSumCheckException
:
public
FileCheckException
47
{
48
//TODO
49
};
50
51
class
SignatureCheckException
:
public
FileCheckException
52
{
53
//TODO
54
};
55
63
class
ChecksumFileChecker
64
{
65
public
:
70
ChecksumFileChecker
(
const
CheckSum
&
checksum
);
77
void
operator()
(
const
Pathname &file )
const
;
78
private
:
79
CheckSum
_checksum
;
80
};
81
85
class
SignatureFileChecker
86
{
87
public
:
92
SignatureFileChecker
(
const
Pathname &signature );
93
100
SignatureFileChecker
();
101
109
void
setKeyContext
(
const
KeyContext
& keycontext);
110
114
void
addPublicKey
(
const
PublicKey
& publickey,
const
KeyContext
& keycontext =
KeyContext
());
116
void
addPublicKey
(
const
Pathname & publickey,
const
KeyContext
& keycontext =
KeyContext
());
117
124
void
operator()
(
const
Pathname &file )
const
;
125
126
protected
:
127
Pathname
_signature
;
128
KeyContext
_context
;
129
};
130
135
class
NullFileChecker
136
{
137
public
:
138
void
operator()
(
const
Pathname &file )
const
;
139
};
140
155
class
CompositeFileChecker
156
{
157
public
:
158
void
add
(
const
FileChecker
&checker );
162
void
operator()
(
const
Pathname &file )
const
;
163
164
int
checkersSize
()
const
{
return
_checkers
.size(); }
165
private
:
166
std::list<FileChecker>
_checkers
;
167
};
168
170
std::ostream &
operator<<
( std::ostream & str,
const
FileChecker
& obj );
171
173
}
// namespace zypp
175
#endif // ZYPP_FILECHECKER_H
zypp
FileChecker.h
Generated by
1.8.1