libzypp
17.7.0
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::PRIMARY_e
@ PRIMARY_e
Definition:
ResourceType.h:47
zypp::repo::yum::ResourceType::NONE
static const ResourceType NONE
Definition:
ResourceType.h:29
zypp::repo::yum::ResourceType::REPOMD_e
@ REPOMD_e
Definition:
ResourceType.h:46
zypp::repo::yum::ResourceType::OTHER
static const ResourceType OTHER
Definition:
ResourceType.h:32
zypp::repo::yum::ResourceType::PATCH
static const ResourceType PATCH
Definition:
ResourceType.h:36
zypp::repo::yum::ResourceType::PATCHES
static const ResourceType PATCHES
Definition:
ResourceType.h:35
zypp::repo::yum::ResourceType::ResourceType
ResourceType(Type type)
Definition:
ResourceType.h:59
ResourceType.h
zypp::repo::yum::ResourceType::PRIMARY_DB
static const ResourceType PRIMARY_DB
Definition:
ResourceType.h:40
zypp::repo::yum::ResourceType::FILELISTS_e
@ FILELISTS_e
Definition:
ResourceType.h:49
zypp::repo::yum::ResourceType::asString
const std::string & asString() const
Definition:
ResourceType.cc:71
Exception.h
zypp::repo::yum::ResourceType::PRODUCT
static const ResourceType PRODUCT
Definition:
ResourceType.h:37
zypp::repo::yum::ResourceType::PATCHES_e
@ PATCHES_e
Definition:
ResourceType.h:51
zypp::repo::yum::ResourceType::OTHER_e
@ OTHER_e
Definition:
ResourceType.h:48
zypp::repo::yum::ResourceType::_type
Type _type
Definition:
ResourceType.h:69
zypp::repo::yum::ResourceType::OTHER_DB
static const ResourceType OTHER_DB
Definition:
ResourceType.h:41
zypp::repo::yum::ResourceType::PRIMARY_DB_e
@ PRIMARY_DB_e
Definition:
ResourceType.h:55
zypp::repo::yum::ResourceType::GROUP_e
@ GROUP_e
Definition:
ResourceType.h:50
zypp::repo::yum::ResourceType::FILELISTS
static const ResourceType FILELISTS
Definition:
ResourceType.h:33
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition:
CodePitfalls.doc:1
zypp::repo::yum::ResourceType::GROUP
static const ResourceType GROUP
Definition:
ResourceType.h:34
zypp::repo::yum::ResourceType::NONE_e
@ NONE_e
Definition:
ResourceType.h:45
zypp::repo::yum::ResourceType::Type
Type
Definition:
ResourceType.h:43
zypp::repo::yum::ResourceType::PRIMARY
static const ResourceType PRIMARY
Definition:
ResourceType.h:31
zypp::repo::yum::ResourceType::parse
ResourceType::Type parse(const std::string &strval_r)
Definition:
ResourceType.cc:42
zypp::repo::yum::ResourceType::PATTERNS
static const ResourceType PATTERNS
Definition:
ResourceType.h:38
zypp::repo::yum::ResourceType::OTHER_DB_e
@ OTHER_DB_e
Definition:
ResourceType.h:56
zypp::repo::yum::ResourceType::PATTERNS_e
@ PATTERNS_e
Definition:
ResourceType.h:54
zypp::repo::yum::_table
static std::map< std::string, ResourceType::Type > _table
Definition:
ResourceType.cc:23
zypp::repo::yum::ResourceType::REPOMD
static const ResourceType REPOMD
Definition:
ResourceType.h:30
zypp::repo::yum::ResourceType::PATCH_e
@ PATCH_e
Definition:
ResourceType.h:52
zypp::repo::yum::ResourceType
Definition:
ResourceType.h:27
zypp::repo::yum::ResourceType::PRODUCT_e
@ PRODUCT_e
Definition:
ResourceType.h:53
zypp
repo
yum
ResourceType.cc
Generated by
1.8.17