1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
12 #include "zypp/repo/RepoException.h"
20 static std::map<std::string,RepoType::Type> _table;
22 const RepoType RepoType::RPMMD(RepoType::RPMMD_e);
23 const RepoType RepoType::YAST2(RepoType::YAST2_e);
24 const RepoType RepoType::RPMPLAINDIR(RepoType::RPMPLAINDIR_e);
25 const RepoType RepoType::NONE(RepoType::NONE_e);
27 RepoType::RepoType(const std::string & strval_r)
28 : _type(parse(strval_r))
31 RepoType::Type RepoType::parse(const std::string & strval_r)
36 _table["repomd"] = RepoType::RPMMD_e;
37 _table["rpmmd"] = RepoType::RPMMD_e;
38 _table["rpm-md"] = RepoType::RPMMD_e;
39 _table["yum"] = RepoType::RPMMD_e;
40 _table["YUM"] = RepoType::RPMMD_e;
41 _table["susetags"] = RepoType::YAST2_e;
42 _table["yast"] = RepoType::YAST2_e;
43 _table["YaST"] = RepoType::YAST2_e;
44 _table["YaST2"] = RepoType::YAST2_e;
45 _table["YAST"] = RepoType::YAST2_e;
46 _table["YAST2"] = RepoType::YAST2_e;
47 _table["yast2"] = RepoType::YAST2_e;
48 _table["plaindir"] = _table["Plaindir"] = RepoType::RPMPLAINDIR_e;
49 _table["NONE"] = _table["none"] = RepoType::NONE_e;
52 std::map<std::string,RepoType::Type>::const_iterator it
53 = _table.find(strval_r);
54 if (it == _table.end())
56 ZYPP_THROW(RepoUnknownTypeException(
57 "Unknown repository type '" + strval_r + "'"));
63 const std::string & RepoType::asString() const
65 static std::map<Type, std::string> _table;
69 _table[RPMMD_e] = "rpm-md";
70 _table[YAST2_e] = "yast2";
71 _table[RPMPLAINDIR_e] = "plaindir";
72 _table[NONE_e] = "NONE";
81 // vim: set ts=2 sts=2 sw=2 et ai: