Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Unified Diff: talk/app/webrtc/webrtcsessiondescriptionfactory.h

Issue 1269843005: Added DtlsCertificate, a ref counted object owning an SSLIdentity (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: webrtcsession unittest added to ensure when a cert is provided it is used Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/webrtcsessiondescriptionfactory.h
diff --git a/talk/app/webrtc/webrtcsessiondescriptionfactory.h b/talk/app/webrtc/webrtcsessiondescriptionfactory.h
index 860532dec93e56253f09b95bab031ab2df477e44..18aedd5482609f2d4a45597f352622de37e2be3f 100644
--- a/talk/app/webrtc/webrtcsessiondescriptionfactory.h
+++ b/talk/app/webrtc/webrtcsessiondescriptionfactory.h
@@ -28,6 +28,8 @@
#ifndef TALK_APP_WEBRTC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
#define TALK_APP_WEBRTC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+#include "talk/app/webrtc/dtlscertificate.h"
+#include "talk/app/webrtc/dtlsidentitystore.h"
#include "talk/app/webrtc/peerconnectioninterface.h"
#include "webrtc/p2p/base/transportdescriptionfactory.h"
#include "talk/session/media/mediasession.h"
@@ -57,7 +59,7 @@ class WebRtcIdentityRequestObserver : public DTLSIdentityRequestObserver,
rtc::scoped_ptr<rtc::SSLIdentity> identity) override;
sigslot::signal1<int> SignalRequestFailed;
- sigslot::signal1<rtc::SSLIdentity*> SignalIdentityReady;
+ sigslot::signal1<rtc::scoped_refptr<DtlsCertificate>> SignalCertificateReady;
};
struct CreateSessionDescriptionRequest {
@@ -89,9 +91,11 @@ class WebRtcSessionDescriptionFactory : public rtc::MessageHandler,
public:
WebRtcSessionDescriptionFactory(
rtc::Thread* signaling_thread,
+ rtc::Thread* worker_thread,
cricket::ChannelManager* channel_manager,
MediaStreamSignaling* mediastream_signaling,
DTLSIdentityServiceInterface* dtls_identity_service,
+ rtc::scoped_refptr<DtlsCertificate> certificate,
// TODO(jiayl): remove the dependency on session once b/10226852 is fixed.
WebRtcSession* session,
const std::string& session_id,
@@ -113,19 +117,19 @@ class WebRtcSessionDescriptionFactory : public rtc::MessageHandler,
void SetSdesPolicy(cricket::SecurePolicy secure_policy);
cricket::SecurePolicy SdesPolicy() const;
- sigslot::signal1<rtc::SSLIdentity*> SignalIdentityReady;
+ sigslot::signal1<rtc::scoped_refptr<DtlsCertificate>> SignalCertificateReady;
// For testing.
- bool waiting_for_identity() const {
- return identity_request_state_ == IDENTITY_WAITING;
+ bool waiting_for_certificate() const {
+ return certificate_request_state_ == CERTIFICATE_WAITING;
}
private:
- enum IdentityRequestState {
- IDENTITY_NOT_NEEDED,
- IDENTITY_WAITING,
- IDENTITY_SUCCEEDED,
- IDENTITY_FAILED,
+ enum CertificateRequestState {
+ CERTIFICATE_NOT_NEEDED,
+ CERTIFICATE_WAITING,
+ CERTIFICATE_SUCCEEDED,
+ CERTIFICATE_FAILED,
};
// MessageHandler implementation.
@@ -143,21 +147,24 @@ class WebRtcSessionDescriptionFactory : public rtc::MessageHandler,
SessionDescriptionInterface* description);
void OnIdentityRequestFailed(int error);
- void SetIdentity(rtc::SSLIdentity* identity);
+ void SetCertificate(rtc::scoped_refptr<DtlsCertificate> certificate);
std::queue<CreateSessionDescriptionRequest>
create_session_description_requests_;
rtc::Thread* const signaling_thread_;
+ rtc::Thread* const worker_thread_;
MediaStreamSignaling* const mediastream_signaling_;
cricket::TransportDescriptionFactory transport_desc_factory_;
cricket::MediaSessionDescriptionFactory session_desc_factory_;
uint64 session_version_;
+ rtc::scoped_ptr<DtlsIdentityStore> identity_store_;
rtc::scoped_ptr<DTLSIdentityServiceInterface> identity_service_;
+ rtc::scoped_refptr<DtlsCertificate> certificate_;
Henrik Grunell WebRTC 2015/08/06 14:06:52 As discussed offline, move reference to transport
hbos 2015/08/10 15:10:18 Acknowledged.
rtc::scoped_refptr<WebRtcIdentityRequestObserver> identity_request_observer_;
WebRtcSession* const session_;
const std::string session_id_;
const cricket::DataChannelType data_channel_type_;
- IdentityRequestState identity_request_state_;
+ CertificateRequestState certificate_request_state_;
DISALLOW_COPY_AND_ASSIGN(WebRtcSessionDescriptionFactory);
};

Powered by Google App Engine
This is Rietveld 408576698