00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_CAPABILITY_MODALIASCAP_H 00013 #define ZYPP_CAPABILITY_MODALIASCAP_H 00014 00015 #include "zypp/capability/CapabilityImpl.h" 00016 00018 namespace zypp 00019 { 00020 00021 namespace capability 00022 { 00023 00025 // 00026 // CLASS NAME : ModaliasCap 00027 // 00041 class ModaliasCap : public CapabilityImpl 00042 { 00043 public: 00044 typedef ModaliasCap Self; 00045 00046 public: 00048 ModaliasCap( const Resolvable::Kind & refers_r, const std::string & name_r ); 00049 00051 ModaliasCap( const Resolvable::Kind & refers_r, 00052 const std::string & name_r, 00053 Rel op_r, 00054 const std::string & value_r ); 00055 00056 public: 00058 virtual const Kind & kind() const; 00059 00061 virtual CapMatch matches( const constPtr & rhs ) const; 00062 00064 virtual std::string encode() const; 00065 00067 virtual std::string index() const; 00068 00069 public: 00070 const std::string & pkgname() const 00071 { return _pkgname; } 00072 00073 const std::string & querystring() const 00074 { return _name; } 00075 00076 private: 00078 bool isEvalCmd() const; 00079 00081 bool evaluate() const; 00082 00083 private: 00085 std::string _pkgname; 00086 std::string _name; 00087 Rel _op; 00088 std::string _value; 00089 }; 00091 00093 } // namespace capability 00096 } // namespace zypp 00098 #endif // ZYPP_CAPABILITY_MODALIASCAP_H