Add IS_TIZEN_DA to fix build break in standard build.
[platform/framework/web/chromium-efl.git] / net / quic / quic_crypto_client_stream_factory.h
1 // Copyright 2013 The Chromium Authors
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 <memory>
9
10 #include "net/base/net_export.h"
11 #include "net/third_party/quiche/src/quiche/quic/core/quic_server_id.h"
12
13 namespace quic {
14 class ProofVerifyContext;
15 }  // namespace quic
16 namespace net {
17 class QuicChromiumClientSession;
18 }  // namespace net
19 namespace quic {
20 class QuicCryptoClientConfig;
21
22 class QuicCryptoClientStream;
23 }  // namespace quic
24 namespace net {
25
26 // An interface used to instantiate quic::QuicCryptoClientStream objects. Used
27 // to facilitate testing code with mock implementations.
28 class NET_EXPORT QuicCryptoClientStreamFactory {
29  public:
30   virtual ~QuicCryptoClientStreamFactory() = default;
31
32   virtual std::unique_ptr<quic::QuicCryptoClientStream>
33   CreateQuicCryptoClientStream(
34       const quic::QuicServerId& server_id,
35       QuicChromiumClientSession* session,
36       std::unique_ptr<quic::ProofVerifyContext> proof_verify_context,
37       quic::QuicCryptoClientConfig* crypto_config) = 0;
38
39   static QuicCryptoClientStreamFactory* GetDefaultFactory();
40 };
41
42 }  // namespace net
43
44 #endif  // NET_QUIC_QUIC_CRYPTO_CLIENT_STREAM_FACTORY_H_