libzypp
17.14.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ResKind.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_RESKIND_H
13
#define ZYPP_RESKIND_H
14
15
#include <iosfwd>
16
#include <string>
17
18
#include "
zypp/APIConfig.h
"
19
#include "
zypp/base/String.h
"
20
#include "
zypp/IdStringType.h
"
21
23
namespace
zypp
24
{
25
32
class
ResKind
:
public
IdStringType
<ResKind>
33
{
34
public
:
38
static
const
ResKind
nokind
;
39
40
static
const
ResKind
package
;
41
static
const
ResKind
patch
;
42
static
const
ResKind
pattern
;
43
static
const
ResKind
product
;
44
static
const
ResKind
srcpackage
;
45
static
const
ResKind
application
;
47
53
static
ResKind
explicitBuiltin
(
const
char
* str_r );
55
static
ResKind
explicitBuiltin
(
const
std::string & str_r )
56
{
return
explicitBuiltin
( str_r.c_str() ); }
58
static
ResKind
explicitBuiltin
(
const
IdString
& str_r )
59
{
return
explicitBuiltin
( str_r.
c_str
() ); }
60
61
public
:
63
ResKind
() {}
64
66
explicit
ResKind
(
sat::detail::IdType
id_r ) :
_str
( str::
toLower
(
IdString
(id_r).
c_str
()) ) {}
67
explicit
ResKind
(
const
IdString
& idstr_r ) :
_str
( str::
toLower
(idstr_r.
c_str
()) ) {}
68
explicit
ResKind
(
const
std::string & str_r ) :
_str
( str::
toLower
(str_r) ) {}
69
explicit
ResKind
(
const
char
* cstr_r ) :
_str
( str::
toLower
(cstr_r) ) {}
70
71
public
:
77
static
std::string
satIdent
(
const
ResKind
& refers_r,
const
std::string & name_r );
79
std::string
satIdent
(
const
std::string & name_r )
const
80
{
return
satIdent
( *
this
, name_r ); }
81
82
private
:
83
static
int
_doCompare
(
const
char
* lhs,
const
char
* rhs )
84
{
85
if
( lhs == rhs )
return
0;
86
if
( lhs && rhs ) return ::strcasecmp( lhs, rhs );
87
return
( lhs ? 1 : -1 );
88
}
89
90
private
:
91
friend
class
IdStringType
<
ResKind
>;
92
IdString
_str
;
93
};
94
96
inline
std::ostream &
dumpAsXmlOn
( std::ostream & str,
const
ResKind
& obj )
97
{
return
str <<
"<kind>"
<< obj <<
"</kind>"
; }
98
100
}
// namespace zypp
102
#endif // ZYPP_RESKIND_H
zypp
ResKind.h
Generated by
1.8.2