OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_PUMP_WIN_H_ | 5 #ifndef BASE_MESSAGE_PUMP_WIN_H_ |
6 #define BASE_MESSAGE_PUMP_WIN_H_ | 6 #define BASE_MESSAGE_PUMP_WIN_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <windows.h> | 9 #include <windows.h> |
10 | 10 |
11 #include <list> | 11 #include <list> |
12 | 12 |
13 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
14 #include "base/message_pump.h" | 14 #include "base/message_pump.h" |
15 #include "base/observer_list.h" | 15 #include "base/observer_list.h" |
16 #include "base/scoped_handle.h" | |
17 #include "base/time.h" | 16 #include "base/time.h" |
| 17 #include "base/win/scoped_handle.h" |
18 | 18 |
19 namespace base { | 19 namespace base { |
20 | 20 |
21 // MessagePumpWin serves as the base for specialized versions of the MessagePump | 21 // MessagePumpWin serves as the base for specialized versions of the MessagePump |
22 // for Windows. It provides basic functionality like handling of observers and | 22 // for Windows. It provides basic functionality like handling of observers and |
23 // controlling the lifetime of the message pump. | 23 // controlling the lifetime of the message pump. |
24 class MessagePumpWin : public MessagePump { | 24 class MessagePumpWin : public MessagePump { |
25 public: | 25 public: |
26 // An Observer is an object that receives global notifications from the | 26 // An Observer is an object that receives global notifications from the |
27 // UI MessageLoop. | 27 // UI MessageLoop. |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 | 349 |
350 virtual void DoRunLoop(); | 350 virtual void DoRunLoop(); |
351 void WaitForWork(); | 351 void WaitForWork(); |
352 bool MatchCompletedIOItem(IOHandler* filter, IOItem* item); | 352 bool MatchCompletedIOItem(IOHandler* filter, IOItem* item); |
353 bool GetIOItem(DWORD timeout, IOItem* item); | 353 bool GetIOItem(DWORD timeout, IOItem* item); |
354 bool ProcessInternalIOItem(const IOItem& item); | 354 bool ProcessInternalIOItem(const IOItem& item); |
355 void WillProcessIOEvent(); | 355 void WillProcessIOEvent(); |
356 void DidProcessIOEvent(); | 356 void DidProcessIOEvent(); |
357 | 357 |
358 // The completion port associated with this thread. | 358 // The completion port associated with this thread. |
359 ScopedHandle port_; | 359 win::ScopedHandle port_; |
360 // This list will be empty almost always. It stores IO completions that have | 360 // This list will be empty almost always. It stores IO completions that have |
361 // not been delivered yet because somebody was doing cleanup. | 361 // not been delivered yet because somebody was doing cleanup. |
362 std::list<IOItem> completed_io_; | 362 std::list<IOItem> completed_io_; |
363 | 363 |
364 ObserverList<IOObserver> io_observers_; | 364 ObserverList<IOObserver> io_observers_; |
365 }; | 365 }; |
366 | 366 |
367 } // namespace base | 367 } // namespace base |
368 | 368 |
369 #endif // BASE_MESSAGE_PUMP_WIN_H_ | 369 #endif // BASE_MESSAGE_PUMP_WIN_H_ |
OLD | NEW |