00001
00002
00003
00004
00005
00006
00007
00008
00015 #include <zypp/parser/xmlstore/XMLParserData.h>
00016
00017 using namespace std;
00018 namespace zypp {
00019 namespace parser {
00020 namespace xmlstore {
00021
00022 XMLDependency::XMLDependency(const std::string& kind,
00023 const std::string& encoded)
00024 : kind(kind),
00025 encoded(encoded)
00026 { };
00027
00028
00029 XMLResObjectData::XMLResObjectData() : install_only(false)
00030 { }
00031
00032 XMLPatternData::XMLPatternData() : userVisible(true)
00033 { }
00034
00035
00036
00037
00038
00039
00040
00041
00042 namespace {
00049 template<class T>
00050 ostream& operator<<(ostream &out, const list<T>& aList)
00051 {
00052 typedef typename list<T>::const_iterator IterType;
00053 for (IterType iter = aList.begin();
00054 iter != aList.end();
00055 ++iter) {
00056 if (iter != aList.begin())
00057 out << endl;
00058 operator<<(out,*iter);
00059 }
00060 return out;
00061 }
00062 }
00063
00070 string join(const list<string>& aList,
00071 const string& joiner)
00072 {
00073 string res;
00074 for (list<string>::const_iterator iter = aList.begin();
00075 iter != aList.end();
00076 ++ iter) {
00077 if (iter != aList.begin())
00078 res += joiner;
00079 res += *iter;
00080 }
00081 return res;
00082 }
00083
00084 ostream& operator<<(ostream &out, const XMLDependency& data)
00085 {
00086 if (! data.kind.empty())
00087 out << "[" << data.kind << "] ";
00088 out << data.encoded;
00089 return out;
00090 }
00091
00092 ostream& operator<<(ostream &out, const XMLPatternData& data)
00093 {
00094 out << "-------------------------------------------------" << endl
00095 << "Pattern Data: " << endl
00096 << "name:" << data.name << endl
00097 << "summary: '" << data.summary << "'" << endl
00098 << "default: '" << data.default_ << "'" << endl
00099 << "user-visible: '" << data.userVisible << "'" << endl
00100 << "description:" << endl << data.description << endl
00101 << "category: " << data.category << endl
00102 << "icon: " << data.icon << endl
00103 << "script: " << data.script << endl
00104 << "provides:" << endl << data.provides << endl
00105 << "conflicts:" << endl << data.conflicts << endl
00106 << "obsoletes:" << endl << data.obsoletes << endl
00107 << "requires:" << endl << data.requires << endl
00108 << "recommends:" << endl << data.recommends << endl
00109 << "suggests:" << endl << data.suggests << endl
00110 << "supplements:" << endl << data.supplements << endl
00111 << "enhances:" << endl << data.enhances << endl
00112 << "freshens: " << endl << data.freshens << endl;
00113 return out;
00114 }
00115
00116 ostream& operator<<(ostream &out, const XMLProductData& data)
00117 {
00118 out << "-------------------------------------------------" << endl
00119 << "Product Data: " << endl
00120 << " type: " << data.type << endl
00121 << " vendor: " << data.vendor << endl
00122 << " name: " << data.name << endl
00123 << " summary: " << data.summary << endl
00124 << " description: " << data.description << endl
00125 << " short name: " << data.short_name << endl
00126 << " epoch: " << data.epoch << endl
00127 << " version: " << data.ver << endl
00128 << " release: " << data.rel << endl
00129 << " provides: " << data.provides << endl
00130 << " conflicts: " << data.conflicts << endl
00131 << " obsoletes: " << data.obsoletes << endl
00132 << " freshens: " << data.freshens << endl
00133 << " requires: " << data.requires << endl
00134 << " recommends:" << endl << data.recommends << endl
00135 << " suggests:" << endl << data.suggests << endl
00136 << " supplements:" << endl << data.supplements << endl
00137 << " enhances:" << endl << data.enhances << endl;
00138 return out;
00139 }
00140
00141 IMPL_PTR_TYPE(XMLResObjectData);
00142 IMPL_PTR_TYPE(XMLPatternData);
00143 IMPL_PTR_TYPE(XMLProductData);
00144 IMPL_PTR_TYPE(XMLLanguageData);
00145 IMPL_PTR_TYPE(XMLPatchData);
00146 IMPL_PTR_TYPE(XMLPatchAtomData);
00147 IMPL_PTR_TYPE(XMLPatchMessageData);
00148 IMPL_PTR_TYPE(XMLPatchScriptData);
00149
00150 }
00151 }
00152 }