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_; |