OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 #include <map> | 32 #include <map> |
33 #include <string> | 33 #include <string> |
34 #include <vector> | 34 #include <vector> |
35 #include "webrtc/p2p/base/candidate.h" | 35 #include "webrtc/p2p/base/candidate.h" |
36 #include "webrtc/p2p/base/constants.h" | 36 #include "webrtc/p2p/base/constants.h" |
37 #include "webrtc/p2p/base/sessiondescription.h" | 37 #include "webrtc/p2p/base/sessiondescription.h" |
38 #include "webrtc/p2p/base/transportinfo.h" | 38 #include "webrtc/p2p/base/transportinfo.h" |
39 #include "webrtc/base/criticalsection.h" | 39 #include "webrtc/base/criticalsection.h" |
40 #include "webrtc/base/messagequeue.h" | 40 #include "webrtc/base/messagequeue.h" |
| 41 #include "webrtc/base/rtccertificate.h" |
41 #include "webrtc/base/sigslot.h" | 42 #include "webrtc/base/sigslot.h" |
42 #include "webrtc/base/sslstreamadapter.h" | 43 #include "webrtc/base/sslstreamadapter.h" |
43 | 44 |
44 namespace rtc { | 45 namespace rtc { |
45 class Thread; | 46 class Thread; |
46 } | 47 } |
47 | 48 |
48 namespace cricket { | 49 namespace cricket { |
49 | 50 |
50 class PortAllocator; | 51 class PortAllocator; |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 | 194 |
194 void SetIceRole(IceRole role); | 195 void SetIceRole(IceRole role); |
195 IceRole ice_role() const { return ice_role_; } | 196 IceRole ice_role() const { return ice_role_; } |
196 | 197 |
197 void SetIceTiebreaker(uint64 IceTiebreaker) { tiebreaker_ = IceTiebreaker; } | 198 void SetIceTiebreaker(uint64 IceTiebreaker) { tiebreaker_ = IceTiebreaker; } |
198 uint64 IceTiebreaker() { return tiebreaker_; } | 199 uint64 IceTiebreaker() { return tiebreaker_; } |
199 | 200 |
200 void SetChannelReceivingTimeout(int timeout_ms); | 201 void SetChannelReceivingTimeout(int timeout_ms); |
201 | 202 |
202 // Must be called before applying local session description. | 203 // Must be called before applying local session description. |
203 void SetIdentity(rtc::SSLIdentity* identity); | 204 void SetCertificate( |
| 205 const rtc::scoped_refptr<rtc::RTCCertificate>& certificate); |
204 | 206 |
205 // Get a copy of the local identity provided by SetIdentity. | 207 // Get a copy of the local identity provided by SetIdentity. |
206 bool GetIdentity(rtc::SSLIdentity** identity); | 208 bool GetCertificate(rtc::scoped_refptr<rtc::RTCCertificate>* certificate); |
207 | 209 |
208 // Get a copy of the remote certificate in use by the specified channel. | 210 // Get a copy of the remote certificate in use by the specified channel. |
209 bool GetRemoteCertificate(rtc::SSLCertificate** cert); | 211 bool GetRemoteCertificate(rtc::SSLCertificate** cert); |
210 | 212 |
211 // Create, destroy, and lookup the channels of this type by their components. | 213 // Create, destroy, and lookup the channels of this type by their components. |
212 TransportChannelImpl* CreateChannel(int component); | 214 TransportChannelImpl* CreateChannel(int component); |
213 // Note: GetChannel may lead to race conditions, since the mutex is not held | 215 // Note: GetChannel may lead to race conditions, since the mutex is not held |
214 // after the pointer is returned. | 216 // after the pointer is returned. |
215 TransportChannelImpl* GetChannel(int component); | 217 TransportChannelImpl* GetChannel(int component); |
216 // Note: HasChannel does not lead to race conditions, unlike GetChannel. | 218 // Note: HasChannel does not lead to race conditions, unlike GetChannel. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 const TransportDescription* local_description() const { | 294 const TransportDescription* local_description() const { |
293 return local_description_.get(); | 295 return local_description_.get(); |
294 } | 296 } |
295 | 297 |
296 // The current remote transport description, for use by derived classes | 298 // The current remote transport description, for use by derived classes |
297 // when performing transport description negotiation. | 299 // when performing transport description negotiation. |
298 const TransportDescription* remote_description() const { | 300 const TransportDescription* remote_description() const { |
299 return remote_description_.get(); | 301 return remote_description_.get(); |
300 } | 302 } |
301 | 303 |
302 virtual void SetIdentity_w(rtc::SSLIdentity* identity) {} | 304 virtual void SetCertificate_w( |
| 305 const rtc::scoped_refptr<rtc::RTCCertificate>& certificate) {} |
303 | 306 |
304 virtual bool GetIdentity_w(rtc::SSLIdentity** identity) { | 307 virtual bool GetCertificate_w( |
| 308 rtc::scoped_refptr<rtc::RTCCertificate>* certificate) { |
305 return false; | 309 return false; |
306 } | 310 } |
307 | 311 |
308 // Pushes down the transport parameters from the local description, such | 312 // Pushes down the transport parameters from the local description, such |
309 // as the ICE ufrag and pwd. | 313 // as the ICE ufrag and pwd. |
310 // Derived classes can override, but must call the base as well. | 314 // Derived classes can override, but must call the base as well. |
311 virtual bool ApplyLocalTransportDescription_w(TransportChannelImpl* channel, | 315 virtual bool ApplyLocalTransportDescription_w(TransportChannelImpl* channel, |
312 std::string* error_desc); | 316 std::string* error_desc); |
313 | 317 |
314 // Pushes down remote ice credentials from the remote description to the | 318 // Pushes down remote ice credentials from the remote description to the |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 // Protects changes to channels and messages | 469 // Protects changes to channels and messages |
466 rtc::CriticalSection crit_; | 470 rtc::CriticalSection crit_; |
467 | 471 |
468 DISALLOW_COPY_AND_ASSIGN(Transport); | 472 DISALLOW_COPY_AND_ASSIGN(Transport); |
469 }; | 473 }; |
470 | 474 |
471 | 475 |
472 } // namespace cricket | 476 } // namespace cricket |
473 | 477 |
474 #endif // WEBRTC_P2P_BASE_TRANSPORT_H_ | 478 #endif // WEBRTC_P2P_BASE_TRANSPORT_H_ |
OLD | NEW |