OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 |
11 #include "webrtc/modules/desktop_capture/x11/shared_x_display.h" | 11 #include "webrtc/modules/desktop_capture/x11/shared_x_display.h" |
12 | 12 |
| 13 #include <X11/Xlib.h> |
| 14 |
13 #include <algorithm> | 15 #include <algorithm> |
14 | 16 |
| 17 #include "webrtc/base/checks.h" |
15 #include "webrtc/system_wrappers/include/logging.h" | 18 #include "webrtc/system_wrappers/include/logging.h" |
16 | 19 |
17 namespace webrtc { | 20 namespace webrtc { |
18 | 21 |
19 SharedXDisplay::SharedXDisplay(Display* display) | 22 SharedXDisplay::SharedXDisplay(Display* display) |
20 : display_(display) { | 23 : display_(display) { |
21 assert(display_); | 24 RTC_DCHECK(display_); |
22 } | 25 } |
23 | 26 |
24 SharedXDisplay::~SharedXDisplay() { | 27 SharedXDisplay::~SharedXDisplay() { |
25 assert(event_handlers_.empty()); | 28 RTC_DCHECK(event_handlers_.empty()); |
26 XCloseDisplay(display_); | 29 XCloseDisplay(display_); |
27 } | 30 } |
28 | 31 |
29 // static | 32 // static |
30 rtc::scoped_refptr<SharedXDisplay> SharedXDisplay::Create( | 33 rtc::scoped_refptr<SharedXDisplay> SharedXDisplay::Create( |
31 const std::string& display_name) { | 34 const std::string& display_name) { |
32 Display* display = | 35 Display* display = |
33 XOpenDisplay(display_name.empty() ? NULL : display_name.c_str()); | 36 XOpenDisplay(display_name.empty() ? NULL : display_name.c_str()); |
34 if (!display) { | 37 if (!display) { |
35 LOG(LS_ERROR) << "Unable to open display"; | 38 LOG(LS_ERROR) << "Unable to open display"; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 continue; | 81 continue; |
79 for (std::vector<XEventHandler*>::iterator it = handlers->second.begin(); | 82 for (std::vector<XEventHandler*>::iterator it = handlers->second.begin(); |
80 it != handlers->second.end(); ++it) { | 83 it != handlers->second.end(); ++it) { |
81 if ((*it)->HandleXEvent(e)) | 84 if ((*it)->HandleXEvent(e)) |
82 break; | 85 break; |
83 } | 86 } |
84 } | 87 } |
85 } | 88 } |
86 | 89 |
87 } // namespace webrtc | 90 } // namespace webrtc |
OLD | NEW |