7#ifndef RUNTIME_INCLUDE_DART_API_DL_H_
8#define RUNTIME_INCLUDE_DART_API_DL_H_
46#define DART_NATIVE_API_DL_SYMBOLS(F) \
49 F(Dart_PostCObject, bool, (Dart_Port_DL port_id, Dart_CObject * message)) \
50 F(Dart_PostInteger, bool, (Dart_Port_DL port_id, int64_t message)) \
51 F(Dart_NewNativePort, Dart_Port_DL, \
52 (const char* name, Dart_NativeMessageHandler_DL handler, \
53 bool handle_concurrently)) \
54 F(Dart_CloseNativePort, bool, (Dart_Port_DL native_port_id))
57#define DART_API_DL_SYMBOLS(F) \
60 F(Dart_IsError, bool, (Dart_Handle handle)) \
61 F(Dart_IsApiError, bool, (Dart_Handle handle)) \
62 F(Dart_IsUnhandledExceptionError, bool, (Dart_Handle handle)) \
63 F(Dart_IsCompilationError, bool, (Dart_Handle handle)) \
64 F(Dart_IsFatalError, bool, (Dart_Handle handle)) \
65 F(Dart_GetError, const char*, (Dart_Handle handle)) \
66 F(Dart_ErrorHasException, bool, (Dart_Handle handle)) \
67 F(Dart_ErrorGetException, Dart_Handle, (Dart_Handle handle)) \
68 F(Dart_ErrorGetStackTrace, Dart_Handle, (Dart_Handle handle)) \
69 F(Dart_NewApiError, Dart_Handle, (const char* error)) \
70 F(Dart_NewCompilationError, Dart_Handle, (const char* error)) \
71 F(Dart_NewUnhandledExceptionError, Dart_Handle, (Dart_Handle exception)) \
72 F(Dart_PropagateError, void, (Dart_Handle handle)) \
74 F(Dart_HandleFromPersistent, Dart_Handle, (Dart_PersistentHandle object)) \
75 F(Dart_HandleFromWeakPersistent, Dart_Handle, \
76 (Dart_WeakPersistentHandle object)) \
77 F(Dart_NewPersistentHandle, Dart_PersistentHandle, (Dart_Handle object)) \
78 F(Dart_SetPersistentHandle, void, \
79 (Dart_PersistentHandle obj1, Dart_Handle obj2)) \
80 F(Dart_DeletePersistentHandle, void, (Dart_PersistentHandle object)) \
81 F(Dart_NewWeakPersistentHandle, Dart_WeakPersistentHandle, \
82 (Dart_Handle object, void* peer, intptr_t external_allocation_size, \
83 Dart_HandleFinalizer callback)) \
84 F(Dart_DeleteWeakPersistentHandle, void, (Dart_WeakPersistentHandle object)) \
85 F(Dart_NewFinalizableHandle, Dart_FinalizableHandle, \
86 (Dart_Handle object, void* peer, intptr_t external_allocation_size, \
87 Dart_HandleFinalizer callback)) \
88 F(Dart_DeleteFinalizableHandle, void, \
89 (Dart_FinalizableHandle object, Dart_Handle strong_ref_to_object)) \
91 F(Dart_CurrentIsolate, Dart_Isolate, (void)) \
92 F(Dart_ExitIsolate, void, (void)) \
93 F(Dart_EnterIsolate, void, (Dart_Isolate)) \
95 F(Dart_Post, bool, (Dart_Port_DL port_id, Dart_Handle object)) \
96 F(Dart_NewSendPort, Dart_Handle, (Dart_Port_DL port_id)) \
97 F(Dart_SendPortGetId, Dart_Handle, \
98 (Dart_Handle port, Dart_Port_DL * port_id)) \
100 F(Dart_EnterScope, void, (void)) \
101 F(Dart_ExitScope, void, (void)) \
103 F(Dart_IsNull, bool, (Dart_Handle)) \
104 F(Dart_Null, Dart_Handle, (void))
109#define DART_API_DEPRECATED_DL_SYMBOLS(F) \
110 F(Dart_UpdateExternalSize, void, \
111 (Dart_WeakPersistentHandle object, intptr_t external_allocation_size)) \
112 F(Dart_UpdateFinalizableExternalSize, void, \
113 (Dart_FinalizableHandle object, Dart_Handle strong_ref_to_object, \
114 intptr_t external_allocation_size))
116#define DART_API_ALL_DL_SYMBOLS(F) \
117 DART_NATIVE_API_DL_SYMBOLS(F) \
118 DART_API_DL_SYMBOLS(F)
134#if defined(__CYGWIN__)
135#error Tool chain and platform not supported.
137#if defined(DART_SHARED_LIB)
138#define DART_EXPORT_DL DART_EXTERN_C __declspec(dllexport)
140#define DART_EXPORT_DL DART_EXTERN_C
144#if defined(DART_SHARED_LIB)
145#define DART_EXPORT_DL DART_EXTERN_C __attribute__((visibility("default")))
147#define DART_EXPORT_DL DART_EXTERN_C
150#error Tool chain not supported.
154#define DART_API_DL_DECLARATIONS(name, R, A) \
155 typedef R(*name##_Type) A; \
156 DART_EXPORT_DL name##_Type name##_DL;
161#undef DART_API_DL_DECLARATIONS
DART_EXPORT intptr_t Dart_InitializeApiDL(void *data)
void(* Dart_NativeMessageHandler_DL)(Dart_Port_DL dest_port_id, Dart_CObject *message)
#define DART_API_DL_DECLARATIONS(name, R, A)
#define DART_API_ALL_DL_SYMBOLS(F)
#define DART_API_DEPRECATED_DL_SYMBOLS(F)