libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ServiceType.cc
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
9
10
#include <iostream>
11
#include <map>
12
#include "
zypp/repo/RepoException.h
"
13
#include "
ServiceType.h
"
14
15
namespace
zypp
16
{
17
namespace
repo
18
{
19
20
21
static
std::map<std::string,ServiceType::Type>
_table
;
22
23
const
ServiceType
ServiceType::RIS
(
ServiceType::RIS_e
);
24
const
ServiceType
ServiceType::NONE
(
ServiceType::NONE_e
);
25
const
ServiceType
ServiceType::PLUGIN
(
ServiceType::PLUGIN_e
);
26
27
ServiceType::ServiceType
(
const
std::string & strval_r)
28
: _type(parse(strval_r))
29
{}
30
31
ServiceType::Type
ServiceType::parse
(
const
std::string & strval_r)
32
{
33
if
(
_table
.empty())
34
{
35
// initialize it
36
_table
[
"ris"
] =
ServiceType::RIS_e
;
37
_table
[
"RIS"
] =
ServiceType::RIS_e
;
38
_table
[
"nu"
] =
ServiceType::RIS_e
;
39
_table
[
"NU"
] =
ServiceType::RIS_e
;
40
_table
[
"plugin"
] =
ServiceType::PLUGIN_e
;
41
_table
[
"PLUGIN"
] =
ServiceType::PLUGIN_e
;
42
_table
[
"NONE"
] =
_table
[
"none"
] =
ServiceType::NONE_e
;
43
}
44
45
std::map<std::string,ServiceType::Type>::const_iterator it
46
=
_table
.find(strval_r);
47
if
(it ==
_table
.end())
48
{
49
ZYPP_THROW
(
RepoUnknownTypeException
(
50
"Unknown service type '"
+ strval_r +
"'"
));
51
}
52
return
it->second;
53
}
54
55
56
const
std::string &
ServiceType::asString
()
const
57
{
58
static
std::map<Type, std::string>
_table
;
59
if
( _table.empty() )
60
{
61
// initialize it
62
_table[
RIS_e
] =
"ris"
;
63
_table[
PLUGIN_e
] =
"plugin"
;
64
_table[
NONE_e
] =
"NONE"
;
65
}
66
return
_table[
_type
];
67
}
68
69
70
}
// ns repo
71
}
// ns zypp
72
73
// vim: set ts=2 sts=2 sw=2 et ai:
zypp
repo
ServiceType.cc
Generated by
1.8.1