libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ResourceType.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/base/Exception.h
"
13
#include "
ResourceType.h
"
14
15
namespace
zypp
16
{
17
namespace
repo
18
{
19
namespace
yum
20
{
21
22
23
static
std::map<std::string,ResourceType::Type>
_table
;
24
25
const
ResourceType
ResourceType::NONE
(
ResourceType::NONE_e
);
26
const
ResourceType
ResourceType::REPOMD
(
ResourceType::REPOMD_e
);
27
const
ResourceType
ResourceType::PRIMARY
(
ResourceType::PRIMARY_e
);
28
const
ResourceType
ResourceType::OTHER
(
ResourceType::OTHER_e
);
29
const
ResourceType
ResourceType::FILELISTS
(
ResourceType::FILELISTS_e
);
30
const
ResourceType
ResourceType::GROUP
(
ResourceType::GROUP_e
);
31
const
ResourceType
ResourceType::PATCHES
(
ResourceType::PATCHES_e
);
32
const
ResourceType
ResourceType::PATCH
(
ResourceType::PATCH_e
);
33
const
ResourceType
ResourceType::PRODUCT
(
ResourceType::PRODUCT_e
);
34
const
ResourceType
ResourceType::PATTERNS
(
ResourceType::PATTERNS_e
);
35
const
ResourceType
ResourceType::PRIMARY_DB
(
ResourceType::PRIMARY_DB_e
);
36
const
ResourceType
ResourceType::OTHER_DB
(
ResourceType::OTHER_DB_e
);
37
38
ResourceType::ResourceType
(
const
std::string & strval_r)
39
: _type(parse(strval_r))
40
{}
41
42
ResourceType::Type
ResourceType::parse
(
const
std::string & strval_r)
43
{
44
if
(
_table
.empty())
45
{
46
// initialize it
47
_table
[
"repomd"
] =
ResourceType::REPOMD_e
;
48
_table
[
"primary"
] =
ResourceType::PRIMARY_e
;
49
_table
[
"other"
] =
ResourceType::OTHER_e
;
50
_table
[
"filelists"
] =
ResourceType::FILELISTS_e
;
51
_table
[
"group"
] =
ResourceType::GROUP_e
;
52
_table
[
"patches"
] =
ResourceType::PATCHES_e
;
53
_table
[
"patch"
] =
ResourceType::PATCH_e
;
54
_table
[
"product"
] =
ResourceType::PRODUCT_e
;
55
_table
[
"patterns"
] =
ResourceType::PATTERNS_e
;
56
_table
[
"primary_db"
] =
ResourceType::PRIMARY_DB_e
;
57
_table
[
"other_db"
] =
ResourceType::OTHER_DB_e
;
58
_table
[
"NONE"
] =
_table
[
"none"
] =
ResourceType::NONE_e
;
59
}
60
61
std::map<std::string,ResourceType::Type>::const_iterator it
62
=
_table
.find(strval_r);
63
if
(it ==
_table
.end())
64
{
65
return
ResourceType::NONE_e
;
66
}
67
return
it->second;
68
}
69
70
71
const
std::string &
ResourceType::asString
()
const
72
{
73
static
std::map<Type, std::string>
_table
;
74
if
( _table.empty() )
75
{
76
// initialize it
77
_table[
REPOMD_e
] =
"repomd"
;
78
_table[
PRIMARY_e
] =
"primary"
;
79
_table[
OTHER_e
] =
"other"
;
80
_table[
FILELISTS_e
] =
"filelists"
;
81
_table[
GROUP_e
] =
"group"
;
82
_table[
PATCHES_e
] =
"patches"
;
83
_table[
PATCH_e
] =
"patch"
;
84
_table[
PRODUCT_e
] =
"product"
;
85
_table[
PATTERNS_e
] =
"patterns"
;
86
_table[
OTHER_DB_e
] =
"other_db"
;
87
_table[
PRIMARY_DB_e
] =
"primary_db"
;
88
_table[
NONE_e
] =
"NONE"
;
89
}
90
return
_table[
_type
];
91
}
92
93
94
}
// ns yum
95
}
// ns source
96
}
// ns zypp
97
98
// vim: set ts=2 sts=2 sw=2 et ai:
zypp
repo
yum
ResourceType.cc
Generated by
1.8.1