00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00015 #ifndef XMLLanguageParser_h 00016 #define XMLLanguageParser_h 00017 00018 #include <zypp/parser/xmlstore/XMLResObjectParser.h> 00019 #include <zypp/parser/xmlstore/XMLParserData.h> 00020 #include <zypp/parser/XMLNodeIterator.h> 00021 #include <zypp/parser/LibXMLHelper.h> 00022 #include <list> 00023 00024 namespace zypp { 00025 namespace parser { 00026 namespace xmlstore { 00027 00028 class XMLLanguageParser : public XMLNodeIterator<XMLLanguageData_Ptr>, public XMLResObjectParser 00029 { 00030 public: 00031 XMLLanguageParser(std::istream &is, const std::string &baseUrl); 00032 XMLLanguageParser(); 00033 XMLLanguageParser(XMLLanguageData_Ptr& entry); 00034 virtual ~XMLLanguageParser(); 00035 00036 private: 00037 virtual bool isInterested(const xmlNodePtr nodePtr); 00038 virtual XMLLanguageData_Ptr process(const xmlTextReaderPtr reader); 00039 00040 LibXMLHelper _helper; 00041 }; 00042 } // namespace xmlstore 00043 } // namespace parser 00044 } // namespace zypp 00045 00046 #endif