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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/service/vmservice.dart ('k') | runtime/vm/service_event.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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_EVENT_H_ 5 #ifndef VM_SERVICE_EVENT_H_
6 #define VM_SERVICE_EVENT_H_ 6 #define VM_SERVICE_EVENT_H_
7 7
8 #include "vm/debugger.h" 8 #include "vm/debugger.h"
9 9
10 class DebuggerEvent; 10 class DebuggerEvent;
11 11
12 namespace dart { 12 namespace dart {
13 13
14 class ServiceEvent { 14 class ServiceEvent {
15 public: 15 public:
16 enum EventType { 16 enum EventKind {
17 kIsolateStart, // New isolate has started 17 kIsolateStart, // New isolate has started
18 kIsolateExit, // Isolate has exited 18 kIsolateExit, // Isolate has exited
19 kIsolateUpdate, // Isolate identity information has changed 19 kIsolateUpdate, // Isolate identity information has changed
20 20
21 kPauseStart, // --pause-isolates-on-start 21 kPauseStart, // --pause-isolates-on-start
22 kPauseExit, // --pause-isolates-on-exit 22 kPauseExit, // --pause-isolates-on-exit
23 kPauseBreakpoint, 23 kPauseBreakpoint,
24 kPauseInterrupted, 24 kPauseInterrupted,
25 kPauseException, 25 kPauseException,
26 kResume, 26 kResume,
27 kBreakpointAdded, 27 kBreakpointAdded,
28 kBreakpointResolved, 28 kBreakpointResolved,
29 kBreakpointRemoved, 29 kBreakpointRemoved,
30 kInspect, 30 kInspect,
31 kDebuggerSettingsUpdate, 31 kDebuggerSettingsUpdate,
32 32
33 kGC, 33 kGC,
34 34
35 kEmbedder,
36
35 kIllegal, 37 kIllegal,
36 }; 38 };
37 39
38 ServiceEvent(Isolate* isolate, EventType event_type) 40 ServiceEvent(Isolate* isolate, EventKind event_kind)
39 : isolate_(isolate), 41 : isolate_(isolate),
40 type_(event_type), 42 kind_(event_kind),
43 embedder_kind_(NULL),
44 embedder_stream_id_(NULL),
41 breakpoint_(NULL), 45 breakpoint_(NULL),
42 top_frame_(NULL), 46 top_frame_(NULL),
43 exception_(NULL), 47 exception_(NULL),
44 inspectee_(NULL), 48 inspectee_(NULL),
45 gc_stats_(NULL) {} 49 gc_stats_(NULL),
50 bytes_(NULL),
51 bytes_length_(0) {}
46 52
47 explicit ServiceEvent(const DebuggerEvent* debugger_event); 53 explicit ServiceEvent(const DebuggerEvent* debugger_event);
48 54
49 Isolate* isolate() const { return isolate_; } 55 Isolate* isolate() const { return isolate_; }
50 56
51 EventType type() const { return type_; } 57 EventKind kind() const { return kind_; }
58
59 const char* embedder_kind() const { return embedder_kind_; }
60
61 const char* KindAsCString() const;
62
63 void set_embedder_kind(const char* embedder_kind) {
64 embedder_kind_ = embedder_kind;
65 }
52 66
53 const char* stream_id() const; 67 const char* stream_id() const;
54 68
69 void set_embedder_stream_id(const char* stream_id) {
70 embedder_stream_id_ = stream_id;
71 }
72
55 Breakpoint* breakpoint() const { 73 Breakpoint* breakpoint() const {
56 return breakpoint_; 74 return breakpoint_;
57 } 75 }
58 void set_breakpoint(Breakpoint* bpt) { 76 void set_breakpoint(Breakpoint* bpt) {
59 ASSERT(type() == kPauseBreakpoint || 77 ASSERT(kind() == kPauseBreakpoint ||
60 type() == kBreakpointAdded || 78 kind() == kBreakpointAdded ||
61 type() == kBreakpointResolved || 79 kind() == kBreakpointResolved ||
62 type() == kBreakpointRemoved); 80 kind() == kBreakpointRemoved);
63 breakpoint_ = bpt; 81 breakpoint_ = bpt;
64 } 82 }
65 83
66 ActivationFrame* top_frame() const { 84 ActivationFrame* top_frame() const {
67 return top_frame_; 85 return top_frame_;
68 } 86 }
69 void set_top_frame(ActivationFrame* frame) { 87 void set_top_frame(ActivationFrame* frame) {
70 ASSERT(type() == kPauseBreakpoint || 88 ASSERT(kind() == kPauseBreakpoint ||
71 type() == kPauseInterrupted || 89 kind() == kPauseInterrupted ||
72 type() == kPauseException || 90 kind() == kPauseException ||
73 type() == kResume); 91 kind() == kResume);
74 top_frame_ = frame; 92 top_frame_ = frame;
75 } 93 }
76 94
77 const Object* exception() const { 95 const Object* exception() const {
78 return exception_; 96 return exception_;
79 } 97 }
80 void set_exception(const Object* exception) { 98 void set_exception(const Object* exception) {
81 ASSERT(type_ == kPauseException); 99 ASSERT(kind_ == kPauseException);
82 exception_ = exception; 100 exception_ = exception;
83 } 101 }
84 102
85 const Object* inspectee() const { 103 const Object* inspectee() const {
86 return inspectee_; 104 return inspectee_;
87 } 105 }
88 void set_inspectee(const Object* inspectee) { 106 void set_inspectee(const Object* inspectee) {
89 ASSERT(type_ == kInspect); 107 ASSERT(kind_ == kInspect);
90 inspectee_ = inspectee; 108 inspectee_ = inspectee;
91 } 109 }
92 110
93 const Heap::GCStats* gc_stats() const { 111 const Heap::GCStats* gc_stats() const {
94 return gc_stats_; 112 return gc_stats_;
95 } 113 }
96 114
97 void set_gc_stats(const Heap::GCStats* gc_stats) { 115 void set_gc_stats(const Heap::GCStats* gc_stats) {
98 gc_stats_ = gc_stats; 116 gc_stats_ = gc_stats;
99 } 117 }
100 118
119 const uint8_t* bytes() const {
120 return bytes_;
121 }
122
123 intptr_t bytes_length() const {
124 return bytes_length_;
125 }
126
127 void set_bytes(const uint8_t* bytes, intptr_t bytes_length) {
128 bytes_ = bytes;
129 bytes_length_ = bytes_length;
130 }
131
101 void PrintJSON(JSONStream* js) const; 132 void PrintJSON(JSONStream* js) const;
102 133
103 static const char* EventTypeToCString(EventType type);
104
105 private: 134 private:
106 Isolate* isolate_; 135 Isolate* isolate_;
107 EventType type_; 136 EventKind kind_;
137 const char* embedder_kind_;
138 const char* embedder_stream_id_;
108 Breakpoint* breakpoint_; 139 Breakpoint* breakpoint_;
109 ActivationFrame* top_frame_; 140 ActivationFrame* top_frame_;
110 const Object* exception_; 141 const Object* exception_;
111 const Object* inspectee_; 142 const Object* inspectee_;
112 const Heap::GCStats* gc_stats_; 143 const Heap::GCStats* gc_stats_;
144 const uint8_t* bytes_;
145 intptr_t bytes_length_;
113 }; 146 };
114 147
115 } // namespace dart 148 } // namespace dart
116 149
117 #endif // VM_SERVICE_EVENT_H_ 150 #endif // VM_SERVICE_EVENT_H_
OLDNEW
« 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