123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include<gio/gio.h>
- #include<stdio.h>
- #include<string.h>
- int main(int argc, char **argv) {
- GSettingsSchemaSource *src;
- GSettingsSchema *schema;
- GSettings *settings;
- GVariant *value;
- GError *error = NULL;
- src = g_settings_schema_source_new_from_directory("schemas",
- g_settings_schema_source_get_default(), TRUE, &error);
- if(error) {
- fprintf(stderr, "Fail: %s\n", error->message);
- g_error_free(error);
- return 1;
- }
- schema = g_settings_schema_source_lookup(src, "com.github.meson", FALSE);
- if(!schema) {
- fprintf(stderr, "Could not get schema from source.\n");
- return 2;
- }
- settings = g_settings_new_full(schema, NULL, NULL);
- if(!settings) {
- fprintf(stderr, "Could not get settings object.\n");
- return 3;
- }
- value = g_settings_get_value(settings, "greeting");
- if(!value) {
- fprintf(stderr, "Could not get value from settings.\n");
- return 4;
- }
- if(strcmp("Hello", g_variant_get_string(value, NULL)) != 0) {
- fprintf(stderr, "Value of setting is incorrect.\n");
- return 5;
- }
- g_variant_unref(value);
- g_object_unref(settings);
- g_settings_schema_unref(schema);
- g_settings_schema_source_unref(src);
- return 0;
- }
|