libzypp  11.13.5
PoolMember.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_SAT_DETAIL_POOLMEMBER_H
13 #define ZYPP_SAT_DETAIL_POOLMEMBER_H
14 
15 #include "zypp/base/Tr1hash.h"
16 #include "zypp/base/Iterator.h"
17 #include "zypp/base/String.h"
18 #include "zypp/base/Easy.h"
19 
20 extern "C"
21 {
22 struct _Solvable;
23 struct _Repo;
24 struct _Pool;
25 }
26 
28 namespace zypp
29 {
30 
31  class IdString;
32  class Capability;
33  class Capabilities;
34  class Repository;
35  class RepoInfo;
36 
38  namespace detail
39  {
40  class RepoIterator;
41  class ByRepository;
42  }
43 
45  namespace sat
46  {
47 
48  class Pool;
49  class Solvable;
50 
52  namespace detail
53  {
54 
55  class PoolImpl;
56 
58  //
59  // CLASS NAME : PoolMember
60  //
66  struct PoolMember
67  {
68  static PoolImpl & myPool();
69  };
71 
73  } // namespace detail
75 
76 
78  namespace detail
79  {
80 
82  typedef int IdType;
83  static const IdType noId( 0 );
84  static const IdType emptyId( 1 );
85 
89  static const IdType solvablePrereqMarker( 15 );
90  static const IdType solvableFileMarker ( 16 );
92  inline bool isDepMarkerId( IdType id_r )
93  { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
94 
98  typedef unsigned SolvableIdType;
101  static const SolvableIdType noSolvableId( 0 );
103  static const SolvableIdType systemSolvableId( 1 );
104 
106  typedef ::_Repo * RepoIdType;
108  static const RepoIdType noRepoId( 0 );
109 
111  } // namespace detail
113 
114 
116  namespace detail
117  {
118 
119  class SolvableIterator;
120 
122  } // namespace detail
124 
126  } // namespace sat
129 } // namespace zypp
131 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H