Home | History | Annotate | Download | only in http
      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