Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Unified Diff: mojo/edk/base_edk/platform_message_loop_for_io_impl.h

Issue 1507903006: EDK: Remove mojo::platform::MessageLoopForIO and add PlatformHandleWatcher. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/edk/base_edk/platform_message_loop_for_io_impl.h
diff --git a/mojo/edk/base_edk/platform_message_loop_for_io_impl.h b/mojo/edk/base_edk/platform_message_loop_for_io_impl.h
index 13af435bf94ff132ac3f22f729aa766bcac1872d..e97b7e75a615489695769f139a73634de1b95b8f 100644
--- a/mojo/edk/base_edk/platform_message_loop_for_io_impl.h
+++ b/mojo/edk/base_edk/platform_message_loop_for_io_impl.h
@@ -2,8 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// This file provides an implementation of |mojo::platform::MessageLoopForIO|
-// that wraps a |base::MessageLoop|.
+// This file provides an implementation of |mojo::platform::MessageLoop| that
+// wraps a |base::MessageLoopForIO| and also implements
+// |mojo::platform::PlatformHandleWatcher|.
#ifndef MOJO_EDK_BASE_EDK_PLATFORM_MESSAGE_LOOP_FOR_IO_IMPL_H_
#define MOJO_EDK_BASE_EDK_PLATFORM_MESSAGE_LOOP_FOR_IO_IMPL_H_
@@ -11,12 +12,15 @@
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
-#include "mojo/edk/platform/message_loop_for_io.h"
+#include "mojo/edk/platform/message_loop.h"
+#include "mojo/edk/platform/platform_handle_watcher.h"
#include "mojo/edk/platform/task_runner.h"
namespace base_edk {
-class PlatformMessageLoopForIOImpl : public mojo::platform::MessageLoopForIO {
+class PlatformMessageLoopForIOImpl
+ : public mojo::platform::MessageLoop,
+ public mojo::platform::PlatformHandleWatcher {
public:
PlatformMessageLoopForIOImpl();
~PlatformMessageLoopForIOImpl() override;
@@ -28,7 +32,7 @@ class PlatformMessageLoopForIOImpl : public mojo::platform::MessageLoopForIO {
return base_message_loop_for_io_;
}
- // |mojo::platform::MessageLoopForIO| implementation:
+ // |mojo::platform::MessageLoop| implementation:
void Run() override;
void RunUntilIdle() override;
void QuitWhenIdle() override;
@@ -37,6 +41,13 @@ class PlatformMessageLoopForIOImpl : public mojo::platform::MessageLoopForIO {
const override;
bool IsRunningOnCurrentThread() const override;
+ // |mojo::platform::PlatformHandleWatcher| implementation:
+ std::unique_ptr<WatchToken> Watch(
+ mojo::platform::PlatformHandle platform_handle,
+ bool persistent,
+ std::function<void()>&& read_callback,
+ std::function<void()>&& write_callback) override;
+
private:
base::MessageLoopForIO base_message_loop_for_io_;
mojo::util::RefPtr<mojo::platform::TaskRunner> task_runner_;

Powered by Google App Engine
This is Rietveld 408576698