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
00025
00026
00027
00032 class VersionedCap : public NamedCap
00033 {
00034 public:
00036 VersionedCap( const Resolvable::Kind & refers_r,
00037 const std::string & name_r,
00038 Rel op_r,
00039 const Edition & edition_r )
00040 : NamedCap( refers_r, name_r )
00041 , _range( op_r, edition_r )
00042 {}
00043
00044 public:
00046 virtual std::string encode() const;
00047
00049 virtual std::string index() const;
00051 virtual Rel op() const;
00053 virtual Edition edition () const;
00054
00055 protected:
00057 virtual const Edition::MatchRange & range() const;
00058
00059 private:
00061 Edition::MatchRange _range;
00062 };
00064
00066 }
00069 }
00071 #endif // ZYPP_CAPABILITY_VERSIONEDCAP_H