Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Unified Diff: runtime/vm/service_event.h

Issue 1232193003: Provide stdout and stderr output in the Observatory debugger. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: before commit Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/service/vmservice.dart ('k') | runtime/vm/service_event.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/service_event.h
diff --git a/runtime/vm/service_event.h b/runtime/vm/service_event.h
index 7a5a8baa7842d7bf06da9d664198278cf2ac60d4..e72fbceb12110837476dd45d0ba8e842f0b85fdd 100644
--- a/runtime/vm/service_event.h
+++ b/runtime/vm/service_event.h
@@ -13,7 +13,7 @@ namespace dart {
class ServiceEvent {
public:
- enum EventType {
+ enum EventKind {
kIsolateStart, // New isolate has started
kIsolateExit, // Isolate has exited
kIsolateUpdate, // Isolate identity information has changed
@@ -32,34 +32,52 @@ class ServiceEvent {
kGC,
+ kEmbedder,
+
kIllegal,
};
- ServiceEvent(Isolate* isolate, EventType event_type)
+ ServiceEvent(Isolate* isolate, EventKind event_kind)
: isolate_(isolate),
- type_(event_type),
+ kind_(event_kind),
+ embedder_kind_(NULL),
+ embedder_stream_id_(NULL),
breakpoint_(NULL),
top_frame_(NULL),
exception_(NULL),
inspectee_(NULL),
- gc_stats_(NULL) {}
+ gc_stats_(NULL),
+ bytes_(NULL),
+ bytes_length_(0) {}
explicit ServiceEvent(const DebuggerEvent* debugger_event);
Isolate* isolate() const { return isolate_; }
- EventType type() const { return type_; }
+ EventKind kind() const { return kind_; }
+
+ const char* embedder_kind() const { return embedder_kind_; }
+
+ const char* KindAsCString() const;
+
+ void set_embedder_kind(const char* embedder_kind) {
+ embedder_kind_ = embedder_kind;
+ }
const char* stream_id() const;
+ void set_embedder_stream_id(const char* stream_id) {
+ embedder_stream_id_ = stream_id;
+ }
+
Breakpoint* breakpoint() const {
return breakpoint_;
}
void set_breakpoint(Breakpoint* bpt) {
- ASSERT(type() == kPauseBreakpoint ||
- type() == kBreakpointAdded ||
- type() == kBreakpointResolved ||
- type() == kBreakpointRemoved);
+ ASSERT(kind() == kPauseBreakpoint ||
+ kind() == kBreakpointAdded ||
+ kind() == kBreakpointResolved ||
+ kind() == kBreakpointRemoved);
breakpoint_ = bpt;
}
@@ -67,10 +85,10 @@ class ServiceEvent {
return top_frame_;
}
void set_top_frame(ActivationFrame* frame) {
- ASSERT(type() == kPauseBreakpoint ||
- type() == kPauseInterrupted ||
- type() == kPauseException ||
- type() == kResume);
+ ASSERT(kind() == kPauseBreakpoint ||
+ kind() == kPauseInterrupted ||
+ kind() == kPauseException ||
+ kind() == kResume);
top_frame_ = frame;
}
@@ -78,7 +96,7 @@ class ServiceEvent {
return exception_;
}
void set_exception(const Object* exception) {
- ASSERT(type_ == kPauseException);
+ ASSERT(kind_ == kPauseException);
exception_ = exception;
}
@@ -86,7 +104,7 @@ class ServiceEvent {
return inspectee_;
}
void set_inspectee(const Object* inspectee) {
- ASSERT(type_ == kInspect);
+ ASSERT(kind_ == kInspect);
inspectee_ = inspectee;
}
@@ -98,18 +116,33 @@ class ServiceEvent {
gc_stats_ = gc_stats;
}
- void PrintJSON(JSONStream* js) const;
+ const uint8_t* bytes() const {
+ return bytes_;
+ }
+
+ intptr_t bytes_length() const {
+ return bytes_length_;
+ }
- static const char* EventTypeToCString(EventType type);
+ void set_bytes(const uint8_t* bytes, intptr_t bytes_length) {
+ bytes_ = bytes;
+ bytes_length_ = bytes_length;
+ }
+
+ void PrintJSON(JSONStream* js) const;
private:
Isolate* isolate_;
- EventType type_;
+ EventKind kind_;
+ const char* embedder_kind_;
+ const char* embedder_stream_id_;
Breakpoint* breakpoint_;
ActivationFrame* top_frame_;
const Object* exception_;
const Object* inspectee_;
const Heap::GCStats* gc_stats_;
+ const uint8_t* bytes_;
+ intptr_t bytes_length_;
};
} // namespace dart
« no previous file with comments | « runtime/vm/service/vmservice.dart ('k') | runtime/vm/service_event.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698