void platformServicePort(Dart_NativeArguments arguments) { Dart_EnterScope(); Dart_SetReturnValue(arguments, Dart_Null()); Dart_Port service_port = Dart_NewNativePort("PlatformService", wrappedPlatformService, true); if (service_port != ILLEGAL_PORT) { Dart_Handle send_port = HandleError(Dart_NewSendPort(service_port)); Dart_SetReturnValue(arguments, send_port); } Dart_ExitScope(); }
Dart_NativeFunction ResolveName(Dart_Handle name, int argc, bool* auto_setup_scope) { if (!Dart_IsString(name)) { return NULL; } Dart_NativeFunction result = NULL; if (auto_setup_scope == NULL) { return NULL; } Dart_EnterScope(); const char* cname; HandleError(Dart_StringToCString(name, &cname)); for (int i=0; function_list[i].name != NULL; ++i) { if (strcmp(function_list[i].name, cname) == 0) { *auto_setup_scope = true; result = function_list[i].function; break; } } if (result != NULL) { Dart_ExitScope(); return result; } for (int i=0; no_scope_function_list[i].name != NULL; ++i) { if (strcmp(no_scope_function_list[i].name, cname) == 0) { *auto_setup_scope = false; result = no_scope_function_list[i].function; break; } } Dart_ExitScope(); return result; }
void getVersion(Dart_NativeArguments arguments) { Dart_EnterScope(); Dart_Handle result = Dart_NewInteger(PDFLIB_MAJORVERSION); Dart_SetReturnValue(arguments, result); Dart_ExitScope(); }