libzypp 17.25.7
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
20namespace zypp {
21 namespace media {
22
24
25
31{
32public:
34 {}
35
36 AuthData(const Url & url);
37
38 AuthData(const std::string & username, const std::string & 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
63private:
65 std::string _username;
66 std::string _password;
67};
68
69typedef shared_ptr<AuthData> AuthData_Ptr;
70
74class CurlAuthData : public AuthData {
75public:
81
82 CurlAuthData(const AuthData & authData);
83
84 CurlAuthData(std::string & username, std::string & password, std::string & auth_type)
86 {
87 _auth_type = auth_type_str2long(auth_type);
88 }
89
90 CurlAuthData(std::string & username, std::string & password, long auth_type)
92 {
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;
121 }
122
123 long authType() const { return _auth_type; }
124 std::string authTypeAsString() const { return _auth_type_str; }
125
126 std::string getUserPwd() const { return username() + ":" + password(); }
127
128
138 static long auth_type_str2long( std::string & auth_type_str );
139 static long auth_type_str2long( const std::string &auth_type_str );
140
145 static std::string auth_type_long2str(long auth_type);
146
147 virtual std::ostream & dumpOn( std::ostream & str ) const;
148
149private:
150 std::string _auth_type_str;
152};
153
154typedef shared_ptr<CurlAuthData> CurlAuthData_Ptr;
155
156std::ostream & operator << (std::ostream & str, const AuthData & auth_data);
157std::ostream & operator << (std::ostream & str, const CurlAuthData & auth_data);
158
160
161 } // namespace media
162} // namespace zypp
163
164#endif // ZYPP_MEDIA_USER_AUTH_H
Url manipulation class.
Definition: Url.h:92
Class for handling media authentication data.
Definition: MediaUserAuth.h:31
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
std::string password() const
Definition: MediaUserAuth.h:57
void setUsername(const std::string &username)
Definition: MediaUserAuth.h:52
virtual bool valid() const
Checks validity of authentication data.
void setPassword(const std::string &password)
Definition: MediaUserAuth.h:53
AuthData(const std::string &username, const std::string &password)
Definition: MediaUserAuth.h:38
virtual std::ostream & dumpOn(std::ostream &str) const
void setUrl(const Url &url)
Definition: MediaUserAuth.h:51
std::string username() const
Definition: MediaUserAuth.h:56
Curl HTTP authentication data.
Definition: MediaUserAuth.h:74
std::string authTypeAsString() const
CurlAuthData(std::string &username, std::string &password, long auth_type)
Definition: MediaUserAuth.h:90
static std::string auth_type_long2str(long auth_type)
Converts a long of ORed CURLAUTH_* identifiers into a string of comma separated list of authenticatio...
void setAuthType(long auth_type)
CurlAuthData(std::string &username, std::string &password, std::string &auth_type)
Definition: MediaUserAuth.h:84
virtual std::ostream & dumpOn(std::ostream &str) const
static long auth_type_str2long(std::string &auth_type_str)
Converts a string of comma separated list of authetication type names into a long of ORed CURLAUTH_* ...
CurlAuthData()
Default constructor.
void setAuthType(std::string auth_type)
Set HTTP authentication type(s) to use.
std::string getUserPwd() const
virtual bool valid() const
Checks validity of authentication data.
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const MediaAccess &obj)
Definition: MediaAccess.cc:481
shared_ptr< CurlAuthData > CurlAuthData_Ptr
shared_ptr< AuthData > AuthData_Ptr
Definition: MediaUserAuth.h:69
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2