1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_ 6#define NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_ 7 8#include "base/memory/ref_counted.h" 9#include "base/memory/scoped_ptr.h" 10#include "net/base/net_export.h" 11 12namespace net { 13 14class ClientSocketPoolManager; 15class HttpNetworkSession; 16class HttpStreamFactory; 17class ProxyService; 18 19class NET_EXPORT_PRIVATE HttpNetworkSessionPeer { 20 public: 21 explicit HttpNetworkSessionPeer( 22 const scoped_refptr<HttpNetworkSession>& session); 23 ~HttpNetworkSessionPeer(); 24 25 void SetClientSocketPoolManager( 26 scoped_ptr<ClientSocketPoolManager> socket_pool_manager); 27 28 void SetProxyService(ProxyService* proxy_service); 29 30 void SetHttpStreamFactory(scoped_ptr<HttpStreamFactory> http_stream_factory); 31 void SetHttpStreamFactoryForWebSocket( 32 scoped_ptr<HttpStreamFactory> http_stream_factory_for_websocket); 33 34 private: 35 const scoped_refptr<HttpNetworkSession> session_; 36 37 DISALLOW_COPY_AND_ASSIGN(HttpNetworkSessionPeer); 38}; 39 40} // namespace net 41 42#endif // NET_HTTP_HTTP_NETWORK_SESSION_PEER_H_ 43