libzypp 17.31.7
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
20extern "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
35namespace 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 //
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 );
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
Global sat-pool.
Definition: Pool.h:47
A Solvable object within the sat Pool.
Definition: Solvable.h:54
static const IdType namespaceLanguage(20)
static const IdType solvablePrereqMarker(15)
Internal ids satlib includes in dependencies.
::s_Datamatcher CDatamatcher
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:59
static const IdType solvableFileMarker(16)
static const IdType emptyId(1)
static const IdType namespaceModalias(18)
static const IdType namespaceFilesystem(21)
static const IdType noId(0)
static const SolvableIdType noSolvableId(0)
Id to denote Solvable::noSolvable.
::s_Solver CSolver
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:65
::s_Map CMap
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:60
static const RepoIdType noRepoId(0)
Id to denote Repo::noRepository.
bool isDepMarkerId(IdType id_r)
Test for internal ids satlib includes in dependencies.
Definition: PoolMember.h:119
::s_Transaction CTransaction
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:66
::s_Dataiterator CDataiterator
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:58
::s_Queue CQueue
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:62
SolvableIdType size_type
Definition: PoolMember.h:126
::s_Repo CRepo
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:63
int IdType
Generic Id type.
Definition: PoolMember.h:104
::s_Solvable CSolvable
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:64
::s_Pool CPool
Wrapped libsolv C data type exposed as backdoor.
Definition: PoolMember.h:61
unsigned SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition: PoolMember.h:125
static const SolvableIdType systemSolvableId(1)
Id to denote the usually hidden Solvable::systemSolvable.
CRepo * RepoIdType
Id type to connect Repo and sat-repo.
Definition: PoolMember.h:133
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
Backlink to the associated PoolImpl.
Definition: PoolMember.h:89
static PoolImpl & myPool()
Definition: PoolImpl.cc:184