1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/sat/detail/PoolMember.h
12 #ifndef ZYPP_SAT_DETAIL_POOLMEMBER_H
13 #define ZYPP_SAT_DETAIL_POOLMEMBER_H
15 #include "zypp/base/Iterator.h"
24 ///////////////////////////////////////////////////////////////////
26 { /////////////////////////////////////////////////////////////////
30 ///////////////////////////////////////////////////////////////////
32 { /////////////////////////////////////////////////////////////////
40 ///////////////////////////////////////////////////////////////////
42 { /////////////////////////////////////////////////////////////////
46 ///////////////////////////////////////////////////////////////////
48 // CLASS NAME : PoolMember
50 /** Backlink to the associated \ref PoolImpl.
51 * Simple as we currently use one global PoolImpl. If we change our
52 * minds this is where we'd store and do the \c Id to \ref PoolImpl
57 static PoolImpl & myPool();
59 ///////////////////////////////////////////////////////////////////
61 /////////////////////////////////////////////////////////////////
63 ///////////////////////////////////////////////////////////////////
66 ///////////////////////////////////////////////////////////////////
68 { /////////////////////////////////////////////////////////////////
70 /** Generic Id type. */
72 static const IdType noId( 0 );
74 /** Internal ids satlib includes in dependencies. */
75 static const IdType solvablePrereqMarker( 16 ); // MPL check in PoolImpl.cc
76 static const IdType solvableFileMarker ( 17 ); // MPL check in PoolImpl.cc
77 /** Test for internal ids satlib includes in dependencies. */
78 inline bool isDepMarkerId( IdType id_r )
79 { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
81 /** Id type to connect \ref Solvable and sat-solvable.
82 * Indext into solvable array.
84 typedef unsigned SolvableIdType;
85 /** Id to denote \ref Solvable::nosolvable. */
86 static const SolvableIdType noSolvableId( 0 );
88 /** Id type to connect \ref Repo and sat-repo. */
89 typedef ::_Repo * RepoIdType;
90 /** Id to denote \ref Repo::nosolvable. */
91 static const RepoIdType noRepoId( 0 );
93 /////////////////////////////////////////////////////////////////
95 ///////////////////////////////////////////////////////////////////
98 ///////////////////////////////////////////////////////////////////
100 { /////////////////////////////////////////////////////////////////
102 class SolvableIterator;
106 /////////////////////////////////////////////////////////////////
107 } // namespace detail
108 ///////////////////////////////////////////////////////////////////
110 /////////////////////////////////////////////////////////////////
112 ///////////////////////////////////////////////////////////////////
113 /////////////////////////////////////////////////////////////////
115 ///////////////////////////////////////////////////////////////////
116 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H