libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Resolver.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_RESOLVER_H
13
#define ZYPP_RESOLVER_H
14
15
#include <iosfwd>
16
#include <functional>
17
18
#include "
zypp/base/ReferenceCounted.h
"
19
#include "
zypp/base/PtrTypes.h
"
20
21
#include "
zypp/ResPool.h
"
22
#include "
zypp/solver/detail/Resolver.h
"
23
#include "
zypp/solver/detail/SolverQueueItem.h
"
24
#include "
zypp/ProblemTypes.h
"
25
27
namespace
zypp
28
{
29
30
namespace
sat
31
{
32
class
Transaction;
33
}
34
36
//
37
// CLASS NAME : Resolver
38
//
47
class
Resolver
:
public
base::ReferenceCounted
,
private
base::NonCopyable
48
{
49
public
:
50
52
Resolver
(
const
ResPool
& pool );
54
virtual
~Resolver
();
55
64
bool
verifySystem
();
65
66
81
bool
resolvePool
();
82
83
101
bool
resolveQueue
(
solver::detail::SolverQueueItemList
& queue );
102
103
/*
104
* Undo solver changes done in resolvePool()
105
* Throwing away all ignored dependencies.
106
*/
107
void
undo
();
108
109
/*
110
* Resets solver information and verify option.
111
*/
112
void
reset
();
113
114
128
bool
doUpgrade
();
129
139
void
doUpdate
( );
140
148
std::list<PoolItem>
problematicUpdateItems
()
const
;
149
155
ResolverProblemList
problems
();
156
157
162
void
applySolutions
(
const
ProblemSolutionList
& solutions );
163
167
sat::Transaction
getTransaction
();
168
174
void
setForceResolve
(
bool
force );
175
bool
forceResolve
()
const
;
176
181
void
setIgnoreAlreadyRecommended
(
bool
yesno_r );
182
bool
ignoreAlreadyRecommended
()
const
;
183
189
void
setOnlyRequires
(
bool
yesno_r );
190
void
resetOnlyRequires
();
// set back to default (described in zypp.conf)
191
bool
onlyRequires
()
const
;
192
198
void
setUpgradeMode
(
bool
yesno_r );
199
bool
upgradeMode
()
const
;
200
209
void
setAllowVendorChange
(
bool
yesno_r );
210
void
setDefaultAllowVendorChange
();
// set back to default (in zypp.conf)
211
bool
allowVendorChange
()
const
;
212
218
void
setSystemVerification
(
bool
yesno_r );
219
void
setDefaultSystemVerification
();
220
bool
systemVerification
()
const
;
221
231
void
setSolveSrcPackages
(
bool
yesno_r );
232
void
setDefaultSolveSrcPackages
();
233
bool
solveSrcPackages
()
const
;
234
239
void
setCleandepsOnRemove
(
bool
yesno_r );
240
void
setDefaultCleandepsOnRemove
();
// set back to default (in zypp.conf)
241
bool
cleandepsOnRemove
()
const
;
242
254
void
addUpgradeRepo
(
Repository
repo_r );
255
259
bool
upgradingRepo
(
Repository
repo_r )
const
;
260
264
void
removeUpgradeRepo
(
Repository
repo_r );
265
269
void
removeUpgradeRepos
();
271
276
void
addRequire
(
const
Capability
& capability );
277
282
void
addConflict
(
const
Capability
& capability );
283
288
void
removeRequire
(
const
Capability
& capability );
289
294
void
removeConflict
(
const
Capability
& capability );
295
300
CapabilitySet
getRequire
()
const
;
301
306
CapabilitySet
getConflict
()
const
;
307
314
bool
createSolverTestcase
(
const
std::string & dumpPath =
"/var/log/YaST2/solverTestcase"
,
bool
runSolver =
true
);
315
330
solver::detail::ItemCapKindList
isInstalledBy
(
const
PoolItem
& item );
331
346
solver::detail::ItemCapKindList
installs
(
const
PoolItem
& item );
347
362
solver::detail::ItemCapKindList
satifiedByInstalled
(
const
PoolItem
& item );
363
364
379
solver::detail::ItemCapKindList
installedSatisfied
(
const
PoolItem
& item );
380
381
382
private
:
383
friend
std::ostream &
operator<<
( std::ostream & str,
const
Resolver
& obj );
384
385
typedef
solver::detail::Resolver
Impl
;
386
zypp::RW_pointer<Impl,rw_pointer::Intrusive<Impl>
>
_pimpl
;
387
};
389
391
std::ostream &
operator<<
( std::ostream & str,
const
Resolver
& obj );
392
394
}
// namespace zypp
396
#endif // ZYPP_RESOLVER_H
zypp
Resolver.h
Generated by
1.8.1