IPluginManager
Интерфейс IPluginManager — API диспетчера плагинов.
-
registerPluginFactory
void registerPluginFactory(unsigned pluginType, const char* defaultName, IPluginFactory* factory)Регистрирует именованную фабрику плагинов данного типа.
-
registerModule
void registerModule(IPluginModule* cleanup)Регистрирует модуль плагина.
-
unregisterModule
void unregisterModule(IPluginModule* cleanup)Разрегистрирует модуль плагина.
-
getPlugins
IPluginSet* getPlugins(StatusType* status, unsigned pluginType, const char* namesList, IFirebirdConf* firebirdConf)Возвращает интерфейс IPluginSet, предоставляющий доступ к спискуплагинов данного типа. Имена включенных плагинов берутся из namesList,если отсутствует (NULL), то из настроек конфигурации для данного типа
pluginType. Если указан параметрfirebirdConf, то он используется длявсех целей конфигурации (включая получение списка плагинов и переход кметодуPluginFactory::createPlugin()), если отсутствует (NULL), тоиспользуется настройка по умолчанию (изfirebird.conf). -
getConfig
IConfig* getConfig(StatusType* status, const char* filename)Возвращает интерфейс IConfig для заданного имени файла конфигурации.Может использоваться плагинами для доступа к файлам конфигурации состандартным форматом, но не с именем по умолчанию.
-
releasePlugin
void releasePlugin(IPluginBase* plugin)Освобождение данного плагина. Должен использоваться для плагинов вместопростой
release()из-за необходимости выполнять дополнительныедействия с владельцем плагина до фактического освобождения.
Константы, определенные интерфейсом IPluginManager (типы плагинов):
-
TYPE_PROVIDER
-
TYPE_AUTH_SERVER
-
TYPE_AUTH_CLIENT
-
TYPE_AUTH_USER_MANAGEMENT
-
TYPE_EXTERNAL_ENGINE
-
TYPE_TRACE
-
TYPE_WIRE_CRYPT
-
TYPE_DB_CRYPT
-
TYPE_KEY_HOLDER
-
TYPE_REPLICATOR