diff options
author | blundell@chromium.org <blundell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 17:29:40 +0000 |
---|---|---|
committer | blundell@chromium.org <blundell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-30 17:29:40 +0000 |
commit | d6bafc3147d479a5396d8f24f9ddd3110326b58f (patch) | |
tree | ef9d8457468d7e4ea0aeb588f47bde11ff0ef1b8 /base/message_loop.cc | |
parent | b5cdf10bef9fd68fe9b1d52c44113b50b7456f01 (diff) | |
download | chromium_src-d6bafc3147d479a5396d8f24f9ddd3110326b58f.zip chromium_src-d6bafc3147d479a5396d8f24f9ddd3110326b58f.tar.gz chromium_src-d6bafc3147d479a5396d8f24f9ddd3110326b58f.tar.bz2 |
Provide an iOS message pump for IO implementation.
The implementation is done as a subclass of MessagePumpNSRunLoop. It is conceptually quite similar to the libevent implementation (message_pump_libevent*), on which it is based.
Review URL: https://chromiumcodereview.appspot.com/11412101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170470 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_loop.cc')
-rw-r--r-- | base/message_loop.cc | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/base/message_loop.cc b/base/message_loop.cc index f427993..5428026 100644 --- a/base/message_loop.cc +++ b/base/message_loop.cc @@ -27,7 +27,7 @@ #if defined(OS_MACOSX) #include "base/message_pump_mac.h" #endif -#if defined(OS_POSIX) +#if defined(OS_POSIX) && !defined(OS_IOS) #include "base/message_pump_libevent.h" #endif #if defined(OS_ANDROID) @@ -157,6 +157,9 @@ MessageLoop::MessageLoop(Type type) #if defined(OS_WIN) #define MESSAGE_PUMP_UI new base::MessagePumpForUI() #define MESSAGE_PUMP_IO new base::MessagePumpForIO() +#elif defined(OS_IOS) +#define MESSAGE_PUMP_UI base::MessagePumpMac::Create() +#define MESSAGE_PUMP_IO new base::MessagePumpIOSForIO() #elif defined(OS_MACOSX) #define MESSAGE_PUMP_UI base::MessagePumpMac::Create() #define MESSAGE_PUMP_IO new base::MessagePumpLibevent() @@ -776,6 +779,21 @@ bool MessageLoopForIO::WaitForIOCompletion(DWORD timeout, IOHandler* filter) { return pump_io()->WaitForIOCompletion(timeout, filter); } +#elif defined(OS_IOS) + +bool MessageLoopForIO::WatchFileDescriptor(int fd, + bool persistent, + Mode mode, + FileDescriptorWatcher *controller, + Watcher *delegate) { + return pump_io()->WatchFileDescriptor( + fd, + persistent, + mode, + controller, + delegate); +} + #elif defined(OS_POSIX) && !defined(OS_NACL) bool MessageLoopForIO::WatchFileDescriptor(int fd, @@ -786,7 +804,7 @@ bool MessageLoopForIO::WatchFileDescriptor(int fd, return pump_libevent()->WatchFileDescriptor( fd, persistent, - static_cast<base::MessagePumpLibevent::Mode>(mode), + mode, controller, delegate); } |