Index: base/message_pump_io_ios.h |
diff --git a/base/message_pump_io_ios.h b/base/message_pump_io_ios.h |
deleted file mode 100644 |
index 81f529d5131f295c80b23780dd0a0909a1fbdcf5..0000000000000000000000000000000000000000 |
--- a/base/message_pump_io_ios.h |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-// Copyright 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef BASE_MESSAGE_PUMP_IO_IOS_H_ |
-#define BASE_MESSAGE_PUMP_IO_IOS_H_ |
- |
-#include "base/base_export.h" |
-#include "base/mac/scoped_cffiledescriptorref.h" |
-#include "base/mac/scoped_cftyperef.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/message_pump_mac.h" |
-#include "base/observer_list.h" |
- |
-namespace base { |
- |
-// This file introduces a class to monitor sockets and issue callbacks when |
-// sockets are ready for I/O on iOS. |
-class BASE_EXPORT MessagePumpIOSForIO : public MessagePumpNSRunLoop { |
- public: |
- class IOObserver { |
- public: |
- IOObserver() {} |
- |
- // An IOObserver is an object that receives IO notifications from the |
- // MessagePump. |
- // |
- // NOTE: An IOObserver implementation should be extremely fast! |
- virtual void WillProcessIOEvent() = 0; |
- virtual void DidProcessIOEvent() = 0; |
- |
- protected: |
- virtual ~IOObserver() {} |
- }; |
- |
- // Used with WatchFileDescriptor to asynchronously monitor the I/O readiness |
- // of a file descriptor. |
- class Watcher { |
- public: |
- // Called from MessageLoop::Run when an FD can be read from/written to |
- // without blocking |
- virtual void OnFileCanReadWithoutBlocking(int fd) = 0; |
- virtual void OnFileCanWriteWithoutBlocking(int fd) = 0; |
- |
- protected: |
- virtual ~Watcher() {} |
- }; |
- |
- // Object returned by WatchFileDescriptor to manage further watching. |
- class FileDescriptorWatcher { |
- public: |
- FileDescriptorWatcher(); |
- ~FileDescriptorWatcher(); // Implicitly calls StopWatchingFileDescriptor. |
- |
- // NOTE: These methods aren't called StartWatching()/StopWatching() to |
- // avoid confusion with the win32 ObjectWatcher class. |
- |
- // Stop watching the FD, always safe to call. No-op if there's nothing |
- // to do. |
- bool StopWatchingFileDescriptor(); |
- |
- private: |
- friend class MessagePumpIOSForIO; |
- friend class MessagePumpIOSForIOTest; |
- |
- // Called by MessagePumpIOSForIO, ownership of |fdref| and |fd_source| |
- // is transferred to this object. |
- void Init(CFFileDescriptorRef fdref, |
- CFOptionFlags callback_types, |
- CFRunLoopSourceRef fd_source, |
- bool is_persistent); |
- |
- void set_pump(MessagePumpIOSForIO* pump) { pump_ = pump; } |
- MessagePumpIOSForIO* pump() const { return pump_; } |
- |
- void set_watcher(Watcher* watcher) { watcher_ = watcher; } |
- |
- void OnFileCanReadWithoutBlocking(int fd, MessagePumpIOSForIO* pump); |
- void OnFileCanWriteWithoutBlocking(int fd, MessagePumpIOSForIO* pump); |
- |
- bool is_persistent_; // false if this event is one-shot. |
- base::mac::ScopedCFFileDescriptorRef fdref_; |
- CFOptionFlags callback_types_; |
- base::mac::ScopedCFTypeRef<CFRunLoopSourceRef> fd_source_; |
- scoped_refptr<MessagePumpIOSForIO> pump_; |
- Watcher* watcher_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FileDescriptorWatcher); |
- }; |
- |
- enum Mode { |
- WATCH_READ = 1 << 0, |
- WATCH_WRITE = 1 << 1, |
- WATCH_READ_WRITE = WATCH_READ | WATCH_WRITE |
- }; |
- |
- MessagePumpIOSForIO(); |
- |
- // Have the current thread's message loop watch for a a situation in which |
- // reading/writing to the FD can be performed without blocking. |
- // Callers must provide a preallocated FileDescriptorWatcher object which |
- // can later be used to manage the lifetime of this event. |
- // If a FileDescriptorWatcher is passed in which is already attached to |
- // an event, then the effect is cumulative i.e. after the call |controller| |
- // will watch both the previous event and the new one. |
- // If an error occurs while calling this method in a cumulative fashion, the |
- // event previously attached to |controller| is aborted. |
- // Returns true on success. |
- // Must be called on the same thread the message_pump is running on. |
- bool WatchFileDescriptor(int fd, |
- bool persistent, |
- int mode, |
- FileDescriptorWatcher *controller, |
- Watcher *delegate); |
- |
- void RemoveRunLoopSource(CFRunLoopSourceRef source); |
- |
- void AddIOObserver(IOObserver* obs); |
- void RemoveIOObserver(IOObserver* obs); |
- |
- protected: |
- virtual ~MessagePumpIOSForIO(); |
- |
- private: |
- friend class MessagePumpIOSForIOTest; |
- |
- void WillProcessIOEvent(); |
- void DidProcessIOEvent(); |
- |
- static void HandleFdIOEvent(CFFileDescriptorRef fdref, |
- CFOptionFlags callback_types, |
- void* context); |
- |
- ObserverList<IOObserver> io_observers_; |
- ThreadChecker watch_file_descriptor_caller_checker_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MessagePumpIOSForIO); |
-}; |
- |
-} // namespace base |
- |
-#endif // BASE_MESSAGE_PUMP_IO_IOS_H_ |