1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Selection.h
12 #ifndef ZYPP_SELECTION_H
13 #define ZYPP_SELECTION_H
15 #include "zypp/ResObject.h"
16 #include "zypp/detail/SelectionImplIf.h"
18 ///////////////////////////////////////////////////////////////////
20 { /////////////////////////////////////////////////////////////////
22 DEFINE_PTR_TYPE(Selection);
24 ///////////////////////////////////////////////////////////////////
26 // CLASS NAME : Selection
28 /** Selection interface.
30 class Selection : public ResObject
33 typedef detail::SelectionImplIf Impl;
34 typedef Selection Self;
35 typedef ResTraits<Self> TraitsType;
36 typedef TraitsType::PtrType Ptr;
37 typedef TraitsType::constPtrType constPtr;
40 /** selection category */
41 Label category() const;
42 inline bool isBase() const
43 { return category() == "baseconf"; }
45 /** selection visibility (for hidden selections) */
48 /** selection presentation order */
51 const std::set<std::string> install_packages( const Locale & lang = Locale("") ) const;
55 Selection( const NVRAD & nvrad_r );
60 /** Access implementation */
61 virtual Impl & pimpl() = 0;
62 /** Access implementation */
63 virtual const Impl & pimpl() const = 0;
65 ///////////////////////////////////////////////////////////////////
67 /////////////////////////////////////////////////////////////////
69 ///////////////////////////////////////////////////////////////////
70 #endif // ZYPP_SELECTION_H