1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/ResObject.h
12 #ifndef ZYPP_RESOBJECT_H
13 #define ZYPP_RESOBJECT_H
15 #include "zypp/Resolvable.h"
16 #include "zypp/detail/ResObjectImplIf.h"
18 ///////////////////////////////////////////////////////////////////
20 { /////////////////////////////////////////////////////////////////
22 ///////////////////////////////////////////////////////////////////
24 // CLASS NAME : ResObject
26 /** Interface base for resolvable objects (common data).
28 class ResObject : public Resolvable
31 typedef ResObject Self;
32 typedef detail::ResObjectImplIf Impl;
33 typedef base::intrusive_ptr<Self> Ptr;
34 typedef base::intrusive_ptr<const Self> constPtr;
40 text description() const;
44 ResObject( const ResKind & kind_r,
45 const std::string & name_r,
46 const Edition & edition_r,
47 const Arch & arch_r );
52 /** Access implementation */
53 virtual Impl & pimpl() = 0;
54 /** Access implementation */
55 virtual const Impl & pimpl() const = 0;
57 ///////////////////////////////////////////////////////////////////
59 /////////////////////////////////////////////////////////////////
61 ///////////////////////////////////////////////////////////////////
62 #endif // ZYPP_RESOBJECT_H