libzypp
17.34.1
urlcredentialextractor_p.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
13
#ifndef ZYPP_ZYPP_DETAIL_URLCREDENTIALEXTRACTOR_P_H
14
#define ZYPP_ZYPP_DETAIL_URLCREDENTIALEXTRACTOR_P_H
15
16
#include <
zypp-core/Url.h
>
17
#include <
zypp/media/CredentialManager.h
>
18
19
namespace
zypp
20
{
42
class
UrlCredentialExtractor
43
{
44
public
:
45
UrlCredentialExtractor
(
Pathname
& root_r )
46
:
_root
( root_r )
47
{}
48
49
~UrlCredentialExtractor
()
50
{
if
(
_cmPtr
)
_cmPtr
->save(); }
51
53
bool
collect
(
const
Url
& url_r )
54
{
55
bool
ret = url_r.
hasCredentialsInAuthority
();
56
if
( ret )
57
{
58
if
( !
_cmPtr
)
_cmPtr
.reset(
new
media::CredentialManager
(
_root
) );
59
_cmPtr
->addUserCred( url_r );
60
}
61
return
ret;
62
}
64
template
<
class
TContainer>
65
bool
collect
(
const
TContainer & urls_r )
66
{
bool
ret =
false
;
for
(
const
Url
& url : urls_r ) {
if
(
collect
( url ) && !ret ) ret =
true
; }
return
ret; }
67
69
bool
extract
(
Url
& url_r )
70
{
71
bool
ret =
collect
( url_r );
72
if
( ret )
73
url_r.
setPassword
( std::string() );
74
return
ret;
75
}
77
template
<
class
TContainer>
78
bool
extract
( TContainer & urls_r )
79
{
bool
ret =
false
;
for
(
Url
& url : urls_r ) {
if
(
extract
( url ) && !ret ) ret =
true
; }
return
ret; }
80
81
private
:
82
const
Pathname
&
_root
;
83
scoped_ptr<media::CredentialManager>
_cmPtr
;
84
};
85
}
86
87
#endif
CredentialManager.h
zypp::UrlCredentialExtractor
Extract credentials in Url authority and store them via CredentialManager.
Definition
urlcredentialextractor_p.h:43
zypp::UrlCredentialExtractor::extract
bool extract(Url &url_r)
Remember credentials stored in URL authority stripping the passowrd from url_r.
Definition
urlcredentialextractor_p.h:69
zypp::UrlCredentialExtractor::~UrlCredentialExtractor
~UrlCredentialExtractor()
Definition
urlcredentialextractor_p.h:49
zypp::UrlCredentialExtractor::extract
bool extract(TContainer &urls_r)
Definition
urlcredentialextractor_p.h:78
zypp::UrlCredentialExtractor::collect
bool collect(const TContainer &urls_r)
Definition
urlcredentialextractor_p.h:65
zypp::UrlCredentialExtractor::collect
bool collect(const Url &url_r)
Remember credentials stored in URL authority leaving the password in url_r.
Definition
urlcredentialextractor_p.h:53
zypp::UrlCredentialExtractor::_root
const Pathname & _root
Definition
urlcredentialextractor_p.h:82
zypp::UrlCredentialExtractor::_cmPtr
scoped_ptr< media::CredentialManager > _cmPtr
Definition
urlcredentialextractor_p.h:83
zypp::UrlCredentialExtractor::UrlCredentialExtractor
UrlCredentialExtractor(Pathname &root_r)
Definition
urlcredentialextractor_p.h:45
zypp::Url
Url manipulation class.
Definition
Url.h:92
zypp::Url::setPassword
void setPassword(const std::string &pass, EEncoding eflag=zypp::url::E_DECODED)
Set the password in the URL authority.
Definition
Url.cc:743
zypp::Url::hasCredentialsInAuthority
bool hasCredentialsInAuthority() const
Returns true if username and password are encoded in the authority component.
Definition
Url.h:392
zypp::filesystem::Pathname
Pathname.
Definition
Pathname.h:47
zypp::media::CredentialManager
Definition
credentialmanager.h:63
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition
Application.cc:20
Url.h
zypp
zypp_detail
urlcredentialextractor_p.h
Generated by
1.11.0