00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_CAPABILITY_MODALIASCAP_H
00013 #define ZYPP_CAPABILITY_MODALIASCAP_H
00014
00015 #include "zypp/base/Deprecated.h"
00016 #include "zypp/capability/CapabilityImpl.h"
00017
00019 namespace zypp
00020 {
00021
00022 namespace capability
00023 {
00024
00025 DEFINE_PTR_TYPE(ModaliasCap)
00026
00027
00028
00029
00030
00044 class ModaliasCap : public CapabilityImpl
00045 {
00046 public:
00047 typedef ModaliasCap Self;
00048 typedef ModaliasCap_Ptr Ptr;
00049 typedef ModaliasCap_constPtr constPtr;
00050
00051 public:
00053 ModaliasCap( const Resolvable::Kind & refers_r, const std::string & name_r );
00054
00056 ModaliasCap( const Resolvable::Kind & refers_r,
00057 const std::string & name_r,
00058 Rel op_r,
00059 const std::string & value_r );
00060
00061 public:
00063 virtual const Kind & kind() const;
00064
00066 virtual CapMatch matches( const CapabilityImpl::constPtr & rhs ) const;
00067
00069 virtual std::string encode() const;
00070
00072 virtual std::string index() const;
00073
00074 public:
00075 const std::string & pkgname() const
00076 { return _pkgname; }
00077
00078 void setPkgname( const std::string &pn )
00079 { _pkgname = pn; }
00080
00081 ZYPP_DEPRECATED const std::string & querystring() const
00082 { return _name; }
00083
00084 const std::string & name() const
00085 { return _name; }
00086
00087 Rel op() const
00088 { return _op; }
00089
00090 const std::string & value() const
00091 { return _value; }
00092
00093 private:
00095 bool isEvalCmd() const;
00096
00098 bool evaluate() const;
00099
00100 private:
00102 std::string _pkgname;
00103 std::string _name;
00104 Rel _op;
00105 std::string _value;
00106 };
00108
00110 }
00113 }
00115 #endif // ZYPP_CAPABILITY_MODALIASCAP_H