OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_SERVICE_H_ | 5 #ifndef VM_SERVICE_H_ |
6 #define VM_SERVICE_H_ | 6 #define VM_SERVICE_H_ |
7 | 7 |
8 #include "include/dart_tools_api.h" | 8 #include "include/dart_tools_api.h" |
9 | 9 |
10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 private: | 74 private: |
75 const char* id_; | 75 const char* id_; |
76 bool enabled_; | 76 bool enabled_; |
77 }; | 77 }; |
78 | 78 |
79 | 79 |
80 class Service : public AllStatic { | 80 class Service : public AllStatic { |
81 public: | 81 public: |
82 // Handles a message which is not directed to an isolate. | 82 // Handles a message which is not directed to an isolate. |
83 static void HandleRootMessage(const Array& message); | 83 static void HandleRootMessage(const Array& message); |
| 84 // Handles a message which is not directed to an isolate and also |
| 85 // expects the parameter keys and values to be actual dart objects. |
| 86 static void HandleObjectRootMessage(const Array& message); |
84 | 87 |
85 // Handles a message which is directed to a particular isolate. | 88 // Handles a message which is directed to a particular isolate. |
86 static void HandleIsolateMessage(Isolate* isolate, const Array& message); | 89 static void HandleIsolateMessage(Isolate* isolate, const Array& message); |
87 | 90 |
88 static void HandleEvent(ServiceEvent* event); | 91 static void HandleEvent(ServiceEvent* event); |
89 | 92 |
90 static void RegisterIsolateEmbedderCallback( | 93 static void RegisterIsolateEmbedderCallback( |
91 const char* name, | 94 const char* name, |
92 Dart_ServiceRequestCallback callback, | 95 Dart_ServiceRequestCallback callback, |
93 void* user_data); | 96 void* user_data); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 static Dart_ServiceStreamListenCallback stream_listen_callback() { | 157 static Dart_ServiceStreamListenCallback stream_listen_callback() { |
155 return stream_listen_callback_; | 158 return stream_listen_callback_; |
156 } | 159 } |
157 static Dart_ServiceStreamCancelCallback stream_cancel_callback() { | 160 static Dart_ServiceStreamCancelCallback stream_cancel_callback() { |
158 return stream_cancel_callback_; | 161 return stream_cancel_callback_; |
159 } | 162 } |
160 | 163 |
161 static void PrintJSONForVM(JSONStream* js, bool ref); | 164 static void PrintJSONForVM(JSONStream* js, bool ref); |
162 | 165 |
163 private: | 166 private: |
164 static void InvokeMethod(Isolate* isolate, const Array& message); | 167 static void InvokeMethod(Isolate* isolate, |
| 168 const Array& message, |
| 169 bool parameters_are_dart_objects = false); |
165 | 170 |
166 static void EmbedderHandleMessage(EmbedderServiceHandler* handler, | 171 static void EmbedderHandleMessage(EmbedderServiceHandler* handler, |
167 JSONStream* js); | 172 JSONStream* js); |
168 | 173 |
169 static EmbedderServiceHandler* FindIsolateEmbedderHandler(const char* name); | 174 static EmbedderServiceHandler* FindIsolateEmbedderHandler(const char* name); |
170 static EmbedderServiceHandler* FindRootEmbedderHandler(const char* name); | 175 static EmbedderServiceHandler* FindRootEmbedderHandler(const char* name); |
171 static void ScheduleExtensionHandler(const Instance& handler, | 176 static void ScheduleExtensionHandler(const Instance& handler, |
172 const String& method_name, | 177 const String& method_name, |
173 const Array& parameter_keys, | 178 const Array& parameter_keys, |
174 const Array& parameter_values, | 179 const Array& parameter_values, |
(...skipping 24 matching lines...) Expand all Loading... |
199 static bool needs_isolate_events_; | 204 static bool needs_isolate_events_; |
200 static bool needs_debug_events_; | 205 static bool needs_debug_events_; |
201 static bool needs_gc_events_; | 206 static bool needs_gc_events_; |
202 static bool needs_echo_events_; | 207 static bool needs_echo_events_; |
203 static bool needs_graph_events_; | 208 static bool needs_graph_events_; |
204 }; | 209 }; |
205 | 210 |
206 } // namespace dart | 211 } // namespace dart |
207 | 212 |
208 #endif // VM_SERVICE_H_ | 213 #endif // VM_SERVICE_H_ |
OLD | NEW |