// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_ #define NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_ #pragma once #include "base/memory/ref_counted.h" namespace net { class HostPortPair; class HttpNetworkSession; class HttpProxyClientSocketPool; class HttpStreamFactory; class ProxyService; class SOCKSClientSocketPool; class SSLClientSocketPool; class TransportClientSocketPool; class HttpNetworkSessionPeer { public: explicit HttpNetworkSessionPeer( const scoped_refptr& session); ~HttpNetworkSessionPeer(); void SetTransportSocketPool(TransportClientSocketPool* pool); void SetSocketPoolForSOCKSProxy( const HostPortPair& socks_proxy, SOCKSClientSocketPool* pool); void SetSocketPoolForHTTPProxy( const HostPortPair& http_proxy, HttpProxyClientSocketPool* pool); void SetSSLSocketPool(SSLClientSocketPool* pool); void SetSocketPoolForSSLWithProxy( const HostPortPair& proxy_host, SSLClientSocketPool* pool); void SetProxyService(ProxyService* proxy_service); void SetHttpStreamFactory(HttpStreamFactory* http_stream_factory); private: const scoped_refptr session_; DISALLOW_COPY_AND_ASSIGN(HttpNetworkSessionPeer); }; } // namespace net #endif // NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_