support scripts
authorDuncan Mac-Vicar P <dmacvicar@suse.de>
Tue, 10 Jan 2006 17:21:27 +0000 (17:21 +0000)
committerDuncan Mac-Vicar P <dmacvicar@suse.de>
Tue, 10 Jan 2006 17:21:27 +0000 (17:21 +0000)
devel/devel.dmacvicar/test2.cc

index cda9f18cbbb85bfde8262354dbbf01f77268b268..a0b874117554ecf3b61d1ade19875273427b77c5 100644 (file)
@@ -14,6 +14,8 @@
 #include <zypp/detail/PatchImpl.h>
 #include <zypp/Patch.h>
 #include <zypp/Package.h>
+#include <zypp/Script.h>
+#include <zypp/Message.h>
 #include <zypp/Edition.h>
 #include <zypp/CapSet.h>
 #include <zypp/detail/PackageImpl.h>
@@ -81,7 +83,6 @@ template<> // or constPtr?
 std::string toXML( const Dependencies dep )
 {
   stringstream out;
-  out << "  <dependencies>" << std::endl;
   out << "    <provides>" << std::endl;
   out << "    " << toXML(dep.provides) << std::endl;
   out << "    </provides>" << std::endl;
@@ -106,7 +107,6 @@ std::string toXML( const Dependencies dep )
   out << "    <recommends>" << std::endl;
   out << "    " << toXML(dep.recommends) << std::endl;
   out << "    </recommends>" << std::endl;  
-  out << "  </dependencies>" << std::endl;
   return out.str();
   
 }
@@ -136,6 +136,26 @@ std::string toXML( Patch::Ptr obj )
   return out.str();
 }
 
+template<> // or constPtr?
+std::string toXML( Script::Ptr obj )
+{
+  stringstream out;
+  out << "<script>" << std::endl;
+  // reuse Resolvable information serialize function
+  toXML(static_cast<Resolvable::Ptr>(obj));
+  out << "  <do>" << std::endl;
+  out << "      " << obj->do_script() << std::endl;
+  out << "  </do>" << std::endl;
+  if ( obj->undo_available() )
+  {
+    out << "  <undo>" << std::endl;
+    out << "      " << obj->undo_script() << std::endl;
+    out << "  </undo>" << std::endl;
+  }
+  out << "</script>" << std::endl;
+  return out.str();
+}
+
 class XMLBackend : public base::ReferenceCounted, private base::NonCopyable
 {
        public: