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 12 namespace net { 13 14 class QuicClientSession; 15 class QuicCryptoClientStream; 16 class QuicServerId; 17 18 // An interface used to instantiate QuicCryptoClientStream objects. Used to 19 // facilitate testing code with mock implementations. 20 class NET_EXPORT QuicCryptoClientStreamFactory { 21 public: ~QuicCryptoClientStreamFactory()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