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 BIN_VMSERVICE_IMPL_H_ | 5 #ifndef BIN_VMSERVICE_IMPL_H_ |
6 #define BIN_VMSERVICE_IMPL_H_ | 6 #define BIN_VMSERVICE_IMPL_H_ |
7 | 7 |
8 #include "bin/vmservice.h" | 8 #include "include/dart_api.h" |
9 | 9 |
10 #include "platform/globals.h" | 10 #include "platform/globals.h" |
11 | 11 |
12 namespace dart { | 12 namespace dart { |
13 namespace bin { | 13 namespace bin { |
14 | 14 |
15 class VmService { | 15 class VmService { |
16 public: | 16 public: |
17 // Returns false if service could not be started. | 17 static bool Setup(const char* server_ip, intptr_t server_port); |
18 static bool Start(const char *server_ip, intptr_t server_port); | 18 |
19 // Error message if startup failed. | 19 // Error message if startup failed. |
20 static const char* GetErrorMessage(); | 20 static const char* GetErrorMessage(); |
21 | 21 |
| 22 // HTTP server's IP. |
| 23 static const char* GetServerIP() { |
| 24 return &server_ip_[0]; |
| 25 } |
| 26 |
| 27 // HTTP server's port. |
| 28 static intptr_t GetServerPort() { |
| 29 return server_port_; |
| 30 } |
| 31 |
22 private: | 32 private: |
23 static bool _Start(const char *server_ip, intptr_t server_port); | 33 static const intptr_t kServerIpStringBufferSize = 256; |
| 34 friend void TriggerResourceLoad(Dart_NativeArguments args); |
| 35 friend void NotifyServerState(Dart_NativeArguments args); |
| 36 |
| 37 static void SetServerIPAndPort(const char* ip, intptr_t port); |
24 static Dart_Handle GetSource(const char* name); | 38 static Dart_Handle GetSource(const char* name); |
25 static Dart_Handle LoadScript(const char* name); | 39 static Dart_Handle LoadScript(const char* name); |
26 static Dart_Handle LoadSource(Dart_Handle library, const char* name); | 40 static Dart_Handle LoadSource(Dart_Handle library, const char* name); |
27 static Dart_Handle LoadResources(Dart_Handle library); | 41 static Dart_Handle LoadResources(Dart_Handle library); |
28 static Dart_Handle LoadResource(Dart_Handle library, const char* name); | 42 static Dart_Handle LoadResource(Dart_Handle library, const char* name); |
29 static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, Dart_Handle library, | 43 static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag, Dart_Handle library, |
30 Dart_Handle url); | 44 Dart_Handle url); |
31 | 45 |
32 friend void TriggerResourceLoad(Dart_NativeArguments args); | 46 static const char* error_msg_; |
| 47 static char server_ip_[kServerIpStringBufferSize]; |
| 48 static intptr_t server_port_; |
33 | 49 |
34 static void ThreadMain(uword parameters); | |
35 static const char* error_msg_; | |
36 DISALLOW_ALLOCATION(); | 50 DISALLOW_ALLOCATION(); |
37 DISALLOW_IMPLICIT_CONSTRUCTORS(VmService); | 51 DISALLOW_IMPLICIT_CONSTRUCTORS(VmService); |
38 }; | 52 }; |
39 | 53 |
40 | 54 |
41 } // namespace bin | 55 } // namespace bin |
42 } // namespace dart | 56 } // namespace dart |
43 | 57 |
44 #endif // BIN_VMSERVICE_IMPL_H_ | 58 #endif // BIN_VMSERVICE_IMPL_H_ |
OLD | NEW |