00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00015 #ifndef YUMRepomdParser_h 00016 #define YUMRepomdParser_h 00017 00018 #include <zypp/parser/yum/YUMParserData.h> 00019 #include <zypp/parser/XMLNodeIterator.h> 00020 #include <zypp/parser/LibXMLHelper.h> 00021 00022 namespace zypp { 00023 namespace parser { 00024 namespace yum { 00025 00046 class YUMRepomdParser : public XMLNodeIterator<YUMRepomdData_Ptr> 00047 { 00048 public: 00049 YUMRepomdParser(std::istream &is, const std::string &baseUrl); 00050 YUMRepomdParser(); 00051 YUMRepomdParser(YUMRepomdData_Ptr& entry); 00052 virtual ~YUMRepomdParser(); 00053 00054 private: 00055 virtual bool isInterested(const xmlNodePtr nodePtr); 00056 virtual YUMRepomdData_Ptr process(const xmlTextReaderPtr reader); 00057 00058 LibXMLHelper _helper; 00059 }; 00060 } // namespace yum 00061 } // namespace parser 00062 } // namespace zypp 00063 00064 #endif