00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00014 #ifndef YUMFileListParser_h 00015 #define YUMFileListParser_h 00016 00017 00018 #include <zypp/parser/yum/YUMParserData.h> 00019 #include <zypp/parser/XMLNodeIterator.h> 00020 #include <zypp/parser/LibXMLHelper.h> 00021 #include <list> 00022 #include <zypp/Arch.h> 00023 00024 namespace zypp 00025 { 00026 namespace parser 00027 { 00028 namespace yum 00029 { 00030 00051 class YUMFileListParser : public XMLNodeIterator<YUMFileListData_Ptr> 00052 { 00053 public: 00059 YUMFileListParser(std::istream &is, const std::string &baseUrl, parser::ParserProgress::Ptr progress = parser::ParserProgress::Ptr() ); 00060 YUMFileListParser(); 00061 YUMFileListParser(YUMFileListData_Ptr& entry); 00062 00063 00067 virtual ~YUMFileListParser(); 00068 00069 private: 00075 virtual bool isInterested(const xmlNodePtr nodePtr); 00076 00082 virtual YUMFileListData_Ptr process(const xmlTextReaderPtr reader); 00083 00087 LibXMLHelper _helper; 00088 Arch _zypp_architecture; 00089 }; 00090 } // namespace yum 00091 } // namespace parser 00092 } // namespace zypp 00093 00094 #endif
1.5.0