1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp-curl/ProxyInfo
12 #ifndef ZYPP_CURL_PROXYINFO_H_INCLUDED
13 #define ZYPP_CURL_PROXYINFO_H_INCLUDED
18 #include <zypp-core/base/PtrTypes.h>
26 ///////////////////////////////////////////////////////////////////
28 // CLASS NAME : ProxyInfo
32 typedef intrusive_ptr<ProxyInfo> Ptr;
33 typedef intrusive_ptr<ProxyInfo> constPtr;
34 typedef std::list<std::string> NoProxyList;
35 typedef std::list<std::string>::const_iterator NoProxyIterator;
39 typedef shared_ptr<Impl> ImplPtr;
41 /** Default Ctor: guess the best available implementation. */
43 /** Ctor taking a specific implementation. */
44 ProxyInfo( ProxyInfo::ImplPtr pimpl_r );
47 std::string proxy(const Url & url) const;
48 NoProxyList noProxy() const;
49 NoProxyIterator noProxyBegin() const;
50 NoProxyIterator noProxyEnd() const;
52 /** Return \c true if \ref enabled and \a url_r does not match \ref noProxy. */
53 bool useProxyFor( const Url & url_r ) const;
56 /** Pointer to implementation */
57 RW_pointer<Impl> _pimpl;
61 ///////////////////////////////////////////////////////////////////
66 #endif // ZYPP_CURL_PROXYINFO_H_INCLUDED