in ResTraits.h.
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(Atom);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : Atom::Atom
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(Message);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : Message::Message
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(ResObject);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : ResObject::ResObject
ByteCount ResObject::downloadSize() const
{ return pimpl().downloadSize(); }
-
+
unsigned ResObject::mediaNr() const
{ return pimpl().mediaNr(); }
Date ResObject::installtime() const
{ return pimpl().installtime(); }
-
+
/////////////////////////////////////////////////////////////////
} // namespace zypp
///////////////////////////////////////////////////////////////////
{ /////////////////////////////////////////////////////////////////
template<>
- const ResolvableTraits::KindType ResTraits<Package> ::kind( "Package" );
+ const ResolvableTraits::KindType ResTraits<Package> ::kind( "Package" );
template<>
- const ResolvableTraits::KindType ResTraits<Selection>::kind( "Selection" );
+ const ResolvableTraits::KindType ResTraits<SrcPackage>::kind( "SrcPackage" );
template<>
- const ResolvableTraits::KindType ResTraits<Pattern> ::kind( "Pattern" );
+ const ResolvableTraits::KindType ResTraits<Selection> ::kind( "Selection" );
template<>
- const ResolvableTraits::KindType ResTraits<Product> ::kind( "Product" );
+ const ResolvableTraits::KindType ResTraits<Pattern> ::kind( "Pattern" );
template<>
- const ResolvableTraits::KindType ResTraits<Patch> ::kind( "Patch" );
+ const ResolvableTraits::KindType ResTraits<Product> ::kind( "Product" );
template<>
- const ResolvableTraits::KindType ResTraits<Script> ::kind( "Script" );
+ const ResolvableTraits::KindType ResTraits<Patch> ::kind( "Patch" );
template<>
- const ResolvableTraits::KindType ResTraits<Message> ::kind( "Message" );
+ const ResolvableTraits::KindType ResTraits<Script> ::kind( "Script" );
template<>
- const ResolvableTraits::KindType ResTraits<Language> ::kind( "Language" );
+ const ResolvableTraits::KindType ResTraits<Message> ::kind( "Message" );
template<>
- const ResolvableTraits::KindType ResTraits<Atom> ::kind( "Atom" );
-
+ const ResolvableTraits::KindType ResTraits<Language> ::kind( "Language" );
template<>
- const ResolvableTraits::KindType ResTraits<SystemResObject> ::kind( "System" );
+ const ResolvableTraits::KindType ResTraits<Atom> ::kind( "Atom" );
template<>
- const ResolvableTraits::KindType ResTraits<SrcPackage> ::kind( "SrcPackage" );
+ const ResolvableTraits::KindType ResTraits<SystemResObject>::kind( "System" );
/////////////////////////////////////////////////////////////////
} // namespace zypp
namespace zypp
{ /////////////////////////////////////////////////////////////////
- class Resolvable;
- class ResObject;
+ /** \defgroup ZYPP_RESOLVABLE_SMART_POINTER_TYPES
+ * Resolvable smart pointer types.
+ *
+ * Forward declaration of all Resolvable smart pointer
+ * types provided in \c ResTraits.h (recommended in header files):
+ * \code
+ * #include<zypp/ResTraits.h>
+ *
+ * Resolvable_Ptr // Resolvable *
+ * ResTraits<Resolvable>::PtrType // same as above
+ *
+ * Resolvable_constPtr // const Resolvable *
+ * ResTraits<Resolvable>::constPtrType // same as above
+ * \endcode
+ *
+ * Synonym, but requires \c Resolvable.h being included:
+ * \code
+ * #include<zypp/Resolvable.h>
+ *
+ * Resolvable::Ptr // same as Resolvable_Ptr but requires Resolvable.h
+ * Resolvable::constPtr // same as Resolvable_constPtr but requires Resolvable.h
+ * \endcode
+ *
+ * \note When adding a \c NewResolvable type here, dont forgett to
+ * put <tt>IMPL_PTR_TYPE(NewResolvable);</tt> into the \c NewResolvable.cc.
+ */
+ //@{
+ DEFINE_PTR_TYPE( Resolvable );
+ DEFINE_PTR_TYPE( ResObject );
- class Atom;
- class Package;
- class SrcPackage;
- class Selection;
- class Pattern;
- class Product;
- class Patch;
- class Script;
- class Message;
- class Language;
+ DEFINE_PTR_TYPE( Atom );
+ DEFINE_PTR_TYPE( Package );
+ DEFINE_PTR_TYPE( SrcPackage );
+ DEFINE_PTR_TYPE( Selection );
+ DEFINE_PTR_TYPE( Pattern );
+ DEFINE_PTR_TYPE( Product );
+ DEFINE_PTR_TYPE( Patch );
+ DEFINE_PTR_TYPE( Script );
+ DEFINE_PTR_TYPE( Message );
+ DEFINE_PTR_TYPE( Language );
- class SystemResObject;
+ DEFINE_PTR_TYPE( SystemResObject );
+ //@}
/** Base of ResTraits. Defines the Resolvable::Kind type. */
struct ResolvableTraits
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(Resolvable);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : Resolvable::Resolvable
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(Script);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : Script::Script
namespace zypp
{ /////////////////////////////////////////////////////////////////
+ IMPL_PTR_TYPE(SystemResObject);
+
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : SystemResObject::SystemResObject