| 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 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 * Requires there to be a current isolate. | 402 * Requires there to be a current isolate. |
| 403 */ | 403 */ |
| 404 DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object); | 404 DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object); |
| 405 | 405 |
| 406 /** | 406 /** |
| 407 * Allocates a weak persistent handle for an object. | 407 * Allocates a weak persistent handle for an object. |
| 408 * | 408 * |
| 409 * This handle has the lifetime of the current isolate unless it is | 409 * This handle has the lifetime of the current isolate unless it is |
| 410 * explicitly deallocated by calling Dart_DeletePersistentHandle. | 410 * explicitly deallocated by calling Dart_DeletePersistentHandle. |
| 411 * | 411 * |
| 412 * If the object becomes unreachable the callback is invoked with the weak |
| 413 * persistent handle and the peer as arguments. This gives the native code the |
| 414 * ability to cleanup data associated with the object and to delete the weak |
| 415 * persistent handle. It is illegal to call into the VM from the callback, |
| 416 * except to delete the weak persistent handle. |
| 417 * |
| 412 * Requires there to be a current isolate. | 418 * Requires there to be a current isolate. |
| 413 * | 419 * |
| 414 * \param object An object. | 420 * \param object An object. |
| 415 * \param peer A pointer to a native object or NULL. This value is | 421 * \param peer A pointer to a native object or NULL. This value is |
| 416 * provided to callback when it is invoked. | 422 * provided to callback when it is invoked. |
| 417 * \param callback A function pointer that will be invoked sometime | 423 * \param callback A function pointer that will be invoked sometime |
| 418 * after the object is garbage collected. | 424 * after the object is garbage collected. |
| 419 * | 425 * |
| 420 * \return Success if the weak persistent handle was | 426 * \return Success if the weak persistent handle was |
| 421 * created. Otherwise, returns an error. | 427 * created. Otherwise, returns an error. |
| (...skipping 1917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2339 * | 2345 * |
| 2340 * \param object An object. | 2346 * \param object An object. |
| 2341 * \param peer A value to store in the peer field. | 2347 * \param peer A value to store in the peer field. |
| 2342 * | 2348 * |
| 2343 * \return Returns an error if 'object' is a subtype of Null, num, or | 2349 * \return Returns an error if 'object' is a subtype of Null, num, or |
| 2344 * bool. | 2350 * bool. |
| 2345 */ | 2351 */ |
| 2346 DART_EXPORT Dart_Handle Dart_SetPeer(Dart_Handle object, void* peer); | 2352 DART_EXPORT Dart_Handle Dart_SetPeer(Dart_Handle object, void* peer); |
| 2347 | 2353 |
| 2348 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ | 2354 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ |
| OLD | NEW |