| Index: runtime/bin/eventhandler_win.h
|
| diff --git a/runtime/bin/eventhandler_win.h b/runtime/bin/eventhandler_win.h
|
| index 1c62200853866744b377565cd0488b8a72e5ab5a..3adaf5795a112852d1558c52d0e2d264e2602725 100644
|
| --- a/runtime/bin/eventhandler_win.h
|
| +++ b/runtime/bin/eventhandler_win.h
|
| @@ -130,7 +130,12 @@ class OverlappedBuffer {
|
| // sockets.
|
| class Handle {
|
| public:
|
| - enum Type { kFile, kClientSocket, kListenSocket };
|
| + enum Type {
|
| + kFile,
|
| + kDirectoryWatch,
|
| + kClientSocket,
|
| + kListenSocket
|
| + };
|
|
|
| class ScopedLock {
|
| public:
|
| @@ -246,13 +251,34 @@ class Handle {
|
| class FileHandle : public Handle {
|
| public:
|
| explicit FileHandle(HANDLE handle)
|
| - : Handle(reinterpret_cast<HANDLE>(handle)) { type_ = kFile; }
|
| + : Handle(handle) { type_ = kFile; }
|
| FileHandle(HANDLE handle, Dart_Port port)
|
| - : Handle(reinterpret_cast<HANDLE>(handle), port) { type_ = kFile; }
|
| + : Handle(handle, port) { type_ = kFile; }
|
| +
|
| + virtual void EnsureInitialized(EventHandlerImplementation* event_handler);
|
| + virtual bool IsClosed();
|
| + virtual void DoClose();
|
| +};
|
| +
|
| +
|
| +class DirectoryWatchHandle : public Handle {
|
| + public:
|
| + DirectoryWatchHandle(HANDLE handle, int events, bool recursive)
|
| + : Handle(handle),
|
| + events_(events),
|
| + recursive_(recursive) {
|
| + type_ = kDirectoryWatch;
|
| + }
|
|
|
| virtual void EnsureInitialized(EventHandlerImplementation* event_handler);
|
| virtual bool IsClosed();
|
| virtual void DoClose();
|
| +
|
| + virtual bool IssueRead();
|
| +
|
| + private:
|
| + int events_;
|
| + bool recursive_;
|
| };
|
|
|
|
|
|
|