libzypp  17.35.12
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-core/base/DefaultIntegral>
18 #include <zypp-media/FileCheckException>
19 #include <zypp/base/Exception.h>
20 #include <zypp/base/Function.h>
21 #include <zypp/PathInfo.h>
22 #include <zypp/CheckSum.h>
23 #include <zypp/KeyRingContexts.h>
24 
26 namespace zypp
27 {
28 
29  class PublicKey;
30 
38  typedef function<void ( const Pathname &file )> FileChecker;
39 
48  {
49  public:
62  void operator()( const Pathname &file ) const;
63  private:
65  };
66 
71  {
72  public:
74 
75  public:
82 
84  SignatureFileChecker( Pathname signature_r );
85 
87  void addPublicKey( const PublicKey & publickey_r );
89  void addPublicKey( const Pathname & publickey_r );
90 
102  void operator()( const Pathname & file_r ) const;
103 
106 
107  private:
109  };
110 
116  {
117  public:
118  void operator()( const Pathname &file ) const;
119  };
120 
136  {
137  public:
138  void add( const FileChecker &checker );
142  void operator()( const Pathname &file ) const;
143 
144  int checkersSize() const { return _checkers.size(); }
145  private:
146  std::list<FileChecker> _checkers;
147  };
148 
150  std::ostream & operator<<( std::ostream & str, const FileChecker & obj );
151 
153 } // namespace zypp
155 #endif // ZYPP_FILECHECKER_H
void operator()(const Pathname &file) const
Definition: FileChecker.cc:44
Checks for nothing Used as the default checker.
Definition: FileChecker.h:115
keyring::VerifyFileContext & verifyContext()
Definition: FileChecker.cc:96
Checks for the validity of a signature.
Definition: FileChecker.h:70
void addPublicKey(const PublicKey &publickey_r)
Add a public key to the list of known keys.
Definition: FileChecker.cc:80
void operator()(const Pathname &file_r) const
Call KeyRing::verifyFileSignatureWorkflow to verify the file.
Definition: FileChecker.cc:83
keyring::VerifyFileContext _verifyContext
Definition: FileChecker.h:108
String related utilities and Regular expression matching.
SignatureFileChecker()
Default Ctor for unsigned files.
Definition: FileChecker.cc:71
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Definition: SerialNumber.cc:52
I/O context for KeyRing::verifyFileSignatureWorkflow.
std::list< FileChecker > _checkers
Definition: FileChecker.h:146
void operator()(const Pathname &file) const
Try to validate the file.
Definition: FileChecker.cc:36
ChecksumFileChecker(CheckSum checksum)
Constructor.
Definition: FileChecker.cc:32
void operator()(const Pathname &file) const
Definition: FileChecker.cc:50
void add(const FileChecker &checker)
Definition: FileChecker.cc:67
SignatureCheckException ExceptionType
Definition: FileChecker.h:73
Checker composed of more checkers.
Definition: FileChecker.h:135
Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).
Definition: PublicKey.h:364
Built in file checkers.
Definition: FileChecker.h:47
std::string checksum(const Pathname &file, const std::string &algorithm)
Compute a files checksum.
Definition: PathInfo.cc:1056
function< void(const Pathname &file)> FileChecker
Functor signature used to check files.
Definition: FileChecker.h:29
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19
CheckSumCheckException ExceptionType
Definition: FileChecker.h:50