libzypp  15.28.6
SystemCheck.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_TARGET_SYSTEMCHECK_H
13 #define ZYPP_TARGET_SYSTEMCHECK_H
14 #ifndef ZYPP_USE_RESOLVER_INTERNALS
15 #error Do not directly include this file!
16 #else
17 
18 #include <iosfwd>
19 
20 #include "zypp/base/NonCopyable.h"
21 #include "zypp/Capability.h"
22 
24 namespace zypp
25 {
26  //
28  // CLASS NAME : SystemCheck
29  //
32  class SystemCheck : private base::NonCopyable
33  {
34  friend std::ostream & operator<<( std::ostream & str, const SystemCheck & obj );
35 
36  public:
37 
39  static const SystemCheck & instance();
40 
42  const Pathname & file();
43 
45  const Pathname & dir();
46 
50  bool setFile(const Pathname & file) const;
51 
56  bool setDir(const Pathname & dir) const;
57 
60  const CapabilitySet & requiredSystemCap() const;
61 
64  const CapabilitySet & conflictSystemCap() const;
65 
66  private:
68  SystemCheck();
69  bool loadFile(Pathname &file, bool reset_caps = true) const;
70  bool loadFiles() const;
71  };
73 
75  std::ostream & operator<<( std::ostream & str, const SystemCheck & obj );
76 
78 } // namespace zypp
80 #endif // ZYPP_USE_RESOLVER_INTERNALS
81 #endif // ZYPP_TARGET_SYSTEMCHECK_H
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Definition: NonCopyable.h:26
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:120
std::unordered_set< Capability > CapabilitySet
Definition: Capability.h:33