libzypp  15.28.6
ProxyInfo.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
13 #include <iostream>
14 
15 #include "zypp/base/Logger.h"
16 
17 #include "zypp/media/ProxyInfo.h"
20 
21 using namespace std;
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(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
virtual ProxyInfo::NoProxyIterator noProxyBegin() const =0
shared_ptr< Impl > ImplPtr
Definition: ProxyInfo.h:38
virtual ProxyInfo::NoProxyList noProxy() const =0
bool useProxyFor(const Url &url_r) const
Return true if enabled and url_r does not match noProxy.
Definition: ProxyInfoImpl.h:48
std::string proxy(const Url &url) const
Definition: ProxyInfo.cc:44
std::list< std::string > NoProxyList
Definition: ProxyInfo.h:34
NoProxyIterator noProxyEnd() const
Definition: ProxyInfo.cc:53
NoProxyList noProxy() const
Definition: ProxyInfo.cc:47
RW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: ProxyInfo.h:57
bool useProxyFor(const Url &url_r) const
Return true if enabled and url_r does not match noProxy.
Definition: ProxyInfo.cc:56
NoProxyIterator noProxyBegin() const
Definition: ProxyInfo.cc:50
std::list< std::string >::const_iterator NoProxyIterator
Definition: ProxyInfo.h:35
virtual bool enabled() const =0
virtual std::string proxy(const Url &url_r) const =0
bool enabled() const
Definition: ProxyInfo.cc:41
virtual ProxyInfo::NoProxyIterator noProxyEnd() const =0
Url manipulation class.
Definition: Url.h:87