26a22f8fd470472ff0c218ea1f4f27b56bc127d3
[platform/upstream/libzypp.git] / zypp / Target.cc
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Target.cc
10  *
11 */
12 #include <cassert>
13
14 #include <iostream>
15
16 #include "zypp/Target.h"
17 #include "zypp/target/TargetImpl.h"
18
19 using namespace std;
20
21 ///////////////////////////////////////////////////////////////////
22 namespace zypp
23 { /////////////////////////////////////////////////////////////////
24
25   IMPL_PTR_TYPE(Target);
26
27   ///////////////////////////////////////////////////////////////////
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
37   ///////////////////////////////////////////////////////////////////
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   Target_Ptr Target::_nullimpl;
49
50   /** Null implementation */
51   Target_Ptr Target::nullimpl()
52   {
53     if (! _nullimpl)
54     {
55       _nullimpl = new Target(target::TargetImpl::nullimpl());
56     }
57     return _nullimpl;
58   }
59
60   std::ostream & operator<<( std::ostream & str, const Target::DistributionLabel & obj )
61   {
62     str << "summary=" << obj.summary << endl;
63     str << "shortName=" << obj.shortName << endl;
64     return str;
65   }
66
67   ///////////////////////////////////////////////////////////////////
68   //
69   //    Forward to TargetImpl:
70   //
71   ///////////////////////////////////////////////////////////////////
72
73   void Target::buildCache()
74   { _pimpl->buildCache(); }
75
76   void Target::cleanCache()
77   { _pimpl->clearCache(); }
78
79   void Target::load()
80   { _pimpl->load(); }
81
82   void Target::reload()
83   { _pimpl->reload(); }
84   
85   void Target::unload()
86   { _pimpl->unload(); }
87
88   target::rpm::RpmDb & Target::rpmDb()
89   { return _pimpl->rpm(); }
90
91   Pathname Target::root() const
92   { return _pimpl->root(); }
93
94   bool Target::providesFile (const std::string & name_str, const std::string & path_str) const
95   { return _pimpl->providesFile (name_str, path_str); }
96
97   std::string Target::whoOwnsFile (const std::string & path_str) const
98   { return _pimpl->whoOwnsFile (path_str); }
99
100   std::ostream & Target::dumpOn( std::ostream & str ) const
101   { return _pimpl->dumpOn( str ); }
102
103   Date Target::timestamp() const
104   { return _pimpl->timestamp(); }
105
106   Product::constPtr Target::baseProduct() const
107   { return _pimpl->baseProduct(); }
108
109   LocaleSet Target::requestedLocales() const
110   { return _pimpl->requestedLocales(); }
111   LocaleSet Target::requestedLocales( const Pathname & root_r )
112   { return target::TargetImpl::requestedLocales( root_r ); }
113
114   std::string Target::targetDistribution() const
115   { return _pimpl->targetDistribution(); }
116   std::string Target::targetDistribution( const Pathname & root_r )
117   { return target::TargetImpl::targetDistribution( root_r ); }
118
119   std::string Target::targetDistributionRelease() const
120   { return _pimpl->targetDistributionRelease(); }
121   std::string Target::targetDistributionRelease( const Pathname & root_r )
122   { return target::TargetImpl::targetDistributionRelease( root_r ); }
123
124   std::string Target::targetDistributionFlavor() const
125   { return _pimpl->targetDistributionFlavor(); }
126   std::string Target::targetDistributionFlavor( const Pathname & root_r )
127   { return target::TargetImpl::targetDistributionFlavor( root_r ); }
128
129   Target::DistributionLabel Target::distributionLabel() const
130   { return _pimpl->distributionLabel(); }
131   Target::DistributionLabel Target::distributionLabel( const Pathname & root_r )
132   { return target::TargetImpl::distributionLabel( root_r ); }
133
134   std::string Target::distributionVersion() const
135   { return _pimpl->distributionVersion(); }
136   std::string Target::distributionVersion( const Pathname & root_r )
137   { return target::TargetImpl::distributionVersion( root_r ); }
138
139   std::string Target::distributionFlavor() const
140   { return _pimpl->distributionFlavor(); }
141   std::string Target::distributionFlavor( const Pathname & root_r )
142   { return target::TargetImpl::distributionFlavor( root_r ); }
143
144   std::string Target::anonymousUniqueId() const
145   { return _pimpl->anonymousUniqueId(); }
146   std::string Target::anonymousUniqueId( const Pathname & root_r )
147   { return target::TargetImpl::anonymousUniqueId( root_r ); }
148
149   /////////////////////////////////////////////////////////////////
150 } // namespace zypp
151 ///////////////////////////////////////////////////////////////////