1// Copyright (c) 2013 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_QUIC_QUIC_CRYPTO_CLIENT_STREAM_FACTORY_H_ 6#define NET_QUIC_QUIC_CRYPTO_CLIENT_STREAM_FACTORY_H_ 7 8#include <string> 9 10#include "net/base/net_export.h" 11 12namespace net { 13 14class QuicClientSession; 15class QuicCryptoClientStream; 16class QuicServerId; 17 18// An interface used to instantiate QuicCryptoClientStream objects. Used to 19// facilitate testing code with mock implementations. 20class NET_EXPORT QuicCryptoClientStreamFactory { 21 public: 22 virtual ~QuicCryptoClientStreamFactory() {} 23 24 virtual QuicCryptoClientStream* CreateQuicCryptoClientStream( 25 const QuicServerId& server_id, 26 QuicClientSession* session, 27 QuicCryptoClientConfig* crypto_config) = 0; 28}; 29 30} // namespace net 31 32#endif // NET_QUIC_QUIC_CRYPTO_CLIENT_STREAM_FACTORY_H_ 33