Chromium Code Reviews| Index: runtime/vm/service_isolate.h |
| diff --git a/runtime/vm/service_isolate.h b/runtime/vm/service_isolate.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..dff83bbb9404492e1a1e3e074204c6ba8b2b1e3a |
| --- /dev/null |
| +++ b/runtime/vm/service_isolate.h |
| @@ -0,0 +1,60 @@ |
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +#ifndef VM_SERVICE_ISOLATE_H_ |
| +#define VM_SERVICE_ISOLATE_H_ |
| + |
| +#include "include/dart_api.h" |
| + |
| +#include "vm/allocation.h" |
| +#include "vm/os_thread.h" |
| + |
| +namespace dart { |
| + |
| +class ServiceIsolate : public AllStatic { |
| + public: |
| + static const char* kName; |
| + static bool IsName(const char* name); |
|
turnidge
2015/02/12 18:08:57
Maybe "NameEquals?"
Cutch
2015/02/12 18:18:47
Done.
|
| + |
| + static bool HasServiceIsolate(); |
|
turnidge
2015/02/12 18:08:57
ServiceIsolate::HasServiceIsolate is repetitive --
Cutch
2015/02/12 18:18:47
ServiceIsolate::Exists
|
| + static bool IsRunning(); |
| + static bool IsServiceIsolate(Isolate* isolate); |
| + static Dart_Port Port(); |
| + |
| + static Dart_Port WaitForLoadPort(); |
| + static Dart_Port LoadPort(); |
| + |
| + static void Run(); |
| + static bool SendIsolateStartupMessage(); |
| + static bool SendIsolateShutdownMessage(); |
| + |
| + protected: |
| + static void SetServicePort(Dart_Port port); |
| + static void SetServiceIsolate(Isolate* isolate); |
| + static void SetLoadPort(Dart_Port port); |
| + static void FinishedInitializing(); |
| + static void MaybeInjectVMServiceLibrary(Isolate* isolate); |
| + static Dart_IsolateCreateCallback create_callback() { |
| + return create_callback_; |
| + } |
| + |
| + static Dart_Handle GetSource(const char* name); |
| + static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, Dart_Handle library, |
| + Dart_Handle url); |
| + |
| + static Dart_IsolateCreateCallback create_callback_; |
| + static Monitor* monitor_; |
| + static bool initializing_; |
| + static Isolate* isolate_; |
| + static Dart_Port port_; |
| + static Dart_Port load_port_; |
| + |
| + friend class Dart; |
| + friend class RunServiceTask; |
| + friend class ServiceIsolateNatives; |
| +}; |
| + |
| +} // namespace dart |
| + |
| +#endif // VM_SERVICE_ISOLATE_H_ |