Include forward declaration of resolvable smart pointer types
authorMichael Andres <ma@suse.de>
Wed, 1 Aug 2007 12:36:55 +0000 (12:36 +0000)
committerMichael Andres <ma@suse.de>
Wed, 1 Aug 2007 12:36:55 +0000 (12:36 +0000)
in ResTraits.h.

zypp/Atom.cc
zypp/Message.cc
zypp/ResObject.cc
zypp/ResTraits.cc
zypp/ResTraits.h
zypp/Resolvable.cc
zypp/Script.cc
zypp/SystemResObject.cc

index 24fe1201943fb0b1fbc0012183a48e81967b95df..f14572b45ef4df3252e4b92130b5c94fe87b446a 100644 (file)
@@ -17,6 +17,8 @@ using namespace std;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(Atom);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : Atom::Atom
index b47f5fe6eba0c8ca1b70f8986625e0cd958e54db..b9da306da58d2bf5e8179d7f25216859f9a0316d 100644 (file)
@@ -17,6 +17,8 @@ using namespace std;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(Message);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : Message::Message
index 22c9d528797bcbcb1b5e3f2939803043ba06988e..17e22221c16c0fdb5de58e9c3a0ee723a2eb10d9 100644 (file)
@@ -19,6 +19,8 @@ using namespace std;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(ResObject);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : ResObject::ResObject
@@ -80,7 +82,7 @@ namespace zypp
 
   ByteCount ResObject::downloadSize() const
   { return pimpl().downloadSize(); }
-  
+
   unsigned ResObject::mediaNr() const
   { return pimpl().mediaNr(); }
 
@@ -92,7 +94,7 @@ namespace zypp
 
   Date ResObject::installtime() const
   { return pimpl().installtime(); }
-  
+
   /////////////////////////////////////////////////////////////////
 } // namespace zypp
 ///////////////////////////////////////////////////////////////////
index 473cbf8a7f62391d4b8e141ffb81066c46fb570d..b55905557123001b7f82496f81e0daccf350b7f1 100644 (file)
@@ -17,29 +17,28 @@ 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
index dea2079b1a03e39c40f0095c951cf847997c4601..aacc71a5c070ab17d864859fdab7de34e1c79e98 100644 (file)
 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
index 907297b2408b1a7e34eb2cd0ed8371f963895a4d..5bde0914842a7e2f07897fc3ccfea90feb707ec4 100644 (file)
@@ -22,6 +22,8 @@ using namespace std;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(Resolvable);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : Resolvable::Resolvable
index 560f54f951ee499d196a367978b67320a3da3408..de771e920da806c9b03736a839ad9fb4f5ae345c 100644 (file)
@@ -17,6 +17,8 @@ using namespace std;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(Script);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : Script::Script
index 3dba7375c6f0d23e561ef27e4f9f98fd9099f6d9..44cb757695d17a872fef37206c7f1d4a66df0bdf 100644 (file)
@@ -21,6 +21,8 @@ using std::endl;
 namespace zypp
 { /////////////////////////////////////////////////////////////////
 
+  IMPL_PTR_TYPE(SystemResObject);
+
   ///////////////////////////////////////////////////////////////////
   //
   //   METHOD NAME : SystemResObject::SystemResObject