libzypp  10.5.0
Pattern.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_PATTERN_H
00013 #define ZYPP_PATTERN_H
00014 
00015 #include "zypp/ResObject.h"
00016 #include "zypp/Pathname.h"
00017 
00019 namespace zypp
00020 { 
00021 
00022   DEFINE_PTR_TYPE(Pattern);
00023 
00025   //
00026   //    CLASS NAME : Pattern
00027   //
00030   class Pattern : public ResObject
00031   {
00032     public:
00033       typedef Pattern                  Self;
00034       typedef ResTraits<Self>          TraitsType;
00035       typedef TraitsType::PtrType      Ptr;
00036       typedef TraitsType::constPtrType constPtr;
00037 
00038     public:
00039       typedef sat::ArrayAttr<IdString,IdString> NameList;
00040       typedef sat::SolvableSet                  Contents;
00041 
00042     public:
00044       bool isDefault() const;
00046       bool userVisible() const;
00048       std::string category( const Locale & lang_r = Locale() ) const;
00050       Pathname icon() const;
00052       Pathname script() const;
00054       std::string order() const;
00055 
00056     public:
00058       NameList includes() const;
00059 
00061       NameList extends() const;
00062 
00064       Contents core() const;
00065 
00069       Contents depends() const;
00070 
00074       Contents contents() const;
00075 
00076     protected:
00077       friend Ptr make<Self>( const sat::Solvable & solvable_r );
00079       Pattern( const sat::Solvable & solvable_r );
00081       virtual ~Pattern();
00082   };
00084 
00086 } // namespace zypp
00088 #endif // ZYPP_PATTERN_H