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 12 namespace net { 13 14 class ClientSocketPoolManager; 15 class HttpNetworkSession; 16 class HttpStreamFactory; 17 class ProxyService; 18 19 class 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