00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_CAPABILITY_NAMEDCAP_H
00013 #define ZYPP_CAPABILITY_NAMEDCAP_H
00014
00015 #include "zypp/capability/CapabilityImpl.h"
00016
00018 namespace zypp
00019 {
00020
00021 namespace capability
00022 {
00023
00024 DEFINE_PTR_TYPE(NamedCap)
00025
00026
00027
00028
00029
00033 class NamedCap : public CapabilityImpl
00034 {
00035 public:
00036 typedef NamedCap Self;
00037 typedef NamedCap_Ptr Ptr;
00038 typedef NamedCap_constPtr constPtr;
00039
00041 NamedCap( const Resolvable::Kind & refers_r, const std::string & name_r )
00042 : CapabilityImpl( refers_r )
00043 , _name( name_r )
00044 {}
00045
00046 public:
00048 virtual const Kind & kind() const;
00049
00051 virtual CapMatch matches( const CapabilityImpl::constPtr & rhs ) const;
00052
00054 virtual std::string encode() const;
00055
00057 const std::string & name() const
00058 { return _name; }
00060 virtual Rel op() const
00061 { return Rel::NONE; }
00063 virtual Edition edition() const
00064 { return Edition::noedition; }
00065
00066 protected:
00068 virtual const Edition::MatchRange & range() const;
00069
00070 private:
00072 std::string _name;
00073 };
00075
00077 }
00080 }
00082 #endif // ZYPP_CAPABILITY_NAMEDCAP_H