IPluginManager
Interface IPluginManager
— API du gestionnaire de plugins.
-
registerPluginFactory
void registerPluginFactory(unsigned pluginType, const char* defaultName, IPluginFactory* factory)
Enregistre un constructeur de plugins nommée de ce type.
-
registerModule
void registerModule(IPluginModule* cleanup)
Enregistre le module de plugin.
-
unregisterModule
void unregisterModule(IPluginModule* cleanup)
Annule l’enregistrement du module plugin.
-
getPlugins
IPluginSet* getPlugins(StatusType* status, unsigned pluginType, const char* namesList, IFirebirdConf* firebirdConf)
Renvoie une interface
IPluginSet
qui permet d’accéder à une liste de plugins de ce type. Les noms des plugins inclus sont tirés de lanamesList
, s’ils sont absents (NULL
), alors ils proviennent des paramètres de configuration de ce type donnépluginType
. Si le paramètrefirebirdConf
est spécifié, il est utilisé à toutes fins de configuration (y compris l’obtention d’une liste de plugins et la navigation vers la méthodePluginFactory::createPlugin()
), s’il est manquant (NULL
), alors le paramètre par défaut (defirebird.conf
) est utilisé. -
getConfig
IConfig* getConfig(StatusType* status, const char* filename)
Renvoie l’interface IConfig pour le nom de fichier de configuration spécifié.Peut être utilisé par les plugins pour accéder aux fichiers de configuration avec un format standard, mais pas avec un nom par défaut.
-
releasePlugin
void releasePlugin(IPluginBase* plugin)
Libérez le plugin. Devrait être utilisé pour les plugins au lieu du simple
release()
en raison de la nécessité d’effectuer des actions supplémentaires avec le propriétaire du plugin avant de le publier.
Constantes définies par l’interface IPluginManager
(types de plugins) :
-
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