Chromium Code Reviews| Index: talk/app/webrtc/peerconnectioninterface.h |
| diff --git a/talk/app/webrtc/peerconnectioninterface.h b/talk/app/webrtc/peerconnectioninterface.h |
| index 3e4cb556fb5f51826734c719a5cf3f6e46bc36e8..71279efaa2756423da17fe699856fe64bd16ee9f 100644 |
| --- a/talk/app/webrtc/peerconnectioninterface.h |
| +++ b/talk/app/webrtc/peerconnectioninterface.h |
| @@ -73,6 +73,7 @@ |
| #include "talk/app/webrtc/datachannelinterface.h" |
| #include "talk/app/webrtc/dtmfsenderinterface.h" |
| +#include "talk/app/webrtc/dtlsidentitystore.h" |
| #include "talk/app/webrtc/jsep.h" |
| #include "talk/app/webrtc/mediastreaminterface.h" |
| #include "talk/app/webrtc/statstypes.h" |
| @@ -458,53 +459,6 @@ class PortAllocatorFactoryInterface : public rtc::RefCountInterface { |
| ~PortAllocatorFactoryInterface() {} |
| }; |
| -// Used to receive callbacks of DTLS identity requests. |
| -class DTLSIdentityRequestObserver : public rtc::RefCountInterface { |
| - public: |
| - virtual void OnFailure(int error) = 0; |
| - // TODO(jiayl): Unify the OnSuccess method once Chrome code is updated. |
| - virtual void OnSuccess(const std::string& der_cert, |
| - const std::string& der_private_key) = 0; |
| - // |identity| is a scoped_ptr because rtc::SSLIdentity is not copyable and the |
| - // client has to get the ownership of the object to make use of it. |
| - virtual void OnSuccessWithIdentityObj( |
| - rtc::scoped_ptr<rtc::SSLIdentity> identity) = 0; |
| - |
| - protected: |
| - virtual ~DTLSIdentityRequestObserver() {} |
| -}; |
| - |
| -class DTLSIdentityServiceInterface { |
| - public: |
| - // Asynchronously request a DTLS identity, including a self-signed certificate |
| - // and the private key used to sign the certificate, from the identity store |
| - // for the given identity name. |
| - // DTLSIdentityRequestObserver::OnSuccess will be called with the identity if |
| - // the request succeeded; DTLSIdentityRequestObserver::OnFailure will be |
| - // called with an error code if the request failed. |
| - // |
| - // Only one request can be made at a time. If a second request is called |
| - // before the first one completes, RequestIdentity will abort and return |
| - // false. |
| - // |
| - // |identity_name| is an internal name selected by the client to identify an |
| - // identity within an origin. E.g. an web site may cache the certificates used |
| - // to communicate with differnent peers under different identity names. |
| - // |
| - // |common_name| is the common name used to generate the certificate. If the |
| - // certificate already exists in the store, |common_name| is ignored. |
| - // |
| - // |observer| is the object to receive success or failure callbacks. |
| - // |
| - // Returns true if either OnFailure or OnSuccess will be called. |
| - virtual bool RequestIdentity( |
| - const std::string& identity_name, |
| - const std::string& common_name, |
| - DTLSIdentityRequestObserver* observer) = 0; |
| - |
| - virtual ~DTLSIdentityServiceInterface() {} |
| -}; |
| - |
| // PeerConnectionFactoryInterface is the factory interface use for creating |
| // PeerConnection, MediaStream and media tracks. |
| // PeerConnectionFactoryInterface will create required libjingle threads, |
| @@ -540,15 +494,15 @@ class PeerConnectionFactoryInterface : public rtc::RefCountInterface { |
| virtual void SetOptions(const Options& options) = 0; |
| - // This method takes the ownership of |dtls_identity_service|. |
| virtual rtc::scoped_refptr<PeerConnectionInterface> |
| CreatePeerConnection( |
| const PeerConnectionInterface::RTCConfiguration& configuration, |
| const MediaConstraintsInterface* constraints, |
| PortAllocatorFactoryInterface* allocator_factory, |
| - DTLSIdentityServiceInterface* dtls_identity_service, |
| + rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store, |
| PeerConnectionObserver* observer) = 0; |
| + // This method takes the ownership of |dtls_identity_store|. |
| // TODO(mallinath) : Remove below versions after clients are updated |
|
tommi
2015/07/02 11:23:00
can this be done now? if not, can you take over t
hbos
2015/07/02 12:28:28
Acknowledged. Also "takes the ownership" comment u
|
| // to above method. |
| // In latest W3C WebRTC draft, PC constructor will take RTCConfiguration, |
| @@ -560,12 +514,12 @@ class PeerConnectionFactoryInterface : public rtc::RefCountInterface { |
| const PeerConnectionInterface::IceServers& servers, |
| const MediaConstraintsInterface* constraints, |
| PortAllocatorFactoryInterface* allocator_factory, |
| - DTLSIdentityServiceInterface* dtls_identity_service, |
| + rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store, |
| PeerConnectionObserver* observer) { |
| PeerConnectionInterface::RTCConfiguration rtc_config; |
| rtc_config.servers = servers; |
| return CreatePeerConnection(rtc_config, constraints, allocator_factory, |
| - dtls_identity_service, observer); |
| + dtls_identity_store.Pass(), observer); |
| } |
| virtual rtc::scoped_refptr<MediaStreamInterface> |