com.ironcorelabs.sdk.DeviceCreateOpts Maven / Gradle / Ivy
// Automatically generated by rust_swig
package com.ironcorelabs.sdk;
public final class DeviceCreateOpts {
public DeviceCreateOpts() {
mNativeObj = init();
}
private static native long init();
public static DeviceCreateOpts create(DeviceName name) {
long a0 = 0;//TODO: use ptr::null() for corresponding constant
if (name != null) {
a0 = name.mNativeObj;
}
long ret = do_create(a0);
DeviceCreateOpts convRet = new DeviceCreateOpts(InternalPointerMarker.RAW_PTR, ret);
JNIReachabilityFence.reachabilityFence1(name);
return convRet;
}
private static native long do_create(long name);
public synchronized void delete() {
if (mNativeObj != 0) {
do_delete(mNativeObj);
mNativeObj = 0;
}
}
@Override
protected void finalize() throws Throwable {
try {
delete();
}
finally {
super.finalize();
}
}
private static native void do_delete(long me);
/*package*/ DeviceCreateOpts(InternalPointerMarker marker, long ptr) {
assert marker == InternalPointerMarker.RAW_PTR;
this.mNativeObj = ptr;
}
/*package*/ long mNativeObj;
}