libzypp
12.16.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
MediaUserAuth.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_MEDIA_USER_AUTH_H
13
#define ZYPP_MEDIA_USER_AUTH_H
14
15
#include "
zypp/APIConfig.h
"
16
17
#include "
zypp/Url.h
"
18
#include "
zypp/base/PtrTypes.h
"
19
20
namespace
zypp {
21
namespace
media {
22
24
25
30
class
AuthData
31
{
32
public
:
33
AuthData
()
34
{}
35
36
AuthData
(
const
Url
&
url
);
37
38
AuthData
(
const
std::string &
username
,
const
std::string &
password
)
39
:
_username
(username),
_password
(password)
40
{}
41
42
virtual
~AuthData
() {};
43
49
virtual
bool
valid
()
const
;
50
51
void
setUrl
(
const
Url
&
url
) {
_url
=
url
; }
52
void
setUsername
(
const
std::string &
username
) {
_username
=
username
; }
53
void
setPassword
(
const
std::string &
password
) {
_password
=
password
; }
54
55
Url
url
()
const
{
return
_url
; }
56
std::string
username
()
const
{
return
_username
; }
57
std::string
password
()
const
{
return
_password
; }
58
59
virtual
std::ostream &
dumpOn
( std::ostream & str )
const
;
60
61
virtual
std::ostream &
dumpAsIniOn
( std::ostream & str )
const
;
62
63
private
:
64
Url
_url
;
65
std::string
_username
;
66
std::string
_password
;
67
};
68
69
typedef
shared_ptr<AuthData>
AuthData_Ptr
;
70
74
class
CurlAuthData
:
public
AuthData
{
75
public
:
80
CurlAuthData
();
81
82
CurlAuthData
(
const
AuthData
& authData);
83
84
CurlAuthData
(std::string &
username
, std::string &
password
, std::string & auth_type)
85
:
AuthData
(username,password),
_auth_type_str
(auth_type)
86
{
87
_auth_type
=
auth_type_str2long
(auth_type);
88
}
89
90
CurlAuthData
(std::string &
username
, std::string &
password
,
long
auth_type)
91
:
AuthData
(username,password),
_auth_type
(auth_type)
92
{
93
_auth_type_str
=
auth_type_long2str
(auth_type);
94
}
95
101
virtual
bool
valid
()
const
;
102
107
void
setAuthType
(std::string auth_type)
108
{
109
_auth_type_str
= auth_type;
_auth_type
=
auth_type_str2long
(auth_type);
110
}
111
112
/*
113
* Set HTTP authentication type(s) to use.
114
* \param HTTP authentication type as in long ORed form.
115
* \see curl.h for available auth types
116
*/
117
void
setAuthType
(
long
auth_type)
118
{
119
_auth_type
= auth_type;
120
_auth_type_str
=
auth_type_long2str
(auth_type);
121
}
122
123
long
authType
() {
return
_auth_type
; }
const
124
std::string
authTypeAsString
() {
return
_auth_type_str
; }
const
125
126
std::string
getUserPwd
()
const
{
return
username
() +
":"
+
password
(); }
127
128
138
static
long
auth_type_str2long
(std::string & auth_type_str);
139
144
static
std::string
auth_type_long2str
(
long
auth_type);
145
146
virtual
std::ostream &
dumpOn
( std::ostream & str )
const
;
147
148
private
:
149
std::string
_auth_type_str
;
150
long
_auth_type
;
151
};
152
153
typedef
shared_ptr<CurlAuthData>
CurlAuthData_Ptr
;
154
155
std::ostream &
operator <<
(std::ostream & str,
const
AuthData
& auth_data);
156
std::ostream &
operator <<
(std::ostream & str,
const
CurlAuthData
& auth_data);
157
159
160
}
// namespace media
161
}
// namespace zypp
162
163
#endif // ZYPP_MEDIA_USER_AUTH_H
zypp
media
MediaUserAuth.h
Generated by
1.8.2