OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 INCLUDE_DART_API_H_ | 5 #ifndef INCLUDE_DART_API_H_ |
6 #define INCLUDE_DART_API_H_ | 6 #define INCLUDE_DART_API_H_ |
7 | 7 |
8 /** \mainpage Dart Embedding API Reference | 8 /** \mainpage Dart Embedding API Reference |
9 * | 9 * |
10 * Dart is a class-based programming language for creating structured | 10 * Dart is a class-based programming language for creating structured |
(...skipping 1388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1399 // TODO(turnidge): Rename to Dart_LibrarySetNativeResolver? | 1399 // TODO(turnidge): Rename to Dart_LibrarySetNativeResolver? |
1400 | 1400 |
1401 // --- Profiling support ---- | 1401 // --- Profiling support ---- |
1402 | 1402 |
1403 // External pprof support for gathering and dumping symbolic | 1403 // External pprof support for gathering and dumping symbolic |
1404 // information that can be used for better profile reports for | 1404 // information that can be used for better profile reports for |
1405 // dynamically generated code. | 1405 // dynamically generated code. |
1406 DART_EXPORT void Dart_InitPprofSupport(); | 1406 DART_EXPORT void Dart_InitPprofSupport(); |
1407 DART_EXPORT void Dart_GetPprofSymbolInfo(void** buffer, int* buffer_size); | 1407 DART_EXPORT void Dart_GetPprofSymbolInfo(void** buffer, int* buffer_size); |
1408 | 1408 |
1409 // --- Message encoding/decoding ---- | 1409 // --- Message sending/receiving from native code ---- |
1410 | 1410 |
1411 /** | 1411 /** |
1412 * A Dart_CObject is used for representing Dart objects as native C | 1412 * A Dart_CObject is used for representing Dart objects as native C |
1413 * data outside the Dart heap. These objects are totally detached from | 1413 * data outside the Dart heap. These objects are totally detached from |
1414 * the Dart heap. Only a subset of the Dart objects have a | 1414 * the Dart heap. Only a subset of the Dart objects have a |
1415 * representation as a Dart_CObject. | 1415 * representation as a Dart_CObject. |
1416 */ | 1416 */ |
1417 struct Dart_CObject { | 1417 struct Dart_CObject { |
1418 enum Type { | 1418 enum Type { |
1419 kNull = 0, | 1419 kNull = 0, |
(...skipping 11 matching lines...) Expand all Loading... |
1431 double as_double; | 1431 double as_double; |
1432 char* as_string; | 1432 char* as_string; |
1433 struct { | 1433 struct { |
1434 int length; | 1434 int length; |
1435 Dart_CObject** values; | 1435 Dart_CObject** values; |
1436 } as_array; | 1436 } as_array; |
1437 } value; | 1437 } value; |
1438 }; | 1438 }; |
1439 | 1439 |
1440 /** | 1440 /** |
1441 * A Dart_CMessage is used for encoding and decoding messages from native code. | 1441 * A Dart_CMessage is used for receiving and sending messages from |
| 1442 * native code not running in an isolate. A message contains an object |
| 1443 * graph represented as Dart_CObject structures rooted as the provided |
| 1444 * root. |
| 1445 * |
| 1446 * For information on the lifetime of this data, when provided in |
| 1447 * callbacks, see the documentation for the individual callbacks. |
1442 */ | 1448 */ |
1443 struct Dart_CMessage { | 1449 struct Dart_CMessage { |
1444 Dart_CObject** message; | 1450 Dart_CObject* root; |
1445 }; | 1451 }; |
1446 | 1452 |
| 1453 |
1447 #endif // INCLUDE_DART_API_H_ | 1454 #endif // INCLUDE_DART_API_H_ |
OLD | NEW |