MediaPatchesMetadataParser.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_PARSER_TAGFILE_MediaPatchesMetadataPARSER_H
00013 #define ZYPP_PARSER_TAGFILE_MediaPatchesMetadataPARSER_H
00014 
00015 #include <iosfwd>
00016 #include <set>
00017 #include <map>
00018 #include <list>
00019 
00020 #include "zypp/parser/tagfile/ParseException.h"
00021 
00022 #include "zypp/Pathname.h"
00023 
00025 namespace zypp
00026 { 
00027 
00028   namespace source
00029   { 
00030 
00031     namespace susetags
00032     { 
00033 
00034       /*
00035         Location  /media.1/ directory
00036         Content  one line of ASCII as follows
00037         <directory> <whitespace> <optional comment>
00038         zero or more lines specifying exclusive products: <productname>-<productversion>
00039       */
00040 
00042       //
00043       //        CLASS NAME : MediaPatchesMetadataParser
00044       //
00046       struct MediaPatchesMetadataParser
00047       {
00048         struct MediaPatchesEntry
00049         {
00050           Pathname dir;
00051           std::string comment;
00052           // set of pairs (productname, version)
00053           std::set< std::pair<std::string, std::string> > products;
00054         };
00055 
00056         virtual ~MediaPatchesMetadataParser()
00057       {}
00058 
00059         /* Parse file and invoke consume on each tag found.
00060          * \throw ParseException
00061          * \todo more doc on Ecaptions.
00062         */
00063         void parse( const Pathname & file_r, MediaPatchesEntry &entry_r );
00064       };
00066 
00068     } // namespace tagfile
00071   } // namespace parser
00074 } // namespace zypp
00076 //
00077 #endif //  ZYPP_PARSER_TAGFILE_MediaPatchesMetadataPPARSER_H

Generated on Tue Nov 28 16:49:32 2006 for zypp by  doxygen 1.5.0