libzypp  17.14.0
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/Hash.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  // Those s_Type names are exposed as sat::detail::CType below!
23  struct s_Dataiterator;
24  struct s_Datamatcher;
25  struct s_Map;
26  struct s_Pool;
27  struct s_Queue;
28  struct s_Repo;
29  struct s_Solvable;
30  struct s_Solver;
31  struct s_Transaction;
32 }
33 
35 namespace zypp
36 {
37 
38  class IdString;
39  class Capability;
40  class Capabilities;
41  class Repository;
42  class RepoInfo;
43 
45  namespace detail
46  {
47  class RepoIterator;
48  struct ByRepository;
49  }
50 
52  namespace sat
53  {
54 
56  namespace detail
57  {
58  typedef ::s_Dataiterator CDataiterator;
59  typedef ::s_Datamatcher CDatamatcher;
60  typedef ::s_Map CMap;
61  typedef ::s_Pool CPool;
62  typedef ::s_Queue CQueue;
63  typedef ::s_Repo CRepo;
64  typedef ::s_Solvable CSolvable;
65  typedef ::s_Solver CSolver;
66  typedef ::s_Transaction CTransaction;
67  } // namespace detail
69 
70  class Pool;
71  class Solvable;
72 
74  namespace detail
75  {
76 
77  class PoolImpl;
78 
80  //
81  // CLASS NAME : PoolMember
82  //
88  struct PoolMember
89  {
90  static PoolImpl & myPool();
91  };
93 
95  } // namespace detail
97 
98 
100  namespace detail
101  {
102 
104  typedef int IdType;
105  static const IdType noId( 0 );
106  static const IdType emptyId( 1 );
107 
111  static const IdType solvablePrereqMarker( 15 );
112  static const IdType solvableFileMarker ( 16 );
113 
114  static const IdType namespaceModalias ( 18 );
115  static const IdType namespaceLanguage ( 20 );
116  static const IdType namespaceFilesystem ( 21 );
117 
119  inline bool isDepMarkerId( IdType id_r )
120  { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
121 
125  typedef unsigned SolvableIdType;
128  static const SolvableIdType noSolvableId( 0 );
130  static const SolvableIdType systemSolvableId( 1 );
131 
133  typedef CRepo * RepoIdType;
135  static const RepoIdType noRepoId( 0 );
136 
138  } // namespace detail
140 
141 
143  namespace detail
144  {
145 
146  class SolvableIterator;
147 
149  } // namespace detail
151 
153  } // namespace sat
156 } // namespace zypp
158 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H