OLD | NEW |
---|---|
(Empty) | |
1 /* | |
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license | |
5 * that can be found in the LICENSE file in the root of the source | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 | |
11 #ifndef WEBRTC_BASE_RTCCERTIFICATEGENERATOR_H_ | |
12 #define WEBRTC_BASE_RTCCERTIFICATEGENERATOR_H_ | |
13 | |
14 #include "webrtc/base/optional.h" | |
15 #include "webrtc/base/refcount.h" | |
16 #include "webrtc/base/rtccertificate.h" | |
17 #include "webrtc/base/scoped_ref_ptr.h" | |
18 #include "webrtc/base/sslidentity.h" | |
19 #include "webrtc/base/thread.h" | |
20 | |
21 namespace rtc { | |
22 | |
23 class RTCCertificateGeneratorCallback : public RefCountInterface { | |
24 public: | |
25 virtual void OnSuccess( | |
26 const scoped_refptr<RTCCertificate>& certificate) = 0; | |
27 virtual void OnFailure() = 0; | |
28 | |
29 protected: | |
30 ~RTCCertificateGeneratorCallback() override {} | |
31 }; | |
32 | |
33 // Generates |RTCCertificate|s. The |RTCCertificateGenerator| instance generates | |
34 // certificates on the worker thread with |GenerateCertificate|. The static | |
35 // function |GenerateCertificateBlockingly| does the same thing but blockingly | |
hta-webrtc
2016/04/14 11:54:05
The suffix "Blockingly" grates on my English-langu
hbos
2016/04/14 15:31:54
Renamed this to GenerateCertificate and the non-bl
| |
36 // and can be called on any thread. | |
37 class RTCCertificateGenerator { | |
38 public: | |
39 // Generates a certificate on the current thread. Returns null on failure. | |
40 static scoped_refptr<RTCCertificate> GenerateCertificateBlockingly( | |
41 const KeyParams& key_params, | |
42 const Optional<uint64_t>& expires_ms); | |
43 | |
44 RTCCertificateGenerator(Thread* signaling_thread, Thread* worker_thread); | |
45 | |
46 // Must be called on the signaling thread. Is non-blocking; does certificate | |
hta-webrtc
2016/04/14 11:54:05
English: Start description with a description, and
hbos
2016/04/14 15:31:54
Done.
| |
47 // generation on the worker thread and invokes |callback| with the result on | |
48 // the signaling thread. If |expires_ms| is specified, the certificate will | |
49 // expire in approximately that many milliseconds from now. | |
50 void GenerateCertificate( | |
51 const KeyParams& key_params, | |
52 const Optional<uint64_t>& expires_ms, | |
53 const scoped_refptr<RTCCertificateGeneratorCallback>& callback); | |
54 | |
55 private: | |
56 Thread* const signaling_thread_; | |
57 Thread* const worker_thread_; | |
58 }; | |
59 | |
60 } // namespace rtc | |
61 | |
62 #endif // WEBRTC_BASE_RTCCERTIFICATEGENERATOR_H_ | |
OLD | NEW |