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["susetags"] = RepoType::YAST2_e;
41 _table["yast"] = RepoType::YAST2_e;
42 _table["yast2"] = RepoType::YAST2_e;
43 _table["plaindir"] = RepoType::RPMPLAINDIR_e;
44 _table["NONE"] = _table["none"] = RepoType::NONE_e;
47 std::map<std::string,RepoType::Type>::const_iterator it
48 = _table.find(strval_r);
49 if (it == _table.end())
51 ZYPP_THROW(RepoUnknownTypeException(
52 "Unknown repository type '" + strval_r + "'"));
58 const std::string & RepoType::asString() const
60 static std::map<Type, std::string> _table;
64 _table[RPMMD_e] = "rpm-md";
65 _table[YAST2_e] = "yast2";
66 _table[RPMPLAINDIR_e] = "plaindir";
67 _table[NONE_e] = "NONE";
76 // vim: set ts=2 sts=2 sw=2 et ai: