diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c | |
Diffstat (limited to 'vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c')
| -rw-r--r-- | vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c b/vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c new file mode 100644 index 0000000..d6f41a6 --- /dev/null +++ b/vcpkg/scripts/test_ports/vcpkg-ci-gobject-introspection/project/main.c @@ -0,0 +1,39 @@ +#include <girepository.h> +#include <stdio.h> + +int main() +{ + GError *error = NULL; + + GIRepository *repository = g_irepository_get_default(); + GSList* paths = g_irepository_get_search_path(); + for (; paths != NULL; paths = paths->next) + g_message("Search path entry: %s\n", (const char*)paths->data); + + GITypelib *typelib = g_irepository_require(repository, "GIRepository", NULL, 0, &error); + if (error) + { + g_error("ERROR: %s\n", error->message); + return 1; + } + + GIBaseInfo *base_info = g_irepository_find_by_name(repository, "GIRepository", "get_minor_version"); + if (!base_info) + { + g_error("ERROR: %s\n", "Could not find GIRepository get_minor_version"); + return 1; + } + + GIArgument retval; + if (!g_function_info_invoke((GIFunctionInfo *)base_info, NULL, 0, NULL, 0, &retval, &error)) + { + g_error("ERROR: %s\n", error->message); + return 1; + } + + g_message("GI Repository minor version: %d", retval.v_uint); + + g_base_info_unref(base_info); + + return 0; +} |