1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
11 #include "zypp/base/NamedValue.h"
12 #include "zypp/repo/RepoException.h"
19 ///////////////////////////////////////////////////////////////////
22 static NamedValue<RepoType::Type> & table()
24 static NamedValue<RepoType::Type> & _t( *new NamedValue<RepoType::Type> );
27 _t( RepoType::RPMMD_e ) | "rpm-md" | "rpmmd"|"repomd"|"yum"|"up2date";
28 _t( RepoType::YAST2_e ) | "yast2" | "yast"|"susetags";
29 _t( RepoType::RPMPLAINDIR_e ) | "plaindir";
30 _t( RepoType::NONE_e ) | "NONE" | "none";
35 ///////////////////////////////////////////////////////////////////
37 const RepoType RepoType::RPMMD ( RepoType::RPMMD_e );
38 const RepoType RepoType::YAST2 ( RepoType::YAST2_e );
39 const RepoType RepoType::RPMPLAINDIR ( RepoType::RPMPLAINDIR_e );
40 const RepoType RepoType::NONE ( RepoType::NONE_e );
42 RepoType::RepoType(const std::string & strval_r)
43 : _type(parse(strval_r))
46 RepoType::Type RepoType::parse( const std::string & strval_r )
49 if ( ! table().getValue( str::toLower( strval_r ), type ) )
51 ZYPP_THROW( RepoUnknownTypeException( "Unknown repository type '" + strval_r + "'") );
56 const std::string & RepoType::asString() const
58 return table().getName( _type );
65 // vim: set ts=2 sts=2 sw=2 et ai: