XMLProductParser.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00013 #ifndef XMLProductParser_h
00014 #define XMLProductParser_h
00015 
00016 #include "zypp/Url.h"
00017 #include "zypp/parser/xmlstore/XMLParserData.h"
00018 #include "zypp/parser/xmlstore/XMLResObjectParser.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 xmlstore {
00026 
00027       class XMLProductParser : public XMLNodeIterator<XMLProductData_Ptr>, public XMLResObjectParser
00028       {
00029       public:
00030         XMLProductParser(std::istream &is, const std::string &baseUrl);
00031         XMLProductParser();
00032         XMLProductParser(XMLProductData_Ptr &entry);
00033         virtual ~XMLProductParser();
00034     
00035       private:
00036         void parseProductFlags( XMLProductData_Ptr productPtr, xmlNodePtr node);
00037         
00038         template<class T>
00039         void parseList( const std::string &tagname, std::list<T> &list, xmlNodePtr node);
00040         
00041         virtual bool isInterested(const xmlNodePtr nodePtr);
00042         virtual XMLProductData_Ptr process(const xmlTextReaderPtr reader);
00043       };
00044     } // namespace yum
00045   } // namespace parser
00046 } // namespace zypp
00047 
00048 #endif

Generated on Tue Sep 25 19:23:03 2007 for libzypp by  doxygen 1.5.3