OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 WebRTCCertificate_h | 5 #ifndef WebRTCCertificate_h |
6 #define WebRTCCertificate_h | 6 #define WebRTCCertificate_h |
7 | 7 |
8 #include "public/platform/WebPassOwnPtr.h" | |
9 #include "public/platform/WebRTCKeyParams.h" | 8 #include "public/platform/WebRTCKeyParams.h" |
10 | 9 |
| 10 #include <memory> |
| 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 // WebRTCCertificate is an interface defining what Blink needs to know about cer
tificates, | 14 // WebRTCCertificate is an interface defining what Blink needs to know about cer
tificates, |
14 // hiding Chromium and WebRTC layer implementation details. It is possible to cr
eate | 15 // hiding Chromium and WebRTC layer implementation details. It is possible to cr
eate |
15 // shallow copies of the WebRTCCertificate. When all copies are destroyed, the | 16 // shallow copies of the WebRTCCertificate. When all copies are destroyed, the |
16 // implementation specific data must be freed. WebRTCCertificate objects thus ac
t as | 17 // implementation specific data must be freed. WebRTCCertificate objects thus ac
t as |
17 // references to the reference counted internal data. | 18 // references to the reference counted internal data. |
18 class WebRTCCertificate { | 19 class WebRTCCertificate { |
19 public: | 20 public: |
20 WebRTCCertificate() = default; | 21 WebRTCCertificate() = default; |
21 virtual ~WebRTCCertificate() = default; | 22 virtual ~WebRTCCertificate() = default; |
22 | 23 |
23 // Copies the WebRTCCertificate object without copying the underlying implem
entation | 24 // Copies the WebRTCCertificate object without copying the underlying implem
entation |
24 // specific (WebRTC layer) certificate. When all copies are destroyed the un
derlying | 25 // specific (WebRTC layer) certificate. When all copies are destroyed the un
derlying |
25 // data is freed. | 26 // data is freed. |
26 virtual WebPassOwnPtr<WebRTCCertificate> shallowCopy() const = 0; | 27 virtual std::unique_ptr<WebRTCCertificate> shallowCopy() const = 0; |
27 | 28 |
28 virtual const WebRTCKeyParams& keyParams() const = 0; | 29 virtual const WebRTCKeyParams& keyParams() const = 0; |
29 | 30 |
30 // Returns the expiration time in ms relative to epoch, 1970-01-01T00:00:00Z
. | 31 // Returns the expiration time in ms relative to epoch, 1970-01-01T00:00:00Z
. |
31 virtual uint64_t expires() const = 0; | 32 virtual uint64_t expires() const = 0; |
32 | 33 |
33 private: | 34 private: |
34 WebRTCCertificate(const WebRTCCertificate&) = delete; | 35 WebRTCCertificate(const WebRTCCertificate&) = delete; |
35 WebRTCCertificate& operator=(const WebRTCCertificate&) = delete; | 36 WebRTCCertificate& operator=(const WebRTCCertificate&) = delete; |
36 }; | 37 }; |
37 | 38 |
38 } // namespace blink | 39 } // namespace blink |
39 | 40 |
40 #endif // WebRTCCertificate_h | 41 #endif // WebRTCCertificate_h |
OLD | NEW |