blob: b3a1985d1b9524b95337dc72196ead332ae53838 [file] [log] [blame]
// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Autogenerated by jnigen. DO NOT EDIT!
// ignore_for_file: annotate_overrides
// ignore_for_file: camel_case_extensions
// ignore_for_file: camel_case_types
// ignore_for_file: constant_identifier_names
// ignore_for_file: doc_directive_unknown
// ignore_for_file: file_names
// ignore_for_file: lines_longer_than_80_chars
// ignore_for_file: no_leading_underscores_for_local_identifiers
// ignore_for_file: non_constant_identifier_names
// ignore_for_file: overridden_fields
// ignore_for_file: unnecessary_cast
// ignore_for_file: unused_element
// ignore_for_file: unused_field
// ignore_for_file: unused_import
// ignore_for_file: unused_local_variable
// ignore_for_file: unused_shown_name
import "dart:isolate" show ReceivePort;
import "dart:ffi" as ffi;
import "package:jni/internal_helpers_for_jnigen.dart";
import "package:jni/jni.dart" as jni;
/// from: com.github.dart_lang.jnigen.SuspendFun
class SuspendFun extends jni.JObject {
@override
late final jni.JObjType<SuspendFun> $type = type;
SuspendFun.fromRef(
jni.JObjectPtr ref,
) : super.fromRef(ref);
static final _class =
jni.Jni.findJClass(r"com/github/dart_lang/jnigen/SuspendFun");
/// The type which includes information such as the signature of this class.
static const type = $SuspendFunType();
static final _id_new0 =
jni.Jni.accessors.getMethodIDOf(_class.reference, r"<init>", r"()V");
/// from: public void <init>()
/// The returned object must be released after use, by calling the [release] method.
factory SuspendFun() {
return SuspendFun.fromRef(jni.Jni.accessors
.newObjectWithArgs(_class.reference, _id_new0, []).object);
}
static final _id_sayHello = jni.Jni.accessors.getMethodIDOf(_class.reference,
r"sayHello", r"(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;");
/// from: public final java.lang.Object sayHello(kotlin.coroutines.Continuation continuation)
/// The returned object must be released after use, by calling the [release] method.
Future<jni.JString> sayHello() async {
final $p = ReceivePort();
final $c =
jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p));
jni.Jni.accessors.callMethodWithArgs(reference, _id_sayHello,
jni.JniCallType.objectType, [$c.reference]).object;
final $o = jni.JObjectPtr.fromAddress(await $p.first);
final $k = const jni.JStringType().getClass().reference;
if (!jni.Jni.env.IsInstanceOf($o, $k)) {
throw "Failed";
}
return const jni.JStringType().fromRef($o);
}
static final _id_sayHello1 = jni.Jni.accessors.getMethodIDOf(
_class.reference,
r"sayHello",
r"(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;");
/// from: public final java.lang.Object sayHello(java.lang.String string, kotlin.coroutines.Continuation continuation)
/// The returned object must be released after use, by calling the [release] method.
Future<jni.JString> sayHello1(
jni.JString string,
) async {
final $p = ReceivePort();
final $c =
jni.JObject.fromRef(ProtectedJniExtensions.newPortContinuation($p));
jni.Jni.accessors.callMethodWithArgs(reference, _id_sayHello1,
jni.JniCallType.objectType, [string.reference, $c.reference]).object;
final $o = jni.JObjectPtr.fromAddress(await $p.first);
final $k = const jni.JStringType().getClass().reference;
if (!jni.Jni.env.IsInstanceOf($o, $k)) {
throw "Failed";
}
return const jni.JStringType().fromRef($o);
}
}
final class $SuspendFunType extends jni.JObjType<SuspendFun> {
const $SuspendFunType();
@override
String get signature => r"Lcom/github/dart_lang/jnigen/SuspendFun;";
@override
SuspendFun fromRef(jni.JObjectPtr ref) => SuspendFun.fromRef(ref);
@override
jni.JObjType get superType => const jni.JObjectType();
@override
final superCount = 1;
@override
int get hashCode => ($SuspendFunType).hashCode;
@override
bool operator ==(Object other) {
return other.runtimeType == ($SuspendFunType) && other is $SuspendFunType;
}
}