HalCap.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_CAPABILITY_HALCAP_H
00013 #define ZYPP_CAPABILITY_HALCAP_H
00014 
00015 #include "zypp/capability/CapabilityImpl.h"
00016 
00018 namespace zypp
00019 { 
00020 
00021   namespace capability
00022   { 
00023 
00024     DEFINE_PTR_TYPE(HalCap)
00025     
00026     
00027     //
00028     //  CLASS NAME : HalCap
00029     //
00043     class HalCap : public CapabilityImpl
00044     {
00045     public:
00046       typedef HalCap Self;
00047       typedef HalCap_Ptr       Ptr;
00048       typedef HalCap_constPtr  constPtr;
00049 
00050     public:
00052       HalCap( const Resolvable::Kind & refers_r, const std::string & name_r )
00053       : CapabilityImpl( refers_r )
00054       , _name( name_r )
00055       {}
00056 
00058       HalCap( const Resolvable::Kind & refers_r,
00059               const std::string & name_r,
00060               Rel op_r,
00061               const std::string & value_r )
00062       : CapabilityImpl( refers_r )
00063       , _name( name_r )
00064       , _op( op_r )
00065       , _value( value_r )
00066       {}
00067 
00068     public:
00070       virtual const Kind & kind() const;
00071 
00073       virtual CapMatch matches( const CapabilityImpl::constPtr & rhs ) const;
00074 
00076       virtual std::string encode() const;
00077 
00079       virtual std::string index() const;
00080       
00081     public:
00082       const std::string & name() const
00083       { return _name; }
00084       
00085       Rel op() const
00086       { return _op; }
00087       
00088       const std::string & value() const
00089       { return _value; }
00090 
00091     private:
00093       bool isEvalCmd() const;
00094 
00096       bool evaluate() const;
00097 
00098     private:
00100       std::string _name;
00101       Rel _op;
00102       std::string _value;
00103     };
00105 
00107   } // namespace capability
00110 } // namespace zypp
00112 #endif // ZYPP_CAPABILITY_HALCAP_H

Generated on Tue Sep 25 19:23:00 2007 for libzypp by  doxygen 1.5.3