| Index: webrtc/base/rtccertificategenerator.h
|
| diff --git a/webrtc/base/rtccertificategenerator.h b/webrtc/base/rtccertificategenerator.h
|
| index 08fe67108d4b9b4be180f67094fd744ab314c125..c131d695fdb60cb459c38ca0cb6053df362be8c2 100644
|
| --- a/webrtc/base/rtccertificategenerator.h
|
| +++ b/webrtc/base/rtccertificategenerator.h
|
| @@ -20,6 +20,7 @@
|
|
|
| namespace rtc {
|
|
|
| +// See |RTCCertificateGeneratorInterface::GenerateCertificateAsync|.
|
| class RTCCertificateGeneratorCallback : public RefCountInterface {
|
| public:
|
| virtual void OnSuccess(
|
| @@ -31,10 +32,27 @@ class RTCCertificateGeneratorCallback : public RefCountInterface {
|
| };
|
|
|
| // Generates |RTCCertificate|s.
|
| +// See |RTCCertificateGenerator| for the WebRTC repo's implementation.
|
| +class RTCCertificateGeneratorInterface {
|
| + public:
|
| + virtual ~RTCCertificateGeneratorInterface() {}
|
| +
|
| + // Generates a certificate asynchronously on the worker thread.
|
| + // Must be called on the signaling thread. The |callback| is invoked with the
|
| + // result on the signaling thread. |exipres_ms| optionally specifies for how
|
| + // long we want the certificate to be valid, but the implementation may choose
|
| + // its own restrictions on the expiration time.
|
| + virtual void GenerateCertificateAsync(
|
| + const KeyParams& key_params,
|
| + const Optional<uint64_t>& expires_ms,
|
| + const scoped_refptr<RTCCertificateGeneratorCallback>& callback) = 0;
|
| +};
|
| +
|
| +// Standard implementation of |RTCCertificateGeneratorInterface|.
|
| // The static function |GenerateCertificate| generates a certificate on the
|
| // current thread. The |RTCCertificateGenerator| instance generates certificates
|
| // asynchronously on the worker thread with |GenerateCertificateAsync|.
|
| -class RTCCertificateGenerator {
|
| +class RTCCertificateGenerator : public RTCCertificateGeneratorInterface {
|
| public:
|
| // Generates a certificate on the current thread. Returns null on failure.
|
| // If |expires_ms| is specified, the certificate will expire in approximately
|
| @@ -46,18 +64,17 @@ class RTCCertificateGenerator {
|
| const Optional<uint64_t>& expires_ms);
|
|
|
| RTCCertificateGenerator(Thread* signaling_thread, Thread* worker_thread);
|
| + ~RTCCertificateGenerator() override {}
|
|
|
| - // Generates a certificate asynchronously on the worker thread.
|
| - // Must be called on the signaling thread. The |callback| is invoked with the
|
| - // result on the signaling thread. If |expires_ms| is specified, the
|
| - // certificate will expire in approximately that many milliseconds from now.
|
| - // |expires_ms| is limited to a year, a larger value than that is clamped down
|
| - // to a year. If |expires_ms| is not specified, a default expiration time is
|
| - // used.
|
| + // |RTCCertificateGeneratorInterface| overrides.
|
| + // If |expires_ms| is specified, the certificate will expire in approximately
|
| + // that many milliseconds from now. |expires_ms| is limited to a year, a
|
| + // larger value than that is clamped down to a year. If |expires_ms| is not
|
| + // specified, a default expiration time is used.
|
| void GenerateCertificateAsync(
|
| const KeyParams& key_params,
|
| const Optional<uint64_t>& expires_ms,
|
| - const scoped_refptr<RTCCertificateGeneratorCallback>& callback);
|
| + const scoped_refptr<RTCCertificateGeneratorCallback>& callback) override;
|
|
|
| private:
|
| Thread* const signaling_thread_;
|
|
|