blob: 5378e43158cd465d2838b4884f92a9353024ef07 [file] [log] [blame]
henrike@webrtc.orgf7795df2014-05-13 18:00:26 +00001/*
2 * Copyright 2012 The WebRTC Project Authors. All rights reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_BASE_NULLSOCKETSERVER_H_
12#define WEBRTC_BASE_NULLSOCKETSERVER_H_
13
14#include "webrtc/base/event.h"
15#include "webrtc/base/physicalsocketserver.h"
16
17namespace rtc {
18
19// NullSocketServer
20
21class NullSocketServer : public rtc::SocketServer {
22 public:
23 NullSocketServer() : event_(false, false) {}
24
25 virtual bool Wait(int cms, bool process_io) {
26 event_.Wait(cms);
27 return true;
28 }
29
30 virtual void WakeUp() {
31 event_.Set();
32 }
33
34 virtual rtc::Socket* CreateSocket(int type) {
35 ASSERT(false);
36 return NULL;
37 }
38
39 virtual rtc::Socket* CreateSocket(int family, int type) {
40 ASSERT(false);
41 return NULL;
42 }
43
44 virtual rtc::AsyncSocket* CreateAsyncSocket(int type) {
45 ASSERT(false);
46 return NULL;
47 }
48
49 virtual rtc::AsyncSocket* CreateAsyncSocket(int family, int type) {
50 ASSERT(false);
51 return NULL;
52 }
53
54
55 private:
56 rtc::Event event_;
57};
58
59} // namespace rtc
60
61#endif // WEBRTC_BASE_NULLSOCKETSERVER_H_