Index: runtime/vm/service_isolate.cc |
diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc |
index 3665cf3da69f31e91b501b4d33a5fd6e844888df..ad6be9d1d98b97cfb88d017e7ad28ca781a6917b 100644 |
--- a/runtime/vm/service_isolate.cc |
+++ b/runtime/vm/service_isolate.cc |
@@ -296,6 +296,26 @@ class ServiceIsolateNatives : public AllStatic { |
} |
} |
} |
+ |
+ static void ListenStream(Dart_NativeArguments args) { |
+ NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args); |
+ Isolate* isolate = arguments->isolate(); |
+ StackZone stack_zone(isolate); |
+ Zone* zone = stack_zone.GetZone(); // Used by GET_NON_NULL_NATIVE_ARGUMENT. |
+ HANDLESCOPE(isolate); |
+ GET_NON_NULL_NATIVE_ARGUMENT(String, stream_id, arguments->NativeArgAt(0)); |
+ Service::ListenStream(stream_id.ToCString()); |
+ } |
+ |
+ static void CancelStream(Dart_NativeArguments args) { |
+ NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args); |
+ Isolate* isolate = arguments->isolate(); |
+ StackZone stack_zone(isolate); |
+ Zone* zone = stack_zone.GetZone(); // Used by GET_NON_NULL_NATIVE_ARGUMENT. |
+ HANDLESCOPE(isolate); |
+ GET_NON_NULL_NATIVE_ARGUMENT(String, stream_id, arguments->NativeArgAt(0)); |
+ Service::CancelStream(stream_id.ToCString()); |
+ } |
}; |
@@ -315,6 +335,10 @@ static ServiceNativeEntry _ServiceNativeEntries[] = { |
ServiceIsolateNatives::OnStart }, |
{"VMService_OnExit", 0, |
ServiceIsolateNatives::OnExit }, |
+ {"VMService_ListenStream", 1, |
+ ServiceIsolateNatives::ListenStream }, |
+ {"VMService_CancelStream", 1, |
+ ServiceIsolateNatives::CancelStream }, |
}; |