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
ByIdent.h
GetResolvablesToInsDel.cc
GetResolvablesToInsDel.h
PoolImpl.cc
PoolImpl.h
PoolStats.cc
PoolStats.h
PoolTraits.h
repo
sat
solver
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
ByIdent.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_POOL_BYIDENT_H
13
#define ZYPP_POOL_BYIDENT_H
14
15
#include "
zypp/PoolItem.h
"
16
18
namespace
zypp
19
{
20
21
namespace
pool
22
{
23
26
class
ByIdent
27
{
28
public
:
29
ByIdent
()
30
:
_id
( 0 )
31
{}
32
33
explicit
ByIdent
(
sat::Solvable
slv_r )
34
:
_id
(
makeIdent
( slv_r ) )
35
{}
36
37
explicit
ByIdent
(
IdString
ident_r )
38
:
_id
( ident_r.id() )
39
{}
40
41
ByIdent
(
ResKind
kind_r,
IdString
name_r )
42
:
_id
(
makeIdent
( kind_r, name_r ) )
43
{}
44
45
ByIdent
(
ResKind
kind_r,
const
C_Str
& name_r )
46
:
_id
(
makeIdent
( kind_r, name_r ) )
47
{}
48
49
public
:
50
bool
operator()
(
sat::Solvable
slv_r )
const
51
{
52
return
_id
>= 0 ? ( slv_r.
ident
().
id
() ==
_id
&& ! slv_r.
isKind
(
ResKind::srcpackage
) )
53
: ( slv_r.
ident
().
id
() == -
_id
&& slv_r.
isKind
(
ResKind::srcpackage
) );
54
}
55
56
bool
operator()
(
const
PoolItem
& pi_r )
const
57
{
return
operator()
( pi_r.
satSolvable
() ); }
58
59
bool
operator()
(
ResObject::constPtr
p_r )
const
60
{
return
p_r ?
operator()
( p_r->satSolvable() ) : !
_id
; }
61
62
private
:
63
sat::detail::IdType
makeIdent
(
sat::Solvable
slv_r )
64
{
65
return
slv_r.
isKind
(
ResKind::srcpackage
) ? -slv_r.
ident
().
id
()
66
: slv_r.
ident
().
id
();
67
}
68
69
sat::detail::IdType
makeIdent
(
ResKind
kind_r,
IdString
name_r )
70
{
71
if
( kind_r ==
ResKind::package
)
72
return
name_r.
id
();
73
else
if
( kind_r ==
ResKind::srcpackage
)
74
return
-name_r.
id
();
75
return
IdString
(
str::form
(
"%s:%s"
, kind_r.
c_str
(), name_r.
c_str
() ) ).
id
();
76
}
77
78
sat::detail::IdType
makeIdent
(
ResKind
kind_r,
const
C_Str
& name_r )
79
{
80
if
( kind_r ==
ResKind::package
)
81
return
IdString
( name_r ).
id
();
82
else
if
( kind_r ==
ResKind::srcpackage
)
83
return
-(
IdString
( name_r ).
id
());
84
return
IdString
(
str::form
(
"%s:%s"
, kind_r.
c_str
(), name_r.
c_str
() ) ).
id
();
85
}
86
87
public
:
88
sat::detail::IdType
get
()
const
{
return
_id
; }
89
90
private
:
94
sat::detail::IdType
_id
;
95
};
96
98
}
// namespace pool
101
}
// namespace zypp
103
#endif // ZYPP_POOL_BYIDENT_H
zypp
pool
ByIdent.h
Generated by
1.8.1