| Index: runtime/bin/file_system_watcher.cc
|
| diff --git a/runtime/bin/file_system_watcher.cc b/runtime/bin/file_system_watcher.cc
|
| index 7893ffb4d8b2c51ffc2526de3212d2ed9c3aab87..0260be7b5904ab76c22c1e32ad3b9d0585f804c3 100644
|
| --- a/runtime/bin/file_system_watcher.cc
|
| +++ b/runtime/bin/file_system_watcher.cc
|
| @@ -12,54 +12,57 @@
|
| namespace dart {
|
| namespace bin {
|
|
|
| -static const int kWatcherNativeField = 0;
|
| +void FUNCTION_NAME(FileSystemWatcher_IsSupported)(Dart_NativeArguments args) {
|
| + Dart_SetReturnValue(args, Dart_NewBoolean(FileSystemWatcher::IsSupported()));
|
| +}
|
|
|
|
|
| -void SetWatcherIdNativeField(Dart_Handle watcher, intptr_t id) {
|
| - ThrowIfError(Dart_SetNativeInstanceField(watcher, kWatcherNativeField, id));
|
| +void FUNCTION_NAME(FileSystemWatcher_InitWatcher)(Dart_NativeArguments args) {
|
| + Dart_SetReturnValue(args, Dart_NewInteger(FileSystemWatcher::Init()));
|
| }
|
|
|
|
|
| -void GetWatcherIdNativeField(Dart_Handle watcher, intptr_t* id) {
|
| - ThrowIfError(Dart_GetNativeInstanceField(watcher, kWatcherNativeField, id));
|
| +void FUNCTION_NAME(FileSystemWatcher_CloseWatcher)(Dart_NativeArguments args) {
|
| + intptr_t id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| + FileSystemWatcher::Close(id);
|
| }
|
|
|
| -void FUNCTION_NAME(FileSystemWatcher_IsSupported)(Dart_NativeArguments args) {
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(FileSystemWatcher::IsSupported()));
|
| -}
|
|
|
| void FUNCTION_NAME(FileSystemWatcher_WatchPath)(Dart_NativeArguments args) {
|
| - Dart_Handle watcher = Dart_GetNativeArgument(args, 0);
|
| + intptr_t id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| const char* path = DartUtils::GetStringValue(Dart_GetNativeArgument(args, 1));
|
| int events = DartUtils::GetIntegerValue(Dart_GetNativeArgument(args, 2));
|
| bool recursive = DartUtils::GetBooleanValue(Dart_GetNativeArgument(args, 3));
|
| - intptr_t id = FileSystemWatcher::WatchPath(path, events, recursive);
|
| - if (id == -1) {
|
| + intptr_t path_id = FileSystemWatcher::WatchPath(id, path, events, recursive);
|
| + if (path_id == -1) {
|
| Dart_ThrowException(DartUtils::NewDartOSError());
|
| - } else {
|
| - SetWatcherIdNativeField(watcher, id);
|
| }
|
| - intptr_t socket_id = FileSystemWatcher::GetSocketId(id);
|
| - Dart_SetReturnValue(args, Dart_NewInteger(socket_id));
|
| + Dart_SetReturnValue(args, Dart_NewInteger(path_id));
|
| }
|
|
|
|
|
| void FUNCTION_NAME(FileSystemWatcher_UnwatchPath)(Dart_NativeArguments args) {
|
| - Dart_Handle watcher = Dart_GetNativeArgument(args, 0);
|
| - intptr_t id;
|
| - GetWatcherIdNativeField(watcher, &id);
|
| - FileSystemWatcher::UnwatchPath(id);
|
| + intptr_t id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| + intptr_t path_id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 1));
|
| + FileSystemWatcher::UnwatchPath(id, path_id);
|
| }
|
|
|
|
|
| void FUNCTION_NAME(FileSystemWatcher_ReadEvents)(Dart_NativeArguments args) {
|
| - Dart_Handle watcher = Dart_GetNativeArgument(args, 0);
|
| - intptr_t id;
|
| - GetWatcherIdNativeField(watcher, &id);
|
| - Dart_Handle handle = FileSystemWatcher::ReadEvents(id);
|
| + intptr_t id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| + intptr_t path_id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 1));
|
| + Dart_Handle handle = FileSystemWatcher::ReadEvents(id, path_id);
|
| ThrowIfError(handle);
|
| Dart_SetReturnValue(args, handle);
|
| }
|
|
|
| +
|
| +void FUNCTION_NAME(FileSystemWatcher_GetSocketId)(Dart_NativeArguments args) {
|
| + intptr_t id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| + intptr_t path_id = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 1));
|
| + int socket_id = FileSystemWatcher::GetSocketId(id, path_id);
|
| + Dart_SetReturnValue(args, Dart_NewInteger(socket_id));
|
| +}
|
| +
|
| } // namespace bin
|
| } // namespace dart
|
|
|