OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
3 * for details. All rights reserved. Use of this source code is governed by a | 3 * for details. All rights reserved. Use of this source code is governed by a |
4 * BSD-style license that can be found in the LICENSE file. | 4 * BSD-style license that can be found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 #ifndef INCLUDE_DART_API_H_ | 7 #ifndef INCLUDE_DART_API_H_ |
8 #define INCLUDE_DART_API_H_ | 8 #define INCLUDE_DART_API_H_ |
9 | 9 |
10 /** \mainpage Dart Embedding API Reference | 10 /** \mainpage Dart Embedding API Reference |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 * Deallocates a persistent handle. | 414 * Deallocates a persistent handle. |
415 * | 415 * |
416 * Requires there to be a current isolate. | 416 * Requires there to be a current isolate. |
417 */ | 417 */ |
418 DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object); | 418 DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object); |
419 | 419 |
420 /** | 420 /** |
421 * Allocates a weak persistent handle for an object. | 421 * Allocates a weak persistent handle for an object. |
422 * | 422 * |
423 * This handle has the lifetime of the current isolate unless it is | 423 * This handle has the lifetime of the current isolate unless it is |
424 * explicitly deallocated by calling Dart_DeletePersistentHandle. | 424 * explicitly deallocated by calling Dart_DeleteWeakPersistentHandle. |
425 * | 425 * |
426 * If the object becomes unreachable the callback is invoked with the weak | 426 * If the object becomes unreachable the callback is invoked with the weak |
427 * persistent handle and the peer as arguments. This gives the native code the | 427 * persistent handle and the peer as arguments. This gives the native code the |
428 * ability to cleanup data associated with the object and to delete the weak | 428 * ability to cleanup data associated with the object and to delete the weak |
429 * persistent handle. It is illegal to call into the VM from the callback, | 429 * persistent handle. It is illegal to call into the VM from the callback, |
430 * except to delete the weak persistent handle. | 430 * except to delete the weak persistent handle. |
431 * | 431 * |
432 * Requires there to be a current isolate. | 432 * Requires there to be a current isolate. |
433 * | 433 * |
434 * \param object An object. | 434 * \param object An object. |
(...skipping 19 matching lines...) Expand all Loading... |
454 * Prologue weak persistent handles are similar to weak persistent | 454 * Prologue weak persistent handles are similar to weak persistent |
455 * handles but exhibit different behavior during garbage collections | 455 * handles but exhibit different behavior during garbage collections |
456 * that invoke the prologue and epilogue callbacks. While weak | 456 * that invoke the prologue and epilogue callbacks. While weak |
457 * persistent handles always weakly reference their referents, | 457 * persistent handles always weakly reference their referents, |
458 * prologue weak persistent handles weakly reference their referents | 458 * prologue weak persistent handles weakly reference their referents |
459 * only during a garbage collection that invokes the prologue and | 459 * only during a garbage collection that invokes the prologue and |
460 * epilogue callbacks. During all other garbage collections, prologue | 460 * epilogue callbacks. During all other garbage collections, prologue |
461 * weak persistent handles strongly reference their referents. | 461 * weak persistent handles strongly reference their referents. |
462 * | 462 * |
463 * This handle has the lifetime of the current isolate unless it is | 463 * This handle has the lifetime of the current isolate unless it is |
464 * explicitly deallocated by calling Dart_DeletePersistentHandle. | 464 * explicitly deallocated by calling Dart_DeleteWeakPersistentHandle. |
465 * | 465 * |
466 * Requires there to be a current isolate. | 466 * Requires there to be a current isolate. |
467 * | 467 * |
468 * \param object An object. | 468 * \param object An object. |
469 * \param peer A pointer to a native object or NULL. This value is | 469 * \param peer A pointer to a native object or NULL. This value is |
470 * provided to callback when it is invoked. | 470 * provided to callback when it is invoked. |
471 * \param callback A function pointer that will be invoked sometime | 471 * \param callback A function pointer that will be invoked sometime |
472 * after the object is garbage collected. | 472 * after the object is garbage collected. |
473 * | 473 * |
474 * \return Success if the prologue weak persistent handle was created. | 474 * \return Success if the prologue weak persistent handle was created. |
(...skipping 1976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2451 * be loaded in and the isolate can be run by the embedder. | 2451 * be loaded in and the isolate can be run by the embedder. |
2452 * | 2452 * |
2453 * NOTE: It is not safe to call this from multiple threads concurrently. | 2453 * NOTE: It is not safe to call this from multiple threads concurrently. |
2454 * | 2454 * |
2455 * \return Returns NULL if an error occurred. | 2455 * \return Returns NULL if an error occurred. |
2456 */ | 2456 */ |
2457 DART_EXPORT Dart_Isolate Dart_GetServiceIsolate(void* callback_data); | 2457 DART_EXPORT Dart_Isolate Dart_GetServiceIsolate(void* callback_data); |
2458 | 2458 |
2459 | 2459 |
2460 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ | 2460 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ |
OLD | NEW |