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

Unified Diff: runtime/include/dart_api.h

Issue 8383029: Implement external strings. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Finish native peer support Created 9 years, 2 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 | « no previous file | runtime/lib/string.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/include/dart_api.h
diff --git a/runtime/include/dart_api.h b/runtime/include/dart_api.h
index c8faf4fbde751742299289e6213915e9d902c68a..1d914a63f1a3b818cc7e12c74e0d1331f0e44ad3 100755
--- a/runtime/include/dart_api.h
+++ b/runtime/include/dart_api.h
@@ -98,6 +98,13 @@ typedef Dart_Result (*Dart_LibraryTagHandler)(Dart_LibraryTag tag,
Dart_Handle library,
Dart_Handle url);
+typedef void (*Dart_ExternalString8Finalizer)(uint8_t* codepoints,
Anton Muhin 2011/10/26 14:11:53 I think codepoints may go away---embedder should b
+ void* peer);
+typedef void (*Dart_ExternalString16Finalizer)(uint16_t* codepoints,
+ void* peer);
+typedef void (*Dart_ExternalString32Finalizer)(uint32_t* codepoints,
+ void* peer);
+
// TODO(iposva): This is a placeholder for the eventual external Dart API.
// Return value handling after a Dart API call.
@@ -293,6 +300,23 @@ DART_EXPORT Dart_Handle Dart_NewString16(const uint16_t* codepoints,
DART_EXPORT Dart_Handle Dart_NewString32(const uint32_t* codepoints,
intptr_t length);
+DART_EXPORT Dart_Handle Dart_NewExternalString8(
+ uint8_t* codepoints,
+ intptr_t length,
+ void* peer,
+ Dart_ExternalString8Finalizer finalizer);
+DART_EXPORT Dart_Handle Dart_NewExternalString16(
+ uint16_t* codepoints,
+ intptr_t length,
+ void* peer,
+ Dart_ExternalString16Finalizer finalizer);
+DART_EXPORT Dart_Handle Dart_NewExternalString32(
+ uint32_t* codepoints,
+ intptr_t length,
+ void* peer,
+ Dart_ExternalString32Finalizer finalizer);
+
+
// The functions below test whether the object is a String and its codepoints
// all fit into 8 or 16 bits respectively.
DART_EXPORT bool Dart_IsString8(Dart_Handle object);
« no previous file with comments | « no previous file | runtime/lib/string.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698