Skip to content

Commit 5078222

Browse files
committed
Load native library
1 parent 74142a8 commit 5078222

File tree

1 file changed

+11
-20
lines changed

1 file changed

+11
-20
lines changed

src/main/java/org/purejava/linux/RuntimeHelper.java

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,14 @@
11
package org.purejava.linux;
22
// Generated by jextract
33

4-
import java.lang.foreign.Addressable;
5-
import java.lang.foreign.Linker;
6-
import java.lang.foreign.FunctionDescriptor;
7-
import java.lang.foreign.GroupLayout;
8-
import java.lang.foreign.SymbolLookup;
9-
import java.lang.foreign.MemoryAddress;
10-
import java.lang.foreign.MemoryLayout;
11-
import java.lang.foreign.MemorySegment;
12-
import java.lang.foreign.MemorySession;
13-
import java.lang.foreign.SegmentAllocator;
14-
import java.lang.foreign.ValueLayout;
4+
import org.slf4j.Logger;
5+
import org.slf4j.LoggerFactory;
6+
7+
import java.lang.foreign.*;
158
import java.lang.invoke.MethodHandle;
169
import java.lang.invoke.MethodHandles;
1710
import java.lang.invoke.MethodType;
18-
import java.io.File;
19-
import java.nio.file.Path;
20-
import java.nio.charset.StandardCharsets;
21-
import java.util.Arrays;
22-
import java.util.Optional;
23-
import java.util.stream.Stream;
24-
25-
import static java.lang.foreign.Linker.*;
11+
2612
import static java.lang.foreign.ValueLayout.*;
2713

2814
final class RuntimeHelper {
@@ -32,12 +18,17 @@ private RuntimeHelper() {}
3218
private final static ClassLoader LOADER = RuntimeHelper.class.getClassLoader();
3319
private final static MethodHandles.Lookup MH_LOOKUP = MethodHandles.lookup();
3420
private final static SymbolLookup SYMBOL_LOOKUP;
21+
private static final Logger LOG = LoggerFactory.getLogger(RuntimeHelper.class);
3522

3623
final static SegmentAllocator CONSTANT_ALLOCATOR =
3724
(size, align) -> MemorySegment.allocateNative(size, align, MemorySession.openImplicit());
3825

3926
static {
40-
27+
try {
28+
System.loadLibrary("appindicator3");
29+
} catch (UnsatisfiedLinkError e) {
30+
LOG.error("Native code library failed to load.\n", e);
31+
}
4132
SymbolLookup loaderLookup = SymbolLookup.loaderLookup();
4233
SYMBOL_LOOKUP = name -> loaderLookup.lookup(name).or(() -> LINKER.defaultLookup().lookup(name));
4334
}

0 commit comments

Comments
 (0)