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