00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_MEDIA_PROXYINFO_H 00013 #define ZYPP_MEDIA_PROXYINFO_H 00014 00015 #include <string> 00016 #include <list> 00017 00018 #include "zypp/base/PtrTypes.h" 00019 00020 namespace zypp { 00021 namespace media { 00022 00024 // 00025 // CLASS NAME : ProxyInfo 00026 class ProxyInfo 00027 { 00028 public: 00029 typedef intrusive_ptr<ProxyInfo> Ptr; 00030 typedef intrusive_ptr<ProxyInfo> constPtr; 00031 typedef std::list<std::string> NoProxyList; 00032 typedef std::list<std::string>::const_iterator NoProxyIterator; 00033 00035 struct Impl; 00036 typedef shared_ptr<Impl> ImplPtr; 00038 ProxyInfo(); 00040 ProxyInfo(ProxyInfo::ImplPtr pimpl_r); 00041 bool enabled() const; 00042 std::string proxy(const std::string & protocol_r) const; 00043 NoProxyList noProxy() const; 00044 NoProxyIterator noProxyBegin() const; 00045 NoProxyIterator noProxyEnd() const; 00046 private: 00048 RW_pointer<Impl> _pimpl; 00049 }; 00050 00051 00053 00054 } // namespace media 00055 } // namespace zypp 00056 00057 #endif // ZYPP_MEDIA_PROXYINFO_H