Files
sdk/runtime/vm/service_isolate.h
T
johnmccutchan@google.com 1761e8eb5f Refactor service code and service method parameters
- Move service isolate code into service_isolate.cc
- Reorganize service isolate code
- Unify isolate and root message handlers
- Add MethodParameter classes
- Add parameter list to service method table
- Use parameter list for getCpuProfile RPC
- Update service_test.cc to work with required isolateId parameter.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//920813003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43735 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 19:10:55 +00:00

61 lines
1.6 KiB
C++

// 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 NameEquals(const char* name);
static bool 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_