00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_CAPABILITY_VERSIONEDCAP_H
00013 #define ZYPP_CAPABILITY_VERSIONEDCAP_H
00014
00015 #include "zypp/capability/NamedCap.h"
00016
00018 namespace zypp
00019 {
00020
00021 namespace capability
00022 {
00023
00024 DEFINE_PTR_TYPE(VersionedCap)
00025
00026
00027
00028
00029
00034 class VersionedCap : public NamedCap
00035 {
00036 public:
00037 typedef VersionedCap Self;
00038
00040 VersionedCap( const Resolvable::Kind & refers_r,
00041 const std::string & name_r,
00042 Rel op_r,
00043 const Edition & edition_r )
00044 : NamedCap( refers_r, name_r )
00045 , _range( op_r, edition_r )
00046 {}
00047
00048 public:
00050 virtual std::string encode() const;
00051
00053 virtual std::string index() const;
00055 virtual Rel op() const;
00057 virtual Edition edition () const;
00058
00059 protected:
00061 virtual const Edition::MatchRange & range() const;
00062
00063 private:
00065 Edition::MatchRange _range;
00066 };
00068
00070 }
00073 }
00075 #endif // ZYPP_CAPABILITY_VERSIONEDCAP_H