Skip to content

Commit b4bcd7d

Browse files
chore: Generate libflatpak.dart bindings and update README.md
1 parent 4862f62 commit b4bcd7d

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

bin/flatpak.dart

+29
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'dart:ffi';
2+
import 'package:ffi/ffi.dart';
23
import 'package:flatpak/src/libflatpak.dart';
34

45
class Flatpak {
@@ -15,9 +16,37 @@ class Flatpak {
1516
int micro = FLATPAK_MICRO_VERSION;
1617
return '$major.$minor.$micro';
1718
}
19+
20+
int getInstances() {
21+
Pointer<GPtrArray> instances = libFlatpak.flatpak_instance_get_all();
22+
return instances.ref.len;
23+
}
24+
25+
List<String> getSupportedArches() {
26+
Pointer<Pointer<Char>> supportedArches =
27+
libFlatpak.flatpak_get_supported_arches();
28+
29+
List<String> supportedArchesList = [];
30+
int index = 0;
31+
32+
while (true) {
33+
Pointer<Char> archPtr = supportedArches.elementAt(index).value;
34+
if (archPtr == nullptr) {
35+
break;
36+
}
37+
String arch = archPtr.cast<Utf8>().toDartString();
38+
supportedArchesList.add(arch);
39+
index++;
40+
}
41+
42+
malloc.free(supportedArches);
43+
44+
return supportedArchesList;
45+
}
1846
}
1947

2048
void main() {
2149
Flatpak flatpak = Flatpak();
2250
print("Flatpak version: ${flatpak.version()}");
51+
print("Supported arches: ${flatpak.getSupportedArches()}");
2352
}

0 commit comments

Comments
 (0)