libzypp
17.25.8
RepoType.cc
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
9
10
#include <iostream>
11
#include <
zypp/base/NamedValue.h
>
12
#include <
zypp/repo/RepoException.h
>
13
#include "
RepoType.h
"
14
15
namespace
zypp
16
{
17
namespace
repo
18
{
20
namespace
21
{
22
static
NamedValue<RepoType::Type> & table()
23
{
24
static
NamedValue<RepoType::Type> & _t( *
new
NamedValue<RepoType::Type> );
25
if
( _t.empty() )
26
{
27
_t(
RepoType::RPMMD_e
) |
"rpm-md"
|
"rpm"
|
"rpmmd"
|
"repomd"
|
"yum"
|
"up2date"
;
28
_t(
RepoType::YAST2_e
) |
"yast2"
|
"yast"
|
"susetags"
;
29
_t(
RepoType::RPMPLAINDIR_e
) |
"plaindir"
;
30
_t(
RepoType::NONE_e
) |
"NONE"
|
"none"
;
31
}
32
return
_t;
33
}
34
}
// namespace
36
37
const
RepoType
RepoType::RPMMD
(
RepoType::RPMMD_e
);
38
const
RepoType
RepoType::YAST2
(
RepoType::YAST2_e
);
39
const
RepoType
RepoType::RPMPLAINDIR
(
RepoType::RPMPLAINDIR_e
);
40
const
RepoType
RepoType::NONE
(
RepoType::NONE_e
);
41
42
RepoType::RepoType
(
const
std::string & strval_r)
43
: _type(parse(strval_r))
44
{}
45
46
RepoType::Type
RepoType::parse
(
const
std::string & strval_r )
47
{
48
RepoType::Type
type;
49
if
( ! table().getValue(
str::toLower
( strval_r ), type ) )
50
{
51
ZYPP_THROW
(
RepoUnknownTypeException
(
"Unknown repository type '"
+ strval_r +
"'"
) );
52
}
53
return
type;
54
}
55
56
const
std::string &
RepoType::asString
()
const
57
{
58
return
table().getName(
_type
);
59
}
60
61
62
}
// ns repo
63
}
// ns zypp
64
65
// vim: set ts=2 sts=2 sw=2 et ai:
RepoType.h
zypp::repo::RepoType::RPMMD_e
@ RPMMD_e
Definition:
RepoType.h:37
zypp::repo::RepoType::parse
RepoType::Type parse(const std::string &strval_r)
Definition:
RepoType.cc:46
zypp::repo::RepoUnknownTypeException
thrown when it was impossible to determine this repo type.
Definition:
RepoException.h:143
zypp::repo::RepoType::asString
const std::string & asString() const
Definition:
RepoType.cc:56
ZYPP_THROW
#define ZYPP_THROW(EXCPT)
Drops a logline and throws the Exception.
Definition:
Exception.h:392
zypp::repo::RepoType::NONE_e
@ NONE_e
Definition:
RepoType.h:36
zypp::repo::RepoType::NONE
static const RepoType NONE
Definition:
RepoType.h:32
zypp::repo::RepoType::RPMPLAINDIR_e
@ RPMPLAINDIR_e
Definition:
RepoType.h:39
zypp::repo::RepoType::YAST2
static const RepoType YAST2
Definition:
RepoType.h:30
zypp::repo::RepoType::Type
Type
Definition:
RepoType.h:35
zypp::repo::RepoType::YAST2_e
@ YAST2_e
Definition:
RepoType.h:38
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition:
CodePitfalls.doc:2
zypp::str::toLower
std::string toLower(const std::string &s)
Return lowercase version of s.
Definition:
String.cc:177
zypp::repo::RepoType::RPMMD
static const RepoType RPMMD
Definition:
RepoType.h:29
zypp::repo::RepoType::RPMPLAINDIR
static const RepoType RPMPLAINDIR
Definition:
RepoType.h:31
NamedValue.h
zypp::repo::RepoType::RepoType
RepoType()
Definition:
RepoType.h:42
zypp::repo::RepoType::_type
Type _type
Definition:
RepoType.h:54
RepoException.h
zypp
repo
RepoType.cc
Generated by
1.8.20