Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

InstSrcTags.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       InstSrcTags.h
00014 
00015   Author:     Gabriele Strattner <gs@suse.de>
00016   Maintainer: Michael Andres <ma@suse.de>
00017 
00018   Purpose:      Class containing tags, e.g. used in media cache file.
00019                 The tag sets are needed for the TagParser. 
00020 /-*/
00021 
00022 #ifndef InstSrcTags_h
00023 #define InstSrcTags_h
00024 
00025 #include <fstream>
00026 #include <y2util/CommonPkdParser.h>
00027 
00028 
00029 
00030 const std::string TypeTag = "=Type";
00031 const std::string UrlTag  = "=URL";
00032 const std::string ProdDirTag = "=ProductDir";
00033 const std::string DefActTag = "=Default_activate";
00034 const std::string MediaBTag = "+Media";
00035 const std::string MediaETag = "-Media";
00036 const std::string ContentBTag = "+Product";
00037 const std::string ContentETag = "-Product";
00038 const std::string ArchBTag = "+Arch";
00039 const std::string ArchETag = "-Arch";
00040 const std::string DefBaseTag = "=DefaultBase";
00041 const std::string LabelMapBTag = "+LabelMap";
00042 const std::string LabelMapETag = "-LabelMap";
00043 const std::string LinguasBTag = "+Linguas";
00044 const std::string LinguasETag = "-Linguas";
00045 const std::string LabelTag = "=Label";
00046 const std::string LangTag = "=Language";
00047 const std::string TimeTag = "=Timezone";
00048 const std::string DescrDirTag = "=DescriptionDir";
00049 const std::string DataDirTag = "=DataDir";
00050 
00051 
00053 //
00054 //      CLASS NAME : InstSrcMediaTags
00060 class InstSrcMediaTags : public CommonPkdParser::TagSet
00061 {
00062 
00063 public:
00064     enum Tags {
00065         TYPE,           // type found on medium
00066         URL,            // URL
00067         PRODUCTDIR,     // product dir below _url
00068         ACTIVATE,       // 1 = true (default activated), 0 = false
00069         MEDIA,          // _media_vendor, _media_id, _media_count
00070         PRODUCT,        // _content_product, _content_baseproduct, _content_vendor
00071         DEFBASE,        // _content_defaultbase
00072         ARCH,           // _content_archmap
00073         LANGUAGE,       // _content_language
00074         LABEL,          // _content_label
00075         LABELMAP,       // _content_labelmap
00076         LINGUAS,        // _content_linguas
00077         TIMEZONE,       // _content_timezone
00078         DESCRDIR,       // _content_descrdir
00079         DATADIR,        // _content_datadir
00080         NUM_TAGS
00081     };
00082 
00083 public:
00084     InstSrcMediaTags( ) 
00085         : TagSet()      {
00086 
00087         CommonPkdParser::Tag* t;
00088         createTag( TypeTag, TYPE );
00089         createTag( UrlTag, URL );
00090         createTag( ProdDirTag, PRODUCTDIR );
00091         createTag( DefActTag, ACTIVATE );
00092         t = createTag( MediaBTag, MEDIA );
00093         t->setEndTag( MediaETag );
00094         t = createTag( ContentBTag, PRODUCT );
00095         t->setEndTag( ContentETag );
00096         t = createTag( ArchBTag, ARCH );
00097         t->setEndTag( ArchETag );
00098         createTag( DefBaseTag, DEFBASE );
00099         t = createTag( LabelMapBTag, LABELMAP);
00100         t->setEndTag( LabelMapETag );
00101         t = createTag( LinguasBTag, LINGUAS );
00102         t->setEndTag( LinguasETag );
00103         createTag( LabelTag, LABEL );
00104         createTag( LangTag, LANGUAGE );
00105         createTag( TimeTag, TIMEZONE );
00106         createTag( DescrDirTag, DESCRDIR );
00107         createTag( DataDirTag, DATADIR );
00108     };
00109 
00110 private:
00111 
00112     CommonPkdParser::Tag* createTag( std::string tagName, Tags tagEnum ) {
00113         
00114         CommonPkdParser::Tag* t;
00115         t = new CommonPkdParser::Tag( tagName, CommonPkdParser::Tag::ACCEPTONCE );
00116         this->addTag(t);
00117         addTagByIndex( tagEnum, t );
00118 
00119         return t;
00120     }
00121     
00122 };
00123 
00124 #endif // InstSrcTags_h

Generated on Fri Nov 9 14:30:31 2007 for yast2-packagemanager by doxygen 1.3.6