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           Pathname dir;
00050           std::string comment;
00051           // set of pairs (productname, version)
00052           std::set< std::pair<std::string, std::string> > products;
00053         };
00054 
00055         virtual ~MediaPatchesMetadataParser()
00056         {}
00057 
00058         /* Parse file and invoke consume on each tag found.
00059          * \throw ParseException
00060          * \todo more doc on Ecaptions.
00061         */
00062         void parse( const Pathname & file_r, MediaPatchesEntry &entry_r );
00063       };
00065 
00067     } // namespace tagfile
00070   } // namespace parser
00073 } // namespace zypp
00075 //
00076 #endif //  ZYPP_PARSER_TAGFILE_MediaPatchesMetadataPPARSER_H

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