YUMPatchParser.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00015 #ifndef YUMPatchParser_h
00016 #define YUMPatchParser_h
00017 
00018 #include <zypp/parser/yum/YUMParserData.h>
00019 #include <zypp/parser/XMLNodeIterator.h>
00020 #include <zypp/parser/LibXMLHelper.h>
00021 #include <zypp/Arch.h>
00022 #include <list>
00023 
00024 namespace zypp {
00025   namespace parser {
00026     namespace yum {
00027 
00048       class YUMPatchParser : public XMLNodeIterator<YUMPatchData_Ptr>
00049       {
00050       public:
00051         YUMPatchParser(std::istream &is, const std::string &baseUrl);
00052         YUMPatchParser();
00053         YUMPatchParser(YUMPatchData_Ptr& entry);
00054         virtual ~YUMPatchParser();
00055 
00056       private:
00057         virtual bool isInterested(const xmlNodePtr nodePtr);
00058         virtual YUMPatchData_Ptr process(const xmlTextReaderPtr reader);
00059         void parseAtomsNode(YUMPatchData_Ptr dataPtr, xmlNodePtr formatNode);
00060         void parsePackageNode(YUMPatchData_Ptr dataPtr, xmlNodePtr formatNode);
00061         void parseMessageNode(YUMPatchData_Ptr dataPtr, xmlNodePtr formatNode);
00062         void parseScriptNode(YUMPatchData_Ptr dataPtr, xmlNodePtr formatNode);
00063         void parseFormatNode(YUMPatchPackage *dataPtr, xmlNodePtr formatNode);
00064         void parsePkgFilesNode(YUMPatchPackage *dataPtr, xmlNodePtr formatNode);
00065         void parsePkgPlainRpmNode(YUMPatchPackage *dataPtr, xmlNodePtr formatNode);
00066         void parsePkgPatchRpmNode(YUMPatchPackage *dataPtr, xmlNodePtr formatNode);
00067         void parsePkgDeltaRpmNode(YUMPatchPackage *dataPtr, xmlNodePtr formatNode);
00068         void parsePkgPatchBaseVersionNode(YUMPatchBaseVersion *dataPtr, xmlNodePtr formatNode);
00069         void parsePkgDeltaBaseVersionNode(YUMDeltaBaseVersion *dataPtr, xmlNodePtr formatNode);
00070         LibXMLHelper _helper;
00071         Arch _zypp_architecture;
00072       };
00073     } // namespace yum
00074   } // namespace parser
00075 } // namespace zypp
00076 
00077 #endif

Generated on Wed Sep 27 01:16:34 2006 for zypp by  doxygen 1.4.6