| 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_ISOLATE_H_ | 5 #ifndef VM_SERVICE_ISOLATE_H_ |
| 6 #define VM_SERVICE_ISOLATE_H_ | 6 #define VM_SERVICE_ISOLATE_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 | 9 |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| 11 #include "vm/os_thread.h" | 11 #include "vm/os_thread.h" |
| 12 | 12 |
| 13 namespace dart { | 13 namespace dart { |
| 14 | 14 |
| 15 class ObjectPointerVisitor; |
| 16 |
| 15 class ServiceIsolate : public AllStatic { | 17 class ServiceIsolate : public AllStatic { |
| 16 public: | 18 public: |
| 17 static const char* kName; | 19 static const char* kName; |
| 18 static bool NameEquals(const char* name); | 20 static bool NameEquals(const char* name); |
| 19 | 21 |
| 20 static bool Exists(); | 22 static bool Exists(); |
| 21 static bool IsRunning(); | 23 static bool IsRunning(); |
| 22 static bool IsServiceIsolate(const Isolate* isolate); | 24 static bool IsServiceIsolate(const Isolate* isolate); |
| 23 static bool IsServiceIsolateDescendant(const Isolate* isolate); | 25 static bool IsServiceIsolateDescendant(const Isolate* isolate); |
| 24 static Dart_Port Port(); | 26 static Dart_Port Port(); |
| 25 | 27 |
| 26 static Dart_Port WaitForLoadPort(); | 28 static Dart_Port WaitForLoadPort(); |
| 27 static Dart_Port LoadPort(); | 29 static Dart_Port LoadPort(); |
| 28 | 30 |
| 29 static void Run(); | 31 static void Run(); |
| 30 static bool SendIsolateStartupMessage(); | 32 static bool SendIsolateStartupMessage(); |
| 31 static bool SendIsolateShutdownMessage(); | 33 static bool SendIsolateShutdownMessage(); |
| 32 static void SendServiceExitMessage(); | 34 static void SendServiceExitMessage(); |
| 33 static void Shutdown(); | 35 static void Shutdown(); |
| 34 | 36 |
| 35 static void BootVmServiceLibrary(); | 37 static void BootVmServiceLibrary(); |
| 36 | 38 |
| 37 static void SetServerAddress(const char* address); | 39 static void SetServerAddress(const char* address); |
| 38 | 40 |
| 39 // Returns the server's web address or NULL if none is running. | 41 // Returns the server's web address or NULL if none is running. |
| 40 static const char* server_address() { | 42 static const char* server_address() { |
| 41 return server_address_; | 43 return server_address_; |
| 42 } | 44 } |
| 43 | 45 |
| 46 static void VisitObjectPointers(ObjectPointerVisitor* visitor); |
| 47 |
| 44 private: | 48 private: |
| 45 static void KillServiceIsolate(); | 49 static void KillServiceIsolate(); |
| 46 | 50 |
| 47 protected: | 51 protected: |
| 48 static void SetServicePort(Dart_Port port); | 52 static void SetServicePort(Dart_Port port); |
| 49 static void SetServiceIsolate(Isolate* isolate); | 53 static void SetServiceIsolate(Isolate* isolate); |
| 50 static void SetLoadPort(Dart_Port port); | 54 static void SetLoadPort(Dart_Port port); |
| 51 static void ConstructExitMessageAndCache(Isolate* isolate); | 55 static void ConstructExitMessageAndCache(Isolate* isolate); |
| 52 static void FinishedExiting(); | 56 static void FinishedExiting(); |
| 53 static void FinishedInitializing(); | 57 static void FinishedInitializing(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 69 static char* server_address_; | 73 static char* server_address_; |
| 70 | 74 |
| 71 friend class Dart; | 75 friend class Dart; |
| 72 friend class RunServiceTask; | 76 friend class RunServiceTask; |
| 73 friend class ServiceIsolateNatives; | 77 friend class ServiceIsolateNatives; |
| 74 }; | 78 }; |
| 75 | 79 |
| 76 } // namespace dart | 80 } // namespace dart |
| 77 | 81 |
| 78 #endif // VM_SERVICE_ISOLATE_H_ | 82 #endif // VM_SERVICE_ISOLATE_H_ |
| OLD | NEW |