Les plug-in personnalisés nécessitent une fonction initPlugin.
initPlugin permet au plug-in de charger et d'enregistrer les informations de configuration dont il aura besoin pour le score. La chaîne de connexion de base de données et le nom de fichier .ini sont fournis dans la chaîne configInfo. initPlugin est appelé une fois pour chaque type d'attribut utilisant un plug-in. Il s'agit d'objets partagés. Pour que le plug-in puisse être utilisé pour plusieurs types d'attribut, les informations de configuration doivent être enregistrées pour chaque type d'attribut. De cette façon, lorsque le score est appelé, il peut rechercher le type d'attribut approprié dans les informations de configuration.
const int initPlugin(const char *configInfo, const uint configSize, char *errorStr, const uint maxStrSize);
<ERROR>texte d'erreur</ERROR>
Voici un exemple de pseudocode d'une fonction de score :
const int initPlugin(const char *configInfo, const uint configSize, char *errorStr, const uint maxStrSize) { //créer une chaîne à partir de configInfo //faire une analyse syntaxique avec l'analyseur syntaxique XML //extraire DB_CONNECTION et CONFIG_FILE //se connecter à la base de données //sélectionner l'info de config dans la base de données //ouvrir CONFIG_FILE //lire l'info de config dans le fichier .ini //en cas d'erreur, créer une chaîne d'erreur terminée NULL et //strcpy dans le errorStr. Renvoyer -1. //s'il n'y a pas d'erreur, renvoyer 0. }
initPlugin doit renvoyer -1 en cas d'erreur.