updated to compile
authorJiri Srain <jsrain@suse.cz>
Fri, 18 Nov 2005 16:13:06 +0000 (16:13 +0000)
committerJiri Srain <jsrain@suse.cz>
Fri, 18 Nov 2005 16:13:06 +0000 (16:13 +0000)
test/devel.jsrain/PatchSelect.cc

index b19f3d5..1010a15 100644 (file)
@@ -6,6 +6,7 @@
 #include <zypp/Message.h>
 #include <zypp/detail/MessageImpl.h>
 #include <zypp/detail/PatchImpl.h>
+#include <zypp/Patch.h>
 #include <zypp/Package.h>
 #include <zypp/detail/PackageImpl.h>
 
 using namespace std;
 using namespace zypp;
 
-DEFINE_PTR_TYPE(MyPatchImpl)
-
 class MyPatchImpl : public detail::PatchImpl
 {
   public:
-    MyPatchImpl( std::string name,
-                std::list<ResolvablePtr> atoms,
+    MyPatchImpl( detail::PatchImpl::AtomList atoms,
                 std::string category)
-    : PatchImpl (name,
-                Edition (),
-                Arch ("noarch"))
     {
       _reboot_needed = false;
       _atoms = atoms;
@@ -34,8 +29,6 @@ class MyPatchImpl : public detail::PatchImpl
     }
 };
 
-IMPL_PTR_TYPE(MyPatchImpl)
-
 
 /******************************************************************
 **
@@ -49,36 +42,37 @@ int main( int argc, char * argv[] )
 {
   INT << "===[START]==========================================" << endl;
 
-  PatchImpl::AtomList atoms;
+  detail::PatchImpl::AtomList atoms;
 
   std::string _name( "foo" );
   Edition _edition( "1.0", "42" );
   Arch    _arch( "i386" );
-  detail::PackageImplPtr pi( new detail::PackageImpl(_name,_edition,_arch) );
-  PackagePtr p (new Package (pi));
+  base::shared_ptr<detail::PackageImpl> pi( new detail::PackageImpl );
+  Package::Ptr p( detail::makeResolvableFromImpl( _name, _edition, _arch, pi ));
   atoms.push_back (p);
 
   std::string _name2( "bar" );
   Edition _edition2( "1.0", "43" );
   Arch    _arch2( "noarch" );
-  detail::PackageImplPtr pi2(new detail::PackageImpl(_name2,_edition2,_arch2));
-  PackagePtr p2 (new Package (pi2));
+  base::shared_ptr<detail::PackageImpl> pi2( new detail::PackageImpl );
+  Package::Ptr p2( detail::makeResolvableFromImpl( _name2, _edition2, _arch2, pi2 ));
   atoms.push_back (p2);
 
-  MyPatchImplPtr q (new MyPatchImpl ("patch1", atoms, "recommended"));
-  PatchPtr patch1 (new Patch (q));
+  base::shared_ptr<detail::PatchImpl> pt1(new MyPatchImpl(atoms,"recommended"));
+  Patch::Ptr patch1( detail::makeResolvableFromImpl( std::string("patch1"), _edition, _arch, pt1));
 
-  PatchImpl::AtomList atoms2;
+  detail::PatchImpl::AtomList atoms2;
   std::string _name3( "msg" );
   Arch    _arch3( "noarch" );
-  detail::MessageImplPtr mi(new detail::MessageImpl(_name3,Edition (),_arch3));
-  MessagePtr m (new Message (mi));
-  atoms2.push_back (m);
+  base::shared_ptr<detail::MessageImpl> mi( new detail::MessageImpl );
+  Message::Ptr m( detail::makeResolvableFromImpl( _name, _edition, _arch, mi ));
+  atoms.push_back (m);
+
+  base::shared_ptr<detail::PatchImpl> pt2(new MyPatchImpl(atoms,"recommended"));
+  Patch::Ptr patch2( detail::makeResolvableFromImpl( std::string("patch2"), _edition, _arch, pt2));
 
-  MyPatchImplPtr q2 (new MyPatchImpl ("patch2", atoms2, "recommended"));
-  PatchPtr patch2 (new Patch (q2)); 
 
-  list<PatchPtr> patches;
+  list<Patch::Ptr> patches;
   patches.push_back (patch1);
   patches.push_back (patch2);
 
@@ -89,22 +83,22 @@ int main( int argc, char * argv[] )
   levels_to_preselect.insert ("recommended");
 
   // output values
-  list<PatchPtr> patches_to_display;
-  list<PatchPtr> patches_for_manual;
+  list<Patch::Ptr> patches_to_display;
+  list<Patch::Ptr> patches_for_manual;
 
 // really start here
 
   // count patches to offer
   if (interactive_run)
   {
-    for (list<PatchPtr>::iterator it = patches.begin();
+    for (list<Patch::Ptr>::iterator it = patches.begin();
          it != patches.end();
          it++)
     {
       (*it)->select ();
     }
     DBG << "Running solver here..." << endl; // TODO
-    for (list<PatchPtr>::iterator it = patches.begin();
+    for (list<Patch::Ptr>::iterator it = patches.begin();
          it != patches.end();
          it++)
     {
@@ -117,11 +111,11 @@ int main( int argc, char * argv[] )
   }
 
   // count patches to preselect
-  for (list<PatchPtr>::iterator it = patches.begin();
+  for (list<Patch::Ptr>::iterator it = patches.begin();
        it != patches.end();
        it++)
   {
-    PatchPtr ptr = *it;
+    Patch::Ptr ptr = *it;
     string category = ptr->category ();
     // interactive patches can be applied only in interactive mode
     if (interactive_run
@@ -153,11 +147,11 @@ int main( int argc, char * argv[] )
   DBG << "Running solver here..." << endl; // TODO
   // hoping resolver solves obsoletes as well
 
-  for (list<PatchPtr>::iterator it = patches.begin();
+  for (list<Patch::Ptr>::iterator it = patches.begin();
        it != patches.end();
        it++)
   {
-    PatchPtr ptr = *it;
+    Patch::Ptr ptr = *it;
     if (! ptr->any_atom_selected())
     {
       ptr->select(); // TODO use deselected here instead