FirebirdSQL logo

IPluginModule

Interface IPluginModule — représente un module de plugin (bibliothèque dynamique). Doit être implémenté par l’auteur du plugin dans chaque module du plugin (une instance par module).

  1. doClean

    void doClean()

    Appelé par le gestionnaire de plugin avant que le module de plugin ne soit déchargé normalement.

IPluginSet

Interface IPluginSet — est un ensemble de plugins de ce type.Couramment utilisé par le code interne de Firebird, mais recommandé pour une utilisation dans les plugins qui chargent d’autres plugins.

  1. getName

    const char* getName()

    Renvoie le nom du plugin courant dans l’ensemble.

  2. getModuleName

    const char* getModuleName()

    Retourne le nom du module du plugin courant dans l’ensemble (dans le cas le plus simple, le même que le nom du plugin).

  3. getPlugin

    IPluginBase* getPlugin(StatusType* status)

    renvoie une instance du plugin courant, l’interface retournée doit être convertie en l’interface du plugin principal du type demandé dans la méthode IPluginManager::getPlugins(). Renvoie NULL s’il n’y a plus de plugins dans l’ensemble. Le nombre de liens du plugin renvoyé par cette fonction est incrémenté lorsqu’il est renvoyé — n’oubliez pas d’utiliser la méthode releasePlugin() de l’interface IPluginManager pour libérer les plugins retournés par cette méthode.

  4. next

    void next(StatusType* status)

    Définit un bouton bascule pour passer au plugin suivant dans la liste.

  5. set

    void set(StatusType* status, const char* list)

    Réinitialise l’interface : la fait fonctionner avec la liste des plugins fournie par le paramètre list. Le type de plugins reste le même.

IProvider

Interface IPluginModule — L’interface principale pour démarrer l’accès à la base de données/service.

  1. attachDatabase

    IAttachment* attachDatabase(StatusType* status,
                                const char* fileName,
                                unsigned dpbLength,
                                const unsigned char* dpb)

    Crée une connexion à une base de données existante. Remplace isc_attach_database().

  2. createDatabase

    IAttachment* createDatabase(StatusType* status,
                                const char* fileName,
                                unsigned dpbLength,
                                const unsigned char* dpb)

    Crée une nouvelle base de données et renvoie l’interface pour s’y connecter. Remplace isc_create_database().

  3. attachServiceManager

    IService* attachServiceManager(StatusType* status,
                                   const char* service,
                                   unsigned spbLength,
                                   const unsigned char* spb)

    Remplace isc_service_attach().

  4. shutdown

    void shutdown(StatusType* status, unsigned timeout, const int reason)

    Remplace fb_shutdown().

  5. setDbCryptCallback

    void setDbCryptCallback(IStatus* status, ICryptKeyCallback* cryptCallback)

    Définit l’interface de retour de chiffrement de base de données qui sera utilisée pour les connexions ultérieures à la base de données et aux services.

IResultSet

Interface IResultSet — remplace (avec des fonctionnalités étendues) certaines des fonctions isc_stmt_handle. Cette interface est retournée en appelant openCursor() à partir de IAttachment ou IStatement. Tous les appels à fetch…​ à l’exception de fetchNext() ne fonctionnent que pour le curseur bidirectionnel (ouvert avec l’option CURSOR_TYPE_SCROLLABLE).

  1. fetchNext

    int fetchNext(StatusType* status, void* message)

    sélectionne l’entrée suivante, remplace isc_dsql_fetch(). Cette méthode (et d’autres méthodes de récupération) renvoie le code de complétion Status::RESULT_NO_DATA lorsque l’EOF est atteint, et le statut Status::RESULT_OK lorsqu’il réussit.

  2. fetchPrior

    int fetchPrior(StatusType* status, void* message)

    Sélectionne l’enregistrement précédent.

  3. fetchFirst

    int fetchFirst(StatusType* status, void* message)

    Sélectionne la première entrée.

  4. fetchLast

    int fetchLast(StatusType* status, void* message)

    Sélectionne la dernière entrée.

  5. fetchAbsolute

    int fetchAbsolute(StatusType* status, int position, void* message)

    Récupère l’enregistrement à la position absolue dans le jeu de résultats.

  6. fetchRelative

    int fetchRelative(StatusType* status, int offset, void* message)

    Récupère l’enregistrement par position par rapport à l’enregistrement actif.

  7. isEof

    FB_BOOLEAN isEof(StatusType* status)

    Vérification de l’état EOF.

  8. isBof

    FB_BOOLEAN isBof(StatusType* status)

    Vérification de l’état BOF.

  9. getMetadata

    IMessageMetadata* getMetadata(StatusType* status)

    renvoie les métadonnées des messages dans le jeu de résultats, particulièrement utile lorsque le jeu de résultats est ouvert en appelant IAttachment::openCursor() avec le paramètre de format de sortie des métadonnées défini sur NULL (c’est la seule façon d’obtenir le format du message dans ce cas).

  10. close

    void close(IStatus* status)

    Ferme le jeu de résultats, libère l’interface en cas de succès.