Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_LOOP_H_ | 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_LOOP_H_ |
| 6 #define BASE_MESSAGE_LOOP_MESSAGE_LOOP_H_ | 6 #define BASE_MESSAGE_LOOP_MESSAGE_LOOP_H_ |
| 7 | 7 |
| 8 #include <queue> | 8 #include <queue> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 364 | 364 |
| 365 protected: | 365 protected: |
| 366 virtual ~TaskObserver(); | 366 virtual ~TaskObserver(); |
| 367 }; | 367 }; |
| 368 | 368 |
| 369 // These functions can only be called on the same thread that |this| is | 369 // These functions can only be called on the same thread that |this| is |
| 370 // running on. | 370 // running on. |
| 371 void AddTaskObserver(TaskObserver* task_observer); | 371 void AddTaskObserver(TaskObserver* task_observer); |
| 372 void RemoveTaskObserver(TaskObserver* task_observer); | 372 void RemoveTaskObserver(TaskObserver* task_observer); |
| 373 | 373 |
| 374 // Delete tasks that haven't run yet without running them. Used in the | |
| 375 // destructor to make sure all the task's destructors get called. Returns | |
| 376 // true if some work was done. | |
| 377 bool DeletePendingTasks(); | |
|
jamesr
2014/09/22 14:38:03
this doesn't make sense. ~MessageLoop() does the
| |
| 378 | |
| 374 #if defined(OS_WIN) | 379 #if defined(OS_WIN) |
| 375 void set_os_modal_loop(bool os_modal_loop) { | 380 void set_os_modal_loop(bool os_modal_loop) { |
| 376 os_modal_loop_ = os_modal_loop; | 381 os_modal_loop_ = os_modal_loop; |
| 377 } | 382 } |
| 378 | 383 |
| 379 bool os_modal_loop() const { | 384 bool os_modal_loop() const { |
| 380 return os_modal_loop_; | 385 return os_modal_loop_; |
| 381 } | 386 } |
| 382 #endif // OS_WIN | 387 #endif // OS_WIN |
| 383 | 388 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 411 // Runs the specified PendingTask. | 416 // Runs the specified PendingTask. |
| 412 void RunTask(const PendingTask& pending_task); | 417 void RunTask(const PendingTask& pending_task); |
| 413 | 418 |
| 414 // Calls RunTask or queues the pending_task on the deferred task list if it | 419 // Calls RunTask or queues the pending_task on the deferred task list if it |
| 415 // cannot be run right now. Returns true if the task was run. | 420 // cannot be run right now. Returns true if the task was run. |
| 416 bool DeferOrRunPendingTask(const PendingTask& pending_task); | 421 bool DeferOrRunPendingTask(const PendingTask& pending_task); |
| 417 | 422 |
| 418 // Adds the pending task to delayed_work_queue_. | 423 // Adds the pending task to delayed_work_queue_. |
| 419 void AddToDelayedWorkQueue(const PendingTask& pending_task); | 424 void AddToDelayedWorkQueue(const PendingTask& pending_task); |
| 420 | 425 |
| 421 // Delete tasks that haven't run yet without running them. Used in the | |
| 422 // destructor to make sure all the task's destructors get called. Returns | |
| 423 // true if some work was done. | |
| 424 bool DeletePendingTasks(); | |
| 425 | |
| 426 // Returns the TaskAnnotator which is used to add debug information to posted | 426 // Returns the TaskAnnotator which is used to add debug information to posted |
| 427 // tasks. | 427 // tasks. |
| 428 debug::TaskAnnotator* task_annotator() { return &task_annotator_; } | 428 debug::TaskAnnotator* task_annotator() { return &task_annotator_; } |
| 429 | 429 |
| 430 // Loads tasks from the incoming queue to |work_queue_| if the latter is | 430 // Loads tasks from the incoming queue to |work_queue_| if the latter is |
| 431 // empty. | 431 // empty. |
| 432 void ReloadWorkQueue(); | 432 void ReloadWorkQueue(); |
| 433 | 433 |
| 434 // Wakes up the message pump. Can be called on any thread. The caller is | 434 // Wakes up the message pump. Can be called on any thread. The caller is |
| 435 // responsible for synchronizing ScheduleWork() calls. | 435 // responsible for synchronizing ScheduleWork() calls. |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 650 | 650 |
| 651 // Do not add any member variables to MessageLoopForIO! This is important b/c | 651 // Do not add any member variables to MessageLoopForIO! This is important b/c |
| 652 // MessageLoopForIO is often allocated via MessageLoop(TYPE_IO). Any extra | 652 // MessageLoopForIO is often allocated via MessageLoop(TYPE_IO). Any extra |
| 653 // data that you need should be stored on the MessageLoop's pump_ instance. | 653 // data that you need should be stored on the MessageLoop's pump_ instance. |
| 654 COMPILE_ASSERT(sizeof(MessageLoop) == sizeof(MessageLoopForIO), | 654 COMPILE_ASSERT(sizeof(MessageLoop) == sizeof(MessageLoopForIO), |
| 655 MessageLoopForIO_should_not_have_extra_member_variables); | 655 MessageLoopForIO_should_not_have_extra_member_variables); |
| 656 | 656 |
| 657 } // namespace base | 657 } // namespace base |
| 658 | 658 |
| 659 #endif // BASE_MESSAGE_LOOP_MESSAGE_LOOP_H_ | 659 #endif // BASE_MESSAGE_LOOP_MESSAGE_LOOP_H_ |
| OLD | NEW |