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 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 299 |
300 class AutoThread : public Thread { | 300 class AutoThread : public Thread { |
301 public: | 301 public: |
302 AutoThread(); | 302 AutoThread(); |
303 ~AutoThread() override; | 303 ~AutoThread() override; |
304 | 304 |
305 private: | 305 private: |
306 RTC_DISALLOW_COPY_AND_ASSIGN(AutoThread); | 306 RTC_DISALLOW_COPY_AND_ASSIGN(AutoThread); |
307 }; | 307 }; |
308 | 308 |
309 // Win32 extension for threads that need to use COM | |
310 #if defined(WEBRTC_WIN) | |
311 class ComThread : public Thread { | |
312 public: | |
313 ComThread() {} | |
314 ~ComThread() override; | |
315 | |
316 protected: | |
317 void Run() override; | |
318 | |
319 private: | |
320 RTC_DISALLOW_COPY_AND_ASSIGN(ComThread); | |
321 }; | |
322 #endif | |
323 | |
324 // Provides an easy way to install/uninstall a socketserver on a thread. | 309 // Provides an easy way to install/uninstall a socketserver on a thread. |
325 class SocketServerScope { | 310 class SocketServerScope { |
326 public: | 311 public: |
327 explicit SocketServerScope(SocketServer* ss) { | 312 explicit SocketServerScope(SocketServer* ss) { |
328 old_ss_ = Thread::Current()->socketserver(); | 313 old_ss_ = Thread::Current()->socketserver(); |
329 Thread::Current()->set_socketserver(ss); | 314 Thread::Current()->set_socketserver(ss); |
330 } | 315 } |
331 ~SocketServerScope() { | 316 ~SocketServerScope() { |
332 Thread::Current()->set_socketserver(old_ss_); | 317 Thread::Current()->set_socketserver(old_ss_); |
333 } | 318 } |
334 | 319 |
335 private: | 320 private: |
336 SocketServer* old_ss_; | 321 SocketServer* old_ss_; |
337 | 322 |
338 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SocketServerScope); | 323 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SocketServerScope); |
339 }; | 324 }; |
340 | 325 |
341 } // namespace rtc | 326 } // namespace rtc |
342 | 327 |
343 #endif // WEBRTC_BASE_THREAD_H_ | 328 #endif // WEBRTC_BASE_THREAD_H_ |
OLD | NEW |