The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
5 years ago
|
#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;
|
||
|
}
|