OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ | 5 #ifndef NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ |
6 #define NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ | 6 #define NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "net/base/net_export.h" | 12 #include "net/base/net_export.h" |
13 #include "net/quic/quic_types.h" | 13 #include "net/quic/quic_types.h" |
14 | 14 |
15 namespace net { | 15 namespace net { |
16 | 16 |
17 // ProofVerifyDetails is an abstract class that acts as a container for any | 17 // ProofVerifyDetails is an abstract class that acts as a container for any |
18 // implementation specific details that a ProofVerifier wishes to return. These | 18 // implementation specific details that a ProofVerifier wishes to return. These |
19 // details are saved in the CachedState for the origin in question. | 19 // details are saved in the CachedState for the origin in question. |
20 class NET_EXPORT_PRIVATE ProofVerifyDetails { | 20 class NET_EXPORT_PRIVATE ProofVerifyDetails { |
21 public: | 21 public: |
22 virtual ~ProofVerifyDetails() {} | 22 virtual ~ProofVerifyDetails() {} |
| 23 |
| 24 // Returns an new ProofVerifyDetails object with the same contents |
| 25 // as this one. |
| 26 virtual ProofVerifyDetails* Clone() const = 0; |
23 }; | 27 }; |
24 | 28 |
25 // ProofVerifyContext is an abstract class that acts as a container for any | 29 // ProofVerifyContext is an abstract class that acts as a container for any |
26 // implementation specific context that a ProofVerifier needs. | 30 // implementation specific context that a ProofVerifier needs. |
27 class NET_EXPORT_PRIVATE ProofVerifyContext { | 31 class NET_EXPORT_PRIVATE ProofVerifyContext { |
28 public: | 32 public: |
29 virtual ~ProofVerifyContext() {} | 33 virtual ~ProofVerifyContext() {} |
30 }; | 34 }; |
31 | 35 |
32 // ProofVerifierCallback provides a generic mechanism for a ProofVerifier to | 36 // ProofVerifierCallback provides a generic mechanism for a ProofVerifier to |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 const std::string& signature, | 79 const std::string& signature, |
76 const ProofVerifyContext* context, | 80 const ProofVerifyContext* context, |
77 std::string* error_details, | 81 std::string* error_details, |
78 scoped_ptr<ProofVerifyDetails>* details, | 82 scoped_ptr<ProofVerifyDetails>* details, |
79 ProofVerifierCallback* callback) = 0; | 83 ProofVerifierCallback* callback) = 0; |
80 }; | 84 }; |
81 | 85 |
82 } // namespace net | 86 } // namespace net |
83 | 87 |
84 #endif // NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ | 88 #endif // NET_QUIC_CRYPTO_PROOF_VERIFIER_H_ |
OLD | NEW |