FCITX_EXPORT_API FcitxConfiguration* fcitx_configuration_new(const char* name) { FcitxConfiguration* config = fcitx_utils_new(FcitxConfiguration); fcitx_utils_string_swap(&config->name, name); return fcitx_configuration_ref(config); }
FCITX_EXPORT_API FcitxDescription* fcitx_description_parse(FcitxConfiguration* config) { const char* localeDomain = fcitx_configuration_get_value_by_path(config, "DescriptionFile/LocaleDomain"); FcitxDescription* desc = fcitx_utils_new(FcitxDescription); fcitx_utils_string_swap(&desc->localeDomain, localeDomain); desc->rootConfig = fcitx_configuration_ref(config); do { find_structs(config, desc); if (desc->error) { break; } find_top_level_structs(config, desc); if (desc->error) { break; } } while(0); return desc; }
FCITX_EXPORT_API void fcitx_configuration_set_value(FcitxConfiguration* config, const char* value) { fcitx_utils_string_swap(&config->value, value); }
FCITX_EXPORT_API void fcitx_configuration_set_comment(FcitxConfiguration* config, const char* comment) { fcitx_utils_string_swap(&config->comment, comment); }
void FcitxInstanceSetDelayedIM(FcitxInstance* instance, const char* delayedIM) { fcitx_utils_string_swap(&instance->delayedIM, delayedIM); }