OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 5 #ifndef RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
6 #define RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 6 #define RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
7 | 7 |
8 #include "dart_api.h" | 8 #include "dart_api.h" |
9 | 9 |
10 /** \mainpage Dart Tools Embedding API Reference | 10 /** \mainpage Dart Tools Embedding API Reference |
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
758 * \param user_data The user data passed to the callback. | 758 * \param user_data The user data passed to the callback. |
759 * | 759 * |
760 * NOTE: If multiple callbacks with the same name are registered, only | 760 * NOTE: If multiple callbacks with the same name are registered, only |
761 * the last callback registered will be remembered. | 761 * the last callback registered will be remembered. |
762 */ | 762 */ |
763 DART_EXPORT void Dart_RegisterRootServiceRequestCallback( | 763 DART_EXPORT void Dart_RegisterRootServiceRequestCallback( |
764 const char* method, | 764 const char* method, |
765 Dart_ServiceRequestCallback callback, | 765 Dart_ServiceRequestCallback callback, |
766 void* user_data); | 766 void* user_data); |
767 | 767 |
768 /** | |
769 * Embedder information which can be requested by the VM for internal or | |
770 * reporting purposes. | |
771 * | |
772 * The pointers in this structure are not going to be cached or freed by the VM. | |
773 */ | |
774 | |
775 #define DART_EMBEDDER_INFORMATION_CURRENT_VERSION (0x00000001) | |
776 | |
777 typedef struct { | |
778 int32_t version; | |
779 const char* name; // [optional] The name of the embedder | |
780 uintptr_t current_rss; // [optional] the current RSS of the embedder | |
781 uintptr_t max_rss; // [optional] the maximum RSS of the embedder | |
782 } Dart_EmbedderInformation; | |
783 | |
784 /** | |
785 * Callback provided by the embedder that is used by the vm to request | |
786 * information. | |
787 * | |
788 * \return Returns a pointer to a Dart_EmbedderInformation structure. | |
789 * The embedder keeps the ownership of the structure and any field in it. | |
790 * The embedder must ensure that the structure will remain valid until the | |
791 * next invokation of the callback. | |
792 */ | |
793 typedef void (*Dart_EmbedderInformationCallback)( | |
794 Dart_EmbedderInformation* info); | |
795 | |
796 /** | |
797 * Register a Dart_ServiceRequestCallback to be called to handle | |
798 * requests for the named rpc. The callback will be invoked without a | |
799 * current isolate. | |
800 * | |
801 * \param method The name of the command that this callback is responsible for. | |
802 * \param callback The callback to invoke. | |
803 * \param user_data The user data passed to the callback. | |
804 * | |
805 * NOTE: If multiple callbacks with the same name are registered, only | |
806 * the last callback registered will be remembered. | |
807 */ | |
808 DART_EXPORT void Dart_SetEmbedderInformationCallback( | |
809 Dart_EmbedderInformationCallback callback); | |
810 | |
811 /* | 768 /* |
812 * ======== | 769 * ======== |
813 * Event Streams | 770 * Event Streams |
814 * ======== | 771 * ======== |
815 */ | 772 */ |
816 | 773 |
817 /** | 774 /** |
818 * A callback invoked when the VM service gets a request to listen to | 775 * A callback invoked when the VM service gets a request to listen to |
819 * some stream. | 776 * some stream. |
820 * | 777 * |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1063 * \param start_recording See Dart_EmbedderTimelineStartRecording. | 1020 * \param start_recording See Dart_EmbedderTimelineStartRecording. |
1064 * \param stop_recording See Dart_EmbedderTimelineStopRecording. | 1021 * \param stop_recording See Dart_EmbedderTimelineStopRecording. |
1065 * | 1022 * |
1066 * NOTE: To avoid races, this should be called before Dart_Initialize. | 1023 * NOTE: To avoid races, this should be called before Dart_Initialize. |
1067 */ | 1024 */ |
1068 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( | 1025 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( |
1069 Dart_EmbedderTimelineStartRecording start_recording, | 1026 Dart_EmbedderTimelineStartRecording start_recording, |
1070 Dart_EmbedderTimelineStopRecording stop_recording); | 1027 Dart_EmbedderTimelineStopRecording stop_recording); |
1071 | 1028 |
1072 #endif // RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 1029 #endif // RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
OLD | NEW |