libzypp  17.32.4
proxyinfo.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
13 #include "proxyinfo.h"
14 #include <iostream>
15 #include <utility>
16 
17 #include <zypp/base/Logger.h>
18 
20 #include "proxyinfo/proxyinfos.h"
21 
22 using namespace zypp::base;
23 
24 namespace zypp {
25  namespace media {
26 
27  shared_ptr<ProxyInfo::Impl> ProxyInfo::Impl::_nullimpl;
28 
29  ProxyInfo::ProxyInfo()
30 #ifdef WITH_LIBPROXY_SUPPORT
31  : _pimpl( new ProxyInfoLibproxy() )
32 #else
33  : _pimpl( new ProxyInfoSysconfig("proxy") )
34 #endif
35  {}
36 
37  ProxyInfo::ProxyInfo(ProxyInfo::ImplPtr pimpl_r)
38  : _pimpl(std::move(pimpl_r))
39  {}
40 
41  bool ProxyInfo::enabled() const
42  { return _pimpl->enabled(); }
43 
44  std::string ProxyInfo::proxy(const Url & url_r) const
45  { return _pimpl->proxy(url_r); }
46 
48  { return _pimpl->noProxy(); }
49 
51  { return _pimpl->noProxyBegin(); }
52 
54  { return _pimpl->noProxyEnd(); }
55 
56  bool ProxyInfo::useProxyFor( const Url & url_r ) const
57  { return _pimpl->useProxyFor( url_r ); }
58 
59  } // namespace media
60 } // namespace zypp
bool useProxyFor(const Url &url_r) const
Return true if enabled and url_r does not match noProxy.
Definition: proxyinfoimpl.h:48
virtual ProxyInfo::NoProxyIterator noProxyBegin() const =0
shared_ptr< Impl > ImplPtr
Definition: proxyinfo.h:39
NoProxyList noProxy() const
Definition: proxyinfo.cc:47
std::list< std::string >::const_iterator NoProxyIterator
Definition: proxyinfo.h:35
bool useProxyFor(const Url &url_r) const
Return true if enabled and url_r does not match noProxy.
Definition: proxyinfo.cc:56
Definition: Arch.h:363
NoProxyIterator noProxyEnd() const
Definition: proxyinfo.cc:53
virtual ProxyInfo::NoProxyList noProxy() const =0
RW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: proxyinfo.h:57
std::string proxy(const Url &url) const
Definition: proxyinfo.cc:44
virtual bool enabled() const =0
NoProxyIterator noProxyBegin() const
Definition: proxyinfo.cc:50
bool enabled() const
Definition: proxyinfo.cc:41
virtual std::string proxy(const Url &url_r) const =0
std::list< std::string > NoProxyList
Definition: proxyinfo.h:34
virtual ProxyInfo::NoProxyIterator noProxyEnd() const =0
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19
Url manipulation class.
Definition: Url.h:91