7 #ifndef _FCITX_ADDONMANAGER_H_ 8 #define _FCITX_ADDONMANAGER_H_ 12 #include <unordered_set> 14 #include <fcitx-utils/macros.h> 15 #include <fcitx/addonloader.h> 16 #include "fcitxcore_export.h" 27 class AddonManagerPrivate;
63 void registerDefaultLoader(StaticAddonRegistry *registry);
70 void registerLoader(std::unique_ptr<AddonLoader> loader);
77 void unregisterLoader(
const std::string &name);
94 void load(
const std::unordered_set<std::string> &enabled = {},
95 const std::unordered_set<std::string> &disabled = {});
119 AddonInstance *addon(
const std::string &name,
bool load =
false);
139 const std::vector<std::string> &loadedAddonNames()
const;
147 const AddonInfo *addonInfo(
const std::string &name)
const;
148 std::unordered_set<std::string> addonNames(AddonCategory category);
187 bool checkUpdate()
const;
197 void setAddonOptions(
198 std::unordered_map<std::string, std::vector<std::string>> options);
207 std::vector<std::string> addonOptions(
const std::string &name);
210 void setInstance(
Instance *instance);
211 std::unique_ptr<AddonManagerPrivate> d_ptr;
216 #endif // _FCITX_ADDONMANAGER_H_ An instance represents a standalone Fcitx instance.
Provide a Semantic version 2.0 implementation.
Base class for any addon in fcitx.