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