libzypp 17.31.23
Target.cc
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#include <cassert>
13
14#include <iostream>
15
16#include <zypp/Target.h>
18
19using std::endl;
20
22namespace zypp
23{
24
26
28 //
29 // METHOD NAME : Target::Target
30 // METHOD TYPE : Ctor
31 //
32 Target::Target( const Pathname & root, bool doRebuild_r )
33 : _pimpl( new Impl(root,doRebuild_r) )
34 {
35 }
36
38 //
39 // METHOD NAME : Target::Target
40 // METHOD TYPE : Ctor
41 //
42 Target::Target( const Impl_Ptr & impl_r )
43 : _pimpl( impl_r )
44 {
45 assert( impl_r );
46 }
47
48 std::ostream & operator<<( std::ostream & str, const Target::DistributionLabel & obj )
49 {
50 str << "summary=" << obj.summary << endl;
51 str << "shortName=" << obj.shortName << endl;
52 return str;
53 }
54
56 //
57 // Forward to TargetImpl:
58 //
60
62 { _pimpl->buildCache(); }
63
65 { _pimpl->clearCache(); }
66
68 { _pimpl->load(); }
69
71 { _pimpl->reload(); }
72
74 { _pimpl->unload(); }
75
77 { return _pimpl->rpm(); }
78
80 { return _pimpl->root(); }
81
82 bool Target::providesFile (const std::string & name_str, const std::string & path_str) const
83 { return _pimpl->providesFile (name_str, path_str); }
84
85 std::string Target::whoOwnsFile (const std::string & path_str) const
86 { return _pimpl->whoOwnsFile (path_str); }
87
88 std::ostream & Target::dumpOn( std::ostream & str ) const
89 { return _pimpl->dumpOn( str ); }
90
92 { return _pimpl->baseProduct(); }
93
95 { return _pimpl->requestedLocales(); }
97 { return target::TargetImpl::requestedLocales( root_r ); }
98
100 { return _pimpl->updateAutoInstalled(); }
101
102 std::string Target::targetDistribution() const
103 { return _pimpl->targetDistribution(); }
104 std::string Target::targetDistribution( const Pathname & root_r )
105 { return target::TargetImpl::targetDistribution( root_r ); }
106
108 { return _pimpl->targetDistributionRelease(); }
109 std::string Target::targetDistributionRelease( const Pathname & root_r )
111
113 { return _pimpl->targetDistributionFlavor(); }
114 std::string Target::targetDistributionFlavor( const Pathname & root_r )
116
118 { return _pimpl->distributionLabel(); }
120 { return target::TargetImpl::distributionLabel( root_r ); }
121
122 std::string Target::distributionVersion() const
123 { return _pimpl->distributionVersion(); }
124 std::string Target::distributionVersion( const Pathname & root_r )
125 { return target::TargetImpl::distributionVersion( root_r ); }
126
127 std::string Target::distributionFlavor() const
128 { return _pimpl->distributionFlavor(); }
129 std::string Target::distributionFlavor( const Pathname & root_r )
130 { return target::TargetImpl::distributionFlavor( root_r ); }
131
132 std::string Target::anonymousUniqueId() const
133 { return _pimpl->anonymousUniqueId(); }
134 std::string Target::anonymousUniqueId( const Pathname & root_r )
135 { return target::TargetImpl::anonymousUniqueId( root_r ); }
136
138 { return _pimpl->vendorAttr(); }
139 void Target::vendorAttr( VendorAttr vendorAttr_r )
140 { _pimpl->vendorAttr( std::move(vendorAttr_r) ); }
141
143} // namespace zypp
TraitsType::constPtrType constPtr
Definition: Product.h:38
std::string distributionFlavor() const
This is flavor attribute of the installed base product but does not require the target to be loaded a...
Definition: Target.cc:127
Pathname root() const
Return the root set for this target.
Definition: Target.cc:79
std::string anonymousUniqueId() const
anonymous unique id
Definition: Target.cc:132
void reload()
Definition: Target.cc:70
std::ostream & dumpOn(std::ostream &str) const
Stream output.
Definition: Target.cc:88
Product::constPtr baseProduct() const
returns the target base installed product, also known as the distribution or platform.
Definition: Target.cc:91
std::string targetDistribution() const
This is register.target attribute of the installed base product.
Definition: Target.cc:102
std::string targetDistributionRelease() const
This is register.release attribute of the installed base product.
Definition: Target.cc:107
LocaleSet requestedLocales() const
Languages to be supported by the system.
Definition: Target.cc:94
target::rpm::RpmDb & rpmDb()
Refference to the RPM database.
Definition: Target.cc:76
void buildCache()
builds or refreshes the target cache
Definition: Target.cc:61
std::string whoOwnsFile(const std::string &path_str) const
Return name of package owning path_str or empty string if no installed package owns path_str.
Definition: Target.cc:85
RW_pointer< Impl, rw_pointer::Intrusive< Impl > > _pimpl
Pointer to implementation.
Definition: Target.h:242
const VendorAttr & vendorAttr() const
The targets current vendor equivalence settings.
Definition: Target.cc:137
std::string targetDistributionFlavor() const
This is register.flavor attribute of the installed base product.
Definition: Target.cc:112
Target(const Pathname &root="/", bool doRebuild_r=false)
Ctor.
Definition: Target.cc:32
bool providesFile(const std::string &name_str, const std::string &path_str) const
If the package is installed and provides the file Needed to evaluate split provides during Resolver::...
Definition: Target.cc:82
void updateAutoInstalled()
Update the database of autoinstalled packages.
Definition: Target.cc:99
void unload()
unload target resolvables from the pool
Definition: Target.cc:73
std::string distributionVersion() const
This is version attribute of the installed base product.
Definition: Target.cc:122
void cleanCache()
cleans the target cache (.solv files)
Definition: Target.cc:64
intrusive_ptr< Impl > Impl_Ptr
Definition: Target.h:54
DistributionLabel distributionLabel() const
This is shortName and summary attribute of the installed base product.
Definition: Target.cc:117
void load()
load resolvables into the pool
Definition: Target.cc:67
Definition of vendor equivalence.
Definition: VendorAttr.h:61
Base class for concrete Target implementations.
Definition: TargetImpl.h:54
std::string targetDistributionRelease() const
This is register.release attribute of the installed base product.
Definition: TargetImpl.cc:2946
std::string targetDistribution() const
This is register.target attribute of the installed base product.
Definition: TargetImpl.cc:2940
LocaleSet requestedLocales() const
Languages to be supported by the system.
Definition: TargetImpl.h:155
std::string distributionVersion() const
This is version attribute of the installed base product.
Definition: TargetImpl.cc:2976
Target::DistributionLabel distributionLabel() const
This is shortName and summary attribute of the installed base product.
Definition: TargetImpl.cc:2958
std::string distributionFlavor() const
This is flavor attribute of the installed base product but does not require the target to be loaded a...
Definition: TargetImpl.cc:3017
std::string anonymousUniqueId() const
anonymous unique id
Definition: TargetImpl.cc:3043
std::string targetDistributionFlavor() const
This is register.flavor attribute of the installed base product.
Definition: TargetImpl.cc:2952
Interface to the rpm program.
Definition: RpmDb.h:50
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
std::unordered_set< Locale > LocaleSet
Definition: Locale.h:28
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Definition: SerialNumber.cc:52
#define IMPL_PTR_TYPE(NAME)