Author: jkupec
Date: Fri Sep 12 13:46:18 2008
New Revision: 11031
URL: http://svn.opensuse.org/viewcvs/zypp?rev=11031&view=rev
Log:
- --xmlout for patterns added
Modified:
trunk/zypper/src/search.cc
trunk/zypper/src/utils/misc.cc
Modified: trunk/zypper/src/search.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/search.cc?rev=11031&r1=11030&r2=11031&view=diff
==============================================================================
--- trunk/zypper/src/search.cc (original)
+++ trunk/zypper/src/search.cc Fri Sep 12 13:46:18 2008
@@ -350,8 +350,23 @@
cout << tbl;
}
+static void list_patterns_xml(Zypper & zypper)
+{
+ cout << "<pattern-list>" << endl;
-void list_patterns(Zypper & zypper)
+ ResPool::byKind_iterator
+ it = God->pool().byKindBegin(ResKind::pattern),
+ e = God->pool().byKindEnd(ResKind::pattern);
+ for (; it != e; ++it )
+ {
+ Pattern::constPtr pattern = asKind<Pattern>(it->resolvable());
+ cout << asXML(*pattern, it->isSatisfied()) << endl;
+ }
+
+ cout << "</pattern-list>" << endl;
+}
+
+static void list_pattern_table(Zypper & zypper)
{
MIL << "Going to list patterns." << std::endl;
@@ -391,6 +406,14 @@
cout << tbl;
}
+void list_patterns(Zypper & zypper)
+{
+ if (zypper.out().type() == Out::TYPE_XML)
+ list_patterns_xml(zypper);
+ else
+ list_pattern_table(zypper);
+}
+
void list_packages(Zypper & zypper)
{
MIL << "Going to list packages." << std::endl;
Modified: trunk/zypper/src/utils/misc.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/utils/misc.cc?rev=11031&r1=11030&r2=11031&view=diff
==============================================================================
--- trunk/zypper/src/utils/misc.cc (original)
+++ trunk/zypper/src/utils/misc.cc Fri Sep 12 13:46:18 2008
@@ -323,6 +323,10 @@
return Capability();
}
+/**
+ * \todo this is an ugly quick-hack code, let's do something reusable and maintainable in libzypp later
+ */
+// ----------------------------------------------------------------------------
string asXML(const Product & p, bool is_installed)
{
ostringstream str;
@@ -349,5 +353,23 @@
string asXML(const Pattern & p, bool is_installed)
{
- return "";
+ ostringstream str;
+ str
+ << "