File: proxyinfo.cc

package info (click to toggle)
libzypp 17.36.7-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 26,380 kB
  • sloc: cpp: 132,576; xml: 2,587; sh: 486; makefile: 26; python: 23
file content (60 lines) | stat: -rw-r--r-- 1,896 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*---------------------------------------------------------------------\
|                          ____ _   __ __ ___                          |
|                         |__  / \ / / . \ . \                         |
|                           / / \ V /|  _/  _/                         |
|                          / /__ | | | | | |                           |
|                         /_____||_| |_| |_|                           |
|                                                                      |
\---------------------------------------------------------------------*/
/** \file zypp-curl/ProxyInfo.cc
 *
*/

#include "proxyinfo.h"
#include <iostream>
#include <utility>

#include <zypp/base/Logger.h>

#include "proxyinfo/proxyinfoimpl.h"
#include "proxyinfo/proxyinfos.h"

using namespace zypp::base;

namespace zypp {
  namespace media {

    shared_ptr<ProxyInfo::Impl> ProxyInfo::Impl::_nullimpl;

    ProxyInfo::ProxyInfo()
#ifdef WITH_LIBPROXY_SUPPORT
    : _pimpl( (ProxyInfoLibproxy::isAvailabe() ? static_cast<Impl *>(new ProxyInfoLibproxy()) : static_cast<Impl *>(new ProxyInfoSysconfig("proxy")))  )
#else
    : _pimpl( new ProxyInfoSysconfig("proxy") )
#endif
    {}

    ProxyInfo::ProxyInfo(ProxyInfo::ImplPtr pimpl_r)
    : _pimpl(std::move(pimpl_r))
    {}

    bool ProxyInfo::enabled() const
    { return _pimpl->enabled(); }

    std::string ProxyInfo::proxy(const Url & url_r) const
    { return _pimpl->proxy(url_r); }

    ProxyInfo::NoProxyList ProxyInfo::noProxy() const
    { return _pimpl->noProxy(); }

    ProxyInfo::NoProxyIterator ProxyInfo::noProxyBegin() const
    { return _pimpl->noProxyBegin(); }

    ProxyInfo::NoProxyIterator ProxyInfo::noProxyEnd() const
    { return _pimpl->noProxyEnd(); }

    bool ProxyInfo::useProxyFor( const Url & url_r ) const
    { return _pimpl->useProxyFor( url_r ); }

  } // namespace media
} // namespace zypp