libzypp 17.35.11
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 using CDataiterator = ::s_Dataiterator;
59 using CDatamatcher = ::s_Datamatcher;
60 using CMap = ::s_Map;
61 using CPool = ::s_Pool;
62 using CQueue = ::s_Queue;
63 using CRepo = ::s_Repo;
64 using CSolvable = ::s_Solvable;
65 using CSolver = ::s_Solver;
66 using CTransaction = ::s_Transaction;
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 using IdType = int;
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 using SolvableIdType = unsigned int;
128 static const SolvableIdType noSolvableId( 0 );
131
133 using RepoIdType = CRepo *;
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
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Definition AutoDispose.h:95
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.
static const IdType solvableFileMarker(16)
static const IdType emptyId(1)
unsigned int SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition PoolMember.h:125
static const IdType namespaceModalias(18)
static const IdType namespaceFilesystem(21)
::s_Repo CRepo
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:63
static const IdType noId(0)
static const SolvableIdType noSolvableId(0)
Id to denote Solvable::noSolvable.
int IdType
Generic Id type.
Definition PoolMember.h:104
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
static const SolvableIdType systemSolvableId(1)
Id to denote the usually hidden Solvable::systemSolvable.
Easy-to use interface to the ZYPP dependency resolver.
zypp::IdString IdString
Definition idstring.h:16
zypp::RepoInfo RepoInfo
Definition repomanager.h:36
Backlink to the associated PoolImpl.
Definition PoolMember.h:89
static PoolImpl & myPool()
Definition PoolImpl.cc:184