#include #include #include 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; }