00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_CAPABILITY_HALCAP_H 00013 #define ZYPP_CAPABILITY_HALCAP_H 00014 00015 #include "zypp/capability/CapabilityImpl.h" 00016 00018 namespace zypp 00019 { 00020 00021 namespace capability 00022 { 00023 00025 // 00026 // CLASS NAME : HalCap 00027 // 00041 class HalCap : public CapabilityImpl 00042 { 00043 public: 00044 typedef HalCap Self; 00045 00046 public: 00048 HalCap( const Resolvable::Kind & refers_r, const std::string & name_r ) 00049 : CapabilityImpl( refers_r ) 00050 , _name( name_r ) 00051 {} 00052 00054 HalCap( const Resolvable::Kind & refers_r, 00055 const std::string & name_r, 00056 Rel op_r, 00057 const std::string & value_r ) 00058 : CapabilityImpl( refers_r ) 00059 , _name( name_r ) 00060 , _op( op_r ) 00061 , _value( value_r ) 00062 {} 00063 00064 public: 00066 virtual const Kind & kind() const; 00067 00069 virtual CapMatch matches( const constPtr & rhs ) const; 00070 00072 virtual std::string encode() const; 00073 00075 virtual std::string index() const; 00076 00078 virtual std::string indexname() const; 00079 00080 private: 00082 bool isEvalCmd() const; 00083 00085 bool evaluate() const; 00086 00087 private: 00089 std::string _name; 00090 Rel _op; 00091 std::string _value; 00092 }; 00094 00096 } // namespace capability 00099 } // namespace zypp 00101 #endif // ZYPP_CAPABILITY_HALCAP_H
1.5.0