| Index: runtime/bin/eventhandler_win.h
|
| diff --git a/runtime/bin/eventhandler_win.h b/runtime/bin/eventhandler_win.h
|
| index 1c62200853866744b377565cd0488b8a72e5ab5a..1e7554c64c968c18b3b96308b13af3a335d2b416 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:
|
| @@ -256,6 +261,27 @@ class FileHandle : public Handle {
|
| };
|
|
|
|
|
| +class DirectoryWatchHandle : public Handle {
|
| + public:
|
| + DirectoryWatchHandle(HANDLE handle, int events, bool recursive)
|
| + : Handle(reinterpret_cast<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_;
|
| +};
|
| +
|
| +
|
| class SocketHandle : public Handle {
|
| public:
|
| SOCKET socket() { return reinterpret_cast<SOCKET>(handle_); }
|
|
|