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

Side by Side Diff: runtime/vm/dart_api_impl.cc

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/observatory/tests/service/capture_stdio_test.dart ('k') | runtime/vm/debugger.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) 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 #include "include/dart_api.h" 5 #include "include/dart_api.h"
6 #include "include/dart_mirrors_api.h" 6 #include "include/dart_mirrors_api.h"
7 #include "include/dart_native_api.h" 7 #include "include/dart_native_api.h"
8 8
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "vm/class_finalizer.h" 10 #include "vm/class_finalizer.h"
(...skipping 5674 matching lines...) Expand 10 before | Expand all | Expand 10 after
5685 5685
5686 5686
5687 DART_EXPORT void Dart_RegisterRootServiceRequestCallback( 5687 DART_EXPORT void Dart_RegisterRootServiceRequestCallback(
5688 const char* name, 5688 const char* name,
5689 Dart_ServiceRequestCallback callback, 5689 Dart_ServiceRequestCallback callback,
5690 void* user_data) { 5690 void* user_data) {
5691 Service::RegisterRootEmbedderCallback(name, callback, user_data); 5691 Service::RegisterRootEmbedderCallback(name, callback, user_data);
5692 } 5692 }
5693 5693
5694 5694
5695 DART_EXPORT Dart_Handle Dart_SetServiceStreamCallbacks(
5696 Dart_ServiceStreamListenCallback listen_callback,
5697 Dart_ServiceStreamCancelCallback cancel_callback) {
5698 if (listen_callback != NULL) {
5699 if (Service::stream_listen_callback() != NULL) {
5700 return Api::NewError(
5701 "%s permits only one listen callback to be registered, please "
5702 "remove the existing callback and then add this callback",
5703 CURRENT_FUNC);
5704 }
5705 } else {
5706 if (Service::stream_listen_callback() == NULL) {
5707 return Api::NewError(
5708 "%s expects 'listen_callback' to be present in the callback set.",
5709 CURRENT_FUNC);
5710 }
5711 }
5712 if (cancel_callback != NULL) {
5713 if (Service::stream_cancel_callback() != NULL) {
5714 return Api::NewError(
5715 "%s permits only one cancel callback to be registered, please "
5716 "remove the existing callback and then add this callback",
5717 CURRENT_FUNC);
5718 }
5719 } else {
5720 if (Service::stream_cancel_callback() == NULL) {
5721 return Api::NewError(
5722 "%s expects 'cancel_callback' to be present in the callback set.",
5723 CURRENT_FUNC);
5724 }
5725 }
5726 Service::SetEmbedderStreamCallbacks(listen_callback, cancel_callback);
5727 return Api::Success();
5728 }
5729
5730
5731 DART_EXPORT Dart_Handle Dart_ServiceSendDataEvent(const char* stream_id,
5732 const char* event_kind,
5733 const uint8_t* bytes,
5734 intptr_t bytes_length) {
5735 Isolate* isolate = Isolate::Current();
5736 DARTSCOPE(isolate);
5737 if (stream_id == NULL) {
5738 RETURN_NULL_ERROR(stream_id);
5739 }
5740 if (event_kind == NULL) {
5741 RETURN_NULL_ERROR(event_kind);
5742 }
5743 if (bytes == NULL) {
5744 RETURN_NULL_ERROR(bytes);
5745 }
5746 if (bytes_length < 0) {
5747 return Api::NewError("%s expects argument 'bytes_length' to be >= 0.",
5748 CURRENT_FUNC);
5749 }
5750 Service::SendEmbedderEvent(isolate, stream_id, event_kind,
5751 bytes, bytes_length);
5752 return Api::Success();
5753 }
5754
5755
5695 DART_EXPORT Dart_Handle Dart_TimelineDuration(const char* label, 5756 DART_EXPORT Dart_Handle Dart_TimelineDuration(const char* label,
5696 int64_t start_micros, 5757 int64_t start_micros,
5697 int64_t end_micros) { 5758 int64_t end_micros) {
5698 Isolate* isolate = Isolate::Current(); 5759 Isolate* isolate = Isolate::Current();
5699 CHECK_ISOLATE(isolate); 5760 CHECK_ISOLATE(isolate);
5700 if (label == NULL) { 5761 if (label == NULL) {
5701 RETURN_NULL_ERROR(label); 5762 RETURN_NULL_ERROR(label);
5702 } 5763 }
5703 if (start_micros > end_micros) { 5764 if (start_micros > end_micros) {
5704 const char* msg = "%s: start_micros must be <= end_micros"; 5765 const char* msg = "%s: start_micros must be <= end_micros";
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
5789 ASSERT(stream != NULL); 5850 ASSERT(stream != NULL);
5790 TimelineEvent* event = stream->StartEvent(); 5851 TimelineEvent* event = stream->StartEvent();
5791 if (event != NULL) { 5852 if (event != NULL) {
5792 event->AsyncEnd(label, async_id); 5853 event->AsyncEnd(label, async_id);
5793 event->Complete(); 5854 event->Complete();
5794 } 5855 }
5795 return Api::Success(); 5856 return Api::Success();
5796 } 5857 }
5797 5858
5798 } // namespace dart 5859 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/observatory/tests/service/capture_stdio_test.dart ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698