libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libzypp
Welcome to libzypp
Code Pitfalls - Frequently made mistakes
Code Snippets
Environment Variables
Testing for provided features.
Notes on revisions
Extending ZYpp: Plugins and Hooks
Services
Solver - Vendor protection
Writing and tunning testcases
Libzypp and threads
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
pool
repo
sat
solver
detail
Helper.cc
Helper.h
InstallOrder.cc
InstallOrder.h
ProblemSolutionCombi.cc
ProblemSolutionCombi.h
ProblemSolutionIgnore.cc
ProblemSolutionIgnore.h
Resolver.cc
Resolver.h
SATResolver.cc
SATResolver.h
SolutionAction.cc
SolutionAction.h
SolverQueueItem.cc
SolverQueueItem.h
SolverQueueItemDelete.cc
SolverQueueItemDelete.h
SolverQueueItemInstall.cc
SolverQueueItemInstall.h
SolverQueueItemInstallOneOf.cc
SolverQueueItemInstallOneOf.h
SolverQueueItemLock.cc
SolverQueueItemLock.h
SolverQueueItemUpdate.cc
SolverQueueItemUpdate.h
SystemCheck.cc
SystemCheck.h
Testcase.cc
Testcase.h
Types.h
libzypp_solver.h
target
thread
ui
url
ws
zypp_detail
APIConfig.h
Arch.cc
Arch.h
AutoDispose.h
Bit.h
ByteCount.cc
ByteCount.h
Callback.h
Capabilities.cc
Capabilities.h
Capability.cc
Capability.h
CapMatch.cc
CapMatch.h
Changelog.cc
Changelog.h
CheckSum.cc
CheckSum.h
CountryCode.cc
CountryCode.h
Date.cc
Date.h
Dep.cc
Dep.h
Digest.cc
Digest.h
DiskUsage.cc
DiskUsage.h
DiskUsageCounter.cc
DiskUsageCounter.h
DownloadMode.cc
DownloadMode.h
Edition.cc
Edition.h
ExternalProgram.cc
ExternalProgram.h
Fetcher.cc
Fetcher.h
FileChecker.cc
FileChecker.h
Filter.h
Glob.cc
Glob.h
HistoryLog.cc
HistoryLog.h
HistoryLogData.cc
HistoryLogData.h
IdString.cc
IdString.h
IdStringType.h
InstanceId.cc
InstanceId.h
KeyContext.h
KeyRing.cc
KeyRing.h
KVMap.h
LanguageCode.cc
LanguageCode.h
Locale.cc
Locale.h
Locks.cc
Locks.h
ManagedFile.h
MediaProducts.cc
MediaProducts.h
MediaSetAccess.cc
MediaSetAccess.h
Misc.h
OnMediaLocation.cc
OnMediaLocation.h
Package.cc
Package.h
PackageKeyword.h
Patch.cc
Patch.h
PathInfo.cc
PathInfo.h
Pathname.cc
Pathname.h
Pattern.cc
Pattern.h
PluginFrame.cc
PluginFrame.h
PluginFrameException.cc
PluginFrameException.h
PluginScript.cc
PluginScript.h
PluginScriptException.cc
PluginScriptException.h
PoolItem.cc
PoolItem.h
PoolItemBest.cc
PoolItemBest.h
PoolQuery.cc
PoolQuery.h
PoolQueryResult.cc
PoolQueryResult.h
PoolQueryUtil.tcc
ProblemSolution.cc
ProblemSolution.h
ProblemTypes.h
Product.cc
Product.h
ProgressData.cc
ProgressData.h
ProvideFilePolicy.cc
ProvideFilePolicy.h
PublicKey.cc
PublicKey.h
Range.cc
Range.h
Rel.cc
Rel.h
RelCompare.h
RepoInfo.cc
RepoInfo.h
RepoManager.cc
RepoManager.h
Repository.cc
Repository.h
RepoStatus.cc
RepoStatus.h
ResFilters.h
ResKind.cc
ResKind.h
ResObject.cc
ResObject.h
ResObjects.h
Resolvable.cc
Resolvable.h
Resolver.cc
Resolver.h
ResolverProblem.cc
ResolverProblem.h
ResPool.cc
ResPool.h
ResPoolProxy.cc
ResPoolProxy.h
ResStatus.cc
ResStatus.h
ResTraits.h
ServiceInfo.cc
ServiceInfo.h
Signature.cc
Signature.h
SrcPackage.cc
SrcPackage.h
SysContent.cc
SysContent.h
Target.cc
Target.h
TmpPath.cc
TmpPath.h
TriBool.h
Url.cc
Url.h
Vendor.h
VendorAttr.cc
VendorAttr.h
VendorSupportOptions.cc
VendorSupportOptions.h
ZConfig.cc
ZConfig.h
ZYpp.cc
ZYpp.h
ZYppCallbacks.h
ZYppCommit.h
ZYppCommitPolicy.cc
ZYppCommitPolicy.h
ZYppCommitResult.cc
ZYppCommitResult.h
ZYppFactory.cc
ZYppFactory.h
File Members
ProblemSolutionCombi.cc
Go to the documentation of this file.
1
2
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
3
/* ProblemSolution.cc
4
*
5
* Easy-to use interface to the ZYPP dependency resolver
6
*
7
* Copyright (C) 2000-2002 Ximian, Inc.
8
* Copyright (C) 2005 SUSE Linux Products GmbH
9
*
10
* This program is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU General Public License,
12
* version 2, as published by the Free Software Foundation.
13
*
14
* This program is distributed in the hope that it will be useful, but
15
* WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
22
* 02111-1307, USA.
23
*/
24
25
#include <sstream>
26
27
#include "
zypp/base/String.h
"
28
#include "
zypp/base/Gettext.h
"
29
30
#include "
zypp/solver/detail/ProblemSolutionCombi.h
"
31
32
using namespace
std;
33
35
namespace
zypp
36
{
37
38
namespace
solver
39
{
40
41
namespace
detail
42
{
43
44
IMPL_PTR_TYPE
(ProblemSolutionCombi);
45
46
//---------------------------------------------------------------------------
47
48
ProblemSolutionCombi::ProblemSolutionCombi( ResolverProblem_Ptr parent)
49
:
ProblemSolution
(parent,
""
,
""
)
50
, actNumber(0)
51
{
52
_description
=
""
;
53
_details
=
""
;
54
}
55
56
void
ProblemSolutionCombi::addSingleAction
(
Capability
capability,
const
TransactionKind
action)
57
{
58
addAction
(
new
TransactionSolutionAction
(capability, action));
59
actNumber
++;
60
}
61
62
void
ProblemSolutionCombi::addSingleAction
(
PoolItem
item,
const
TransactionKind
action)
63
{
64
addAction
(
new
TransactionSolutionAction
(item, action));
65
actNumber
++;
66
}
67
68
void
ProblemSolutionCombi::addSingleAction
( SolverQueueItem_Ptr item,
const
TransactionKind
action)
69
{
70
addAction
(
new
TransactionSolutionAction
(item, action));
71
actNumber
++;
72
}
73
74
void
ProblemSolutionCombi::addDescription
(
const
std::string description)
75
{
76
if
(
_description
.size() == 0
77
&&
_details
.size() == 0) {
78
// first entry
79
_description
=
description
;
80
}
else
{
81
if
(
_description
.size() > 0
82
&&
_details
.size() == 0) {
83
// second entry
84
_details
=
_description
;
85
_description
=
_
(
"Following actions will be done:"
);
86
}
87
// all other
88
_details
+=
"\n"
;
89
_details
+=
description
;
90
}
91
}
92
93
void
ProblemSolutionCombi::addFrontDescription
(
const
std::string & description )
94
{
95
if
(
_description
.size() == 0
96
&&
_details
.size() == 0) {
97
// first entry
98
_description
=
description
;
99
}
else
{
100
if
(
_description
.size() > 0
101
&&
_details
.size() == 0) {
102
// second entry
103
_details
=
_description
;
104
_description
=
_
(
"Following actions will be done:"
);
105
}
106
// all other
107
std::string tmp(
_details
);
108
_details
=
description
;
109
_details
+=
"\n"
;
110
_details
+= tmp;
111
}
112
}
113
115
};
// namespace detail
118
};
// namespace solver
121
};
// namespace zypp
zypp
solver
detail
ProblemSolutionCombi.cc
Generated by
1.8.1