The Meson Build System
http://mesonbuild.com/
47 lines
1.3 KiB
47 lines
1.3 KiB
#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; |
|
}
|
|
|