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"
21 #include "zypp/Resolver.h"
23 ///////////////////////////////////////////////////////////////////
25 { /////////////////////////////////////////////////////////////////
37 ///////////////////////////////////////////////////////////////////
42 class ZYpp : public base::ReferenceCounted, private base::NonCopyable
46 typedef intrusive_ptr<ZYpp> Ptr;
47 typedef intrusive_ptr<const ZYpp> constPtr;
52 SourceFeed_Ref sourceFeed() const;
57 void addResolvables (const ResStore& store, bool installed = false);
59 void removeResolvables (const ResStore& store);
64 Target_Ptr target() const;
69 void initTarget(const Pathname & root);
79 Resolver_Ptr resolver() const;
85 virtual std::ostream & dumpOn( std::ostream & str ) const;
88 friend class ZYppFactory;
90 typedef zypp_detail::ZYppImpl Impl;
91 typedef shared_ptr<Impl> Impl_Ptr;
94 ZYpp( const Impl_Ptr & impl_r );
96 /** Pointer to implementation */
97 RW_pointer<Impl> _pimpl;
99 ///////////////////////////////////////////////////////////////////
101 /////////////////////////////////////////////////////////////////
103 ///////////////////////////////////////////////////////////////////
104 #endif // ZYPP_ZYPP_H