Skip to content

Commit ad9d75d

Browse files
committed
Add method app_indicator_new_with_path
1 parent d1dec7d commit ad9d75d

File tree

6 files changed

+71
-28
lines changed

6 files changed

+71
-28
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ As the according jar has a size of ~9,6M, I decided to provide a **reduced varia
4747
- app_indicator_get_status
4848
- app_indicator_get_title
4949
- app_indicator_new
50+
- app_indicator_new_with_path
5051
- app_indicator_set_attention_icon
5152
- app_indicator_set_icon
5253
- app_indicator_set_label

src/main/java/org/purejava/appindicator/app_indicator_h.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,22 @@ public static MemorySegment app_indicator_new(MemorySegment id, MemorySegment ic
695695
throw new AssertionError("should not reach here", ex$);
696696
}
697697
}
698+
public static MethodHandle app_indicator_new_with_path$MH() {
699+
return RuntimeHelper.requireNonNull(constants$7.app_indicator_new_with_path$MH,"app_indicator_new_with_path");
700+
}
701+
/**
702+
* {@snippet :
703+
* AppIndicator* app_indicator_new_with_path(const gchar* id, const gchar* icon_name, AppIndicatorCategory category, const gchar* icon_theme_path);
704+
* }
705+
*/
706+
public static MemorySegment app_indicator_new_with_path(MemorySegment id, MemorySegment icon_name, int category, MemorySegment icon_theme_path) {
707+
var mh$ = app_indicator_new_with_path$MH();
708+
try {
709+
return (java.lang.foreign.MemorySegment)mh$.invokeExact(id, icon_name, category, icon_theme_path);
710+
} catch (Throwable ex$) {
711+
throw new AssertionError("should not reach here", ex$);
712+
}
713+
}
698714
public static MethodHandle app_indicator_set_status$MH() {
699715
return RuntimeHelper.requireNonNull(constants$7.app_indicator_set_status$MH,"app_indicator_set_status");
700716
}
@@ -760,7 +776,7 @@ public static void app_indicator_set_icon(MemorySegment self, MemorySegment icon
760776
}
761777
}
762778
public static MethodHandle app_indicator_set_label$MH() {
763-
return RuntimeHelper.requireNonNull(constants$7.app_indicator_set_label$MH,"app_indicator_set_label");
779+
return RuntimeHelper.requireNonNull(constants$8.app_indicator_set_label$MH,"app_indicator_set_label");
764780
}
765781
/**
766782
* {@snippet :
@@ -856,7 +872,7 @@ public static int app_indicator_get_status(MemorySegment self) {
856872
}
857873
}
858874
public static MethodHandle app_indicator_get_icon$MH() {
859-
return RuntimeHelper.requireNonNull(constants$8.app_indicator_get_icon$MH,"app_indicator_get_icon");
875+
return RuntimeHelper.requireNonNull(constants$9.app_indicator_get_icon$MH,"app_indicator_get_icon");
860876
}
861877
/**
862878
* {@snippet :
@@ -952,7 +968,7 @@ public static int app_indicator_get_ordering_index(MemorySegment self) {
952968
}
953969
}
954970
public static MethodHandle app_indicator_build_menu_from_desktop$MH() {
955-
return RuntimeHelper.requireNonNull(constants$9.app_indicator_build_menu_from_desktop$MH,"app_indicator_build_menu_from_desktop");
971+
return RuntimeHelper.requireNonNull(constants$10.app_indicator_build_menu_from_desktop$MH,"app_indicator_build_menu_from_desktop");
956972
}
957973
/**
958974
* {@snippet :
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Generated by jextract
2+
3+
package org.purejava.appindicator;
4+
5+
import java.lang.invoke.MethodHandle;
6+
import java.lang.invoke.VarHandle;
7+
import java.nio.ByteOrder;
8+
import java.lang.foreign.*;
9+
import static java.lang.foreign.ValueLayout.*;
10+
final class constants$10 {
11+
12+
// Suppresses default constructor, ensuring non-instantiability.
13+
private constants$10() {}
14+
static final FunctionDescriptor app_indicator_build_menu_from_desktop$FUNC = FunctionDescriptor.ofVoid(
15+
Constants$root.C_POINTER$LAYOUT,
16+
Constants$root.C_POINTER$LAYOUT,
17+
Constants$root.C_POINTER$LAYOUT
18+
);
19+
static final MethodHandle app_indicator_build_menu_from_desktop$MH = RuntimeHelper.downcallHandle(
20+
"app_indicator_build_menu_from_desktop",
21+
constants$10.app_indicator_build_menu_from_desktop$FUNC
22+
);
23+
}
24+
25+

src/main/java/org/purejava/appindicator/constants$7.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ final class constants$7 {
1818
"app_indicator_new",
1919
constants$7.app_indicator_new$FUNC
2020
);
21+
static final FunctionDescriptor app_indicator_new_with_path$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT,
22+
Constants$root.C_POINTER$LAYOUT,
23+
Constants$root.C_POINTER$LAYOUT,
24+
Constants$root.C_INT$LAYOUT,
25+
Constants$root.C_POINTER$LAYOUT
26+
);
27+
static final MethodHandle app_indicator_new_with_path$MH = RuntimeHelper.downcallHandle(
28+
"app_indicator_new_with_path",
29+
constants$7.app_indicator_new_with_path$FUNC
30+
);
2131
static final FunctionDescriptor app_indicator_set_status$FUNC = FunctionDescriptor.ofVoid(
2232
Constants$root.C_POINTER$LAYOUT,
2333
Constants$root.C_INT$LAYOUT
@@ -50,15 +60,6 @@ final class constants$7 {
5060
"app_indicator_set_icon",
5161
constants$7.app_indicator_set_icon$FUNC
5262
);
53-
static final FunctionDescriptor app_indicator_set_label$FUNC = FunctionDescriptor.ofVoid(
54-
Constants$root.C_POINTER$LAYOUT,
55-
Constants$root.C_POINTER$LAYOUT,
56-
Constants$root.C_POINTER$LAYOUT
57-
);
58-
static final MethodHandle app_indicator_set_label$MH = RuntimeHelper.downcallHandle(
59-
"app_indicator_set_label",
60-
constants$7.app_indicator_set_label$FUNC
61-
);
6263
}
6364

6465

src/main/java/org/purejava/appindicator/constants$8.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ final class constants$8 {
99

1010
// Suppresses default constructor, ensuring non-instantiability.
1111
private constants$8() {}
12+
static final FunctionDescriptor app_indicator_set_label$FUNC = FunctionDescriptor.ofVoid(
13+
Constants$root.C_POINTER$LAYOUT,
14+
Constants$root.C_POINTER$LAYOUT,
15+
Constants$root.C_POINTER$LAYOUT
16+
);
17+
static final MethodHandle app_indicator_set_label$MH = RuntimeHelper.downcallHandle(
18+
"app_indicator_set_label",
19+
constants$8.app_indicator_set_label$FUNC
20+
);
1221
static final FunctionDescriptor app_indicator_set_ordering_index$FUNC = FunctionDescriptor.ofVoid(
1322
Constants$root.C_POINTER$LAYOUT,
1423
Constants$root.C_INT$LAYOUT
@@ -46,13 +55,6 @@ final class constants$8 {
4655
"app_indicator_get_status",
4756
constants$8.app_indicator_get_status$FUNC
4857
);
49-
static final FunctionDescriptor app_indicator_get_icon$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT,
50-
Constants$root.C_POINTER$LAYOUT
51-
);
52-
static final MethodHandle app_indicator_get_icon$MH = RuntimeHelper.downcallHandle(
53-
"app_indicator_get_icon",
54-
constants$8.app_indicator_get_icon$FUNC
55-
);
5658
}
5759

5860

src/main/java/org/purejava/appindicator/constants$9.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ final class constants$9 {
99

1010
// Suppresses default constructor, ensuring non-instantiability.
1111
private constants$9() {}
12+
static final FunctionDescriptor app_indicator_get_icon$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT,
13+
Constants$root.C_POINTER$LAYOUT
14+
);
15+
static final MethodHandle app_indicator_get_icon$MH = RuntimeHelper.downcallHandle(
16+
"app_indicator_get_icon",
17+
constants$9.app_indicator_get_icon$FUNC
18+
);
1219
static final FunctionDescriptor app_indicator_get_attention_icon$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT,
1320
Constants$root.C_POINTER$LAYOUT
1421
);
@@ -44,15 +51,6 @@ final class constants$9 {
4451
"app_indicator_get_ordering_index",
4552
constants$9.app_indicator_get_ordering_index$FUNC
4653
);
47-
static final FunctionDescriptor app_indicator_build_menu_from_desktop$FUNC = FunctionDescriptor.ofVoid(
48-
Constants$root.C_POINTER$LAYOUT,
49-
Constants$root.C_POINTER$LAYOUT,
50-
Constants$root.C_POINTER$LAYOUT
51-
);
52-
static final MethodHandle app_indicator_build_menu_from_desktop$MH = RuntimeHelper.downcallHandle(
53-
"app_indicator_build_menu_from_desktop",
54-
constants$9.app_indicator_build_menu_from_desktop$FUNC
55-
);
5654
}
5755

5856

0 commit comments

Comments
 (0)