00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_TARGET_HAL_HAL_H
00013 #define ZYPP_TARGET_HAL_HAL_H
00014
00015 #include <iosfwd>
00016 #include <string>
00017
00018 #include "zypp/base/PtrTypes.h"
00019 #include "zypp/Rel.h"
00020
00022 namespace zypp
00023 {
00024
00025 namespace target
00026 {
00027
00028 namespace hal
00029 {
00030
00032
00033
00034
00038 class Hal
00039 {
00040 friend std::ostream & operator<<( std::ostream & str, const Hal & obj );
00041
00042 public:
00044 class Impl;
00045
00046 public:
00048 static Hal & instance();
00049
00051 ~Hal();
00052
00053 public:
00054
00056 bool query( const std::string & cap_r ) const;
00057
00059 bool query( const std::string & cap_r,
00060 Rel op_r,
00061 const std::string & val_r ) const;
00062
00063 private:
00065 Hal();
00066
00068 RW_pointer<Impl> _pimpl;
00069 };
00071
00073 std::ostream & operator<<( std::ostream & str, const Hal & obj );
00074
00076 }
00079 }
00082 }
00084 #endif // ZYPP_TARGET_HAL_HAL_H