| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ | 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ |
| 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ | 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/weak_ptr.h" | |
| 11 #include "base/message_loop/message_pump.h" | 10 #include "base/message_loop/message_pump.h" |
| 12 #include "base/observer_list.h" | 11 #include "base/observer_list.h" |
| 13 #include "base/threading/thread_checker.h" | 12 #include "base/threading/thread_checker.h" |
| 14 #include "base/time/time.h" | 13 #include "base/time/time.h" |
| 15 | 14 |
| 16 // Declare structs we need from libevent.h rather than including it | 15 // Declare structs we need from libevent.h rather than including it |
| 17 struct event_base; | 16 struct event_base; |
| 18 struct event; | 17 struct event; |
| 19 | 18 |
| 20 namespace base { | 19 namespace base { |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 MessagePumpLibevent* pump() const { return pump_; } | 78 MessagePumpLibevent* pump() const { return pump_; } |
| 80 | 79 |
| 81 void set_watcher(Watcher* watcher) { watcher_ = watcher; } | 80 void set_watcher(Watcher* watcher) { watcher_ = watcher; } |
| 82 | 81 |
| 83 void OnFileCanReadWithoutBlocking(int fd, MessagePumpLibevent* pump); | 82 void OnFileCanReadWithoutBlocking(int fd, MessagePumpLibevent* pump); |
| 84 void OnFileCanWriteWithoutBlocking(int fd, MessagePumpLibevent* pump); | 83 void OnFileCanWriteWithoutBlocking(int fd, MessagePumpLibevent* pump); |
| 85 | 84 |
| 86 event* event_; | 85 event* event_; |
| 87 MessagePumpLibevent* pump_; | 86 MessagePumpLibevent* pump_; |
| 88 Watcher* watcher_; | 87 Watcher* watcher_; |
| 89 WeakPtrFactory<FileDescriptorWatcher> weak_factory_; | 88 // If this pointer is non-NULL, the pointee is set to true in the |
| 89 // destructor. |
| 90 bool* was_destroyed_; |
| 90 | 91 |
| 91 DISALLOW_COPY_AND_ASSIGN(FileDescriptorWatcher); | 92 DISALLOW_COPY_AND_ASSIGN(FileDescriptorWatcher); |
| 92 }; | 93 }; |
| 93 | 94 |
| 94 enum Mode { | 95 enum Mode { |
| 95 WATCH_READ = 1 << 0, | 96 WATCH_READ = 1 << 0, |
| 96 WATCH_WRITE = 1 << 1, | 97 WATCH_WRITE = 1 << 1, |
| 97 WATCH_READ_WRITE = WATCH_READ | WATCH_WRITE | 98 WATCH_READ_WRITE = WATCH_READ | WATCH_WRITE |
| 98 }; | 99 }; |
| 99 | 100 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 event* wakeup_event_; | 169 event* wakeup_event_; |
| 169 | 170 |
| 170 ObserverList<IOObserver> io_observers_; | 171 ObserverList<IOObserver> io_observers_; |
| 171 ThreadChecker watch_file_descriptor_caller_checker_; | 172 ThreadChecker watch_file_descriptor_caller_checker_; |
| 172 DISALLOW_COPY_AND_ASSIGN(MessagePumpLibevent); | 173 DISALLOW_COPY_AND_ASSIGN(MessagePumpLibevent); |
| 173 }; | 174 }; |
| 174 | 175 |
| 175 } // namespace base | 176 } // namespace base |
| 176 | 177 |
| 177 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ | 178 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_LIBEVENT_H_ |
| OLD | NEW |