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 detail::ResObjectImplIf Impl;
32 typedef ResObject Self;
33 typedef ResTraits<Self> TraitsType;
34 typedef TraitsType::PtrType Ptr;
35 typedef TraitsType::constPtrType constPtr;
41 text description() const;
45 ResObject( const Kind & kind_r,
46 const std::string & name_r,
47 const Edition & edition_r,
48 const Arch & arch_r );
53 /** Access implementation */
54 virtual Impl & pimpl() = 0;
55 /** Access implementation */
56 virtual const Impl & pimpl() const = 0;
58 ///////////////////////////////////////////////////////////////////
60 /////////////////////////////////////////////////////////////////
62 ///////////////////////////////////////////////////////////////////
63 #endif // ZYPP_RESOBJECT_H