1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
17 #include "zypp/base/ReferenceCounted.h"
18 #include "zypp/base/NonCopyable.h"
19 #include "zypp/base/PtrTypes.h"
20 #include "zypp/Target.h"
22 ///////////////////////////////////////////////////////////////////
24 { /////////////////////////////////////////////////////////////////
35 ///////////////////////////////////////////////////////////////////
40 class ZYpp : public base::ReferenceCounted, private base::NonCopyable
44 typedef intrusive_ptr<ZYpp> Ptr;
45 typedef intrusive_ptr<const ZYpp> constPtr;
51 void addResolvables (const ResStore& store, bool installed = false);
53 void removeResolvables (const ResStore& store);
58 Target_Ptr target() const;
63 void initTarget(const Pathname & root);
74 virtual std::ostream & dumpOn( std::ostream & str ) const;
77 friend class ZYppFactory;
79 typedef zypp_detail::ZYppImpl Impl;
80 typedef shared_ptr<Impl> Impl_Ptr;
83 ZYpp( const Impl_Ptr & impl_r );
85 /** Pointer to implementation */
86 RW_pointer<Impl> _pimpl;
88 ///////////////////////////////////////////////////////////////////
90 /////////////////////////////////////////////////////////////////
92 ///////////////////////////////////////////////////////////////////