FCITX_EXPORT_API FcitxInputMethodManager* fcitx_input_method_manager_new(FcitxAddonManager* addonManager) { FcitxInputMethodManager* self = fcitx_utils_new(FcitxInputMethodManager); self->addonManager = addonManager; self->groups = fcitx_ptr_array_new((FcitxDestroyNotify) fcitx_input_method_group_free); self->ims = fcitx_dict_new(NULL); return fcitx_input_method_manager_ref(self); }
FCITX_EXPORT_API FcitxAddonManager* fcitx_addon_manager_new(FcitxStandardPath* standardPath) { FcitxAddonManager* manager = fcitx_utils_new(FcitxAddonManager); manager->resolvers = fcitx_dict_new(fcitx_addon_resolver_free); manager->standardPath = fcitx_standard_path_ref(standardPath); manager->addons = fcitx_dict_new((FcitxDestroyNotify) fcitx_addon_free); manager->loadedAddons = fcitx_ptr_array_new(NULL); manager->properties = fcitx_dict_new(NULL); return fcitx_addon_manager_ref(manager); }