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 parsePkgBaseVersionNode(YUMBaseVersion *dataPtr, xmlNodePtr formatNode);
00069         LibXMLHelper _helper;
00070         Arch _zypp_architecture;
00071       };
00072     } // namespace yum
00073   } // namespace parser
00074 } // namespace zypp
00075 
00076 #endif

Generated on Thu Jul 6 00:07:21 2006 for zypp by  doxygen 1.4.6