1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Pattern.h
12 #ifndef ZYPP_PATTERN_H
13 #define ZYPP_PATTERN_H
15 #include "zypp/ResObject.h"
16 #include "zypp/detail/PatternImplIf.h"
17 #include "zypp/Pathname.h"
19 ///////////////////////////////////////////////////////////////////
21 { /////////////////////////////////////////////////////////////////
23 DEFINE_PTR_TYPE(Pattern);
25 ///////////////////////////////////////////////////////////////////
27 // CLASS NAME : Pattern
29 /** Pattern interface.
31 class Pattern : public ResObject
34 typedef detail::PatternImplIf Impl;
36 typedef ResTraits<Self> TraitsType;
37 typedef TraitsType::PtrType Ptr;
38 typedef TraitsType::constPtrType constPtr;
42 bool isDefault() const;
44 bool userVisible() const;
46 std::string category() const;
48 Pathname icon() const;
50 Pathname script() const;
54 std::set<std::string> install_packages( const Locale & lang = Locale("") ) const;
57 const CapSet & includes() const;
59 const CapSet & extends() const;
63 Pattern( const NVRAD & nvrad_r );
68 /** Access implementation */
69 virtual Impl & pimpl() = 0;
70 /** Access implementation */
71 virtual const Impl & pimpl() const = 0;
73 ///////////////////////////////////////////////////////////////////
75 /////////////////////////////////////////////////////////////////
77 ///////////////////////////////////////////////////////////////////
78 #endif // ZYPP_PATTERN_H