FirebirdSQL logo

IConfigManager

Interface IConfigManager — Une interface commune pour accéder à divers objets de configuration.

  1. getDirectory

    const char* getDirectory(unsigned code)

    Renvoie l’emplacement du répertoire correspondant dans l’instance courante de Firebird. Les codes d’annuaire de cet appel sont ci-dessous.

  2. getFirebirdConf

    IFirebirdConf* getFirebirdConf()

    Renvoie une interface permettant d’accéder aux valeurs de configuration par défaut (à partir de firebird.conf).

  3. getDatabaseConf

    IFirebirdConf* getDatabaseConf(const char* dbName)

    Renvoie une interface permettant d’accéder à une configuration spécifique à la base de données (prend en compte firebird.conf et la partie correspondante de database.conf).

  4. getPluginConfig

    IConfig* getPluginConfig(const char* configuredPlugin)

    Renvoie une interface permettant d’accéder à la configuration du plugin nommé.

  5. getInstallDirectory

    const char* getInstallDirectory()

    Renvoie le répertoire dans lequel Firebird est installé.

  6. getRootDirectory

    const char* getRootDirectory()

    Renvoie le répertoire racine de l’instance courante, dans le cas d’une instance unique, généralement le même que le répertoire d’installation.

  7. getDefaultSecurityDb

    const char* getDefaultSecurityDb()

    Renvoie le chemin d’accès par défaut (c’est-à-dire à l’exclusion des fichiers de configuration de compte) à la base de données de sécurité, utilisé principalement pour un usage interne, afin de garantir un accès correct à la base de données de sécurité sur un serveur avec plusieurs fournisseurs sans aucune configuration.

Catalogue des codes :

  • DIR_BIN — bin (utilitaires comme isql, gbak, gstat) ;

  • DIR_SBIN — sbin (fbguard et firebird serveur);

  • DIR_CONF — Répertoire des fichiers de configuration (firebird.conf, databases.conf, plugins.conf);

  • DIR_LIB — lib (fbclient, ib_util);

  • DIR_INC — include (ibase.h, firebird/Interfaces.h);

  • DIR_DOC — dossier de la documentation ;

  • DIR_UDF — UDF (ib_udf, fbudf);

  • DIR_SAMPLE — Dossier des exemples ;

  • DIR_SAMPLEDB — le répertoire où se trouve la base de données d’exemples (employee.fdb) ;

  • DIR_HELP — qli help (help.fdb);

  • DIR_INTL — Catalogue des bibliothèques d’internationalisation (fbintl) ;

  • DIR_MISC — divers fichiers (tels que le manifeste du programme de désinstallation, etc.) ;

  • DIR_SECDB — le répertoire dans lequel se trouve la base de données de sécurité (securityN.fdb) ;

  • DIR_MSG — le répertoire où se trouve le fichier de message (firebird.msg) ;

  • DIR_LOG — le répertoire dans lequel se trouve le fichier journal (firebird.log) ;

  • DIR_GUARD — répertoire dans lequel se trouve le service (fb_guard);

  • DIR_PLUGINS — Répertoire des plugins ([lib]Engine13.\{dll|so}).

IConfigEntry

Interface IConfigEntry — représente une entrée (Clé = Valeurs avec sous-titres possibles (sous-entrées)) dans le fichier de configuration de firebird.

  1. getName

    const char* getName()

    Renvoie le nom de la clé.

  2. getValue

    const char* getValue()

    Renvoie une valeur sous la forme d’une chaîne de caractères.

  3. getIntValue

    ISC_INT64 getIntValue()

    Traite la valeur comme un entier et la renvoie.

  4. getBoolValue

    FB_BOOLEAN getBoolValue()

    Traite la valeur comme booléenne et la renvoie.

  5. getSubConfig

    IConfig* getSubConfig(StatusType* status)

    Traite les sous-en-têtes comme un fichier de configuration séparé et renvoie l’interface IConfig correspondante.

docnext count = 8

IDecFloat16

L’interface IDecFloat16 permet de travailler avec le type de données DECFLOAT(16).

  1. toBcd

    void toBcd(const FB_DEC16* from, int* sign, unsigned char* bcd, int* exp)

    Convertit une valeur décimale à virgule flottante en BCD.

  2. toString

    void toString(StatusType* status, const FB_DEC16* from, unsigned bufferLength, char* buffer)

    Convertit une valeur décimale à virgule flottante en chaîne.

  3. fromBcd

    void fromBcd(int sign, const unsigned char* bcd, int exp, FB_DEC16* to)

    Collecte une valeur décimale à virgule flottante à partir de BCD.

  4. fromString

    void fromString(StatusType* status, const char* from, FB_DEC16* to)

    Collecte une valeur décimale à virgule flottante à partir d’une chaîne.

IDecFloat34

L’interface IDecFloat34 permet de travailler avec le type de données DECFLOAT(34).

  1. toBcd

    void toBcd(const FB_DEC34* from, int* sign, unsigned char* bcd, int* exp)

    Convertit une valeur décimale à virgule flottante en BCD.

  2. toString

    void toString(StatusType* status, const FB_DEC34* from, unsigned bufferLength, char* buffer)

    Convertit une valeur décimale à virgule flottante en chaîne.

  3. fromBcd

    void fromBcd(int sign, const unsigned char* bcd, int exp, FB_DEC34* to)

    Collecte une valeur décimale à virgule flottante à partir de BCD.

  4. fromString

    void fromString(StatusType* status, const char* from, FB_DEC34* to)

    Collecte une valeur décimale à virgule flottante à partir d’une chaîne.

Objets non-frontaux utilisés dans l’API

Note

Ils se trouvent dans l’en-tête spécial Message.h C++

Les 3 classes suivantes sont utilisées pour représenter les types DATE, TIME et TIMESTAMP (datetime) lors de l’utilisation de la macro FB_MESSAGE. Les membres de la structure de données qui représentent un message statique correspondent aux champs des types FB_DATE/FB_TIME/FB_TIMESTAMP et auront le type de l’une de ces classes. Pour accéder aux champs de date et d’heure dans les messages statiques, vous devez connaître les méthodes et les membres de la classe (qui sont suffisamment auto-descriptifs pour ne pas être décrits ici).

FbDate

Méthodes de classe FbDate:

  1. decode

    void decode(IUtil* util,
                unsigned* year,
                unsigned* month,
                unsigned* day)
  2. getYear

    unsigned getYear(IUtil* util)
  3. getMonth

    unsigned getMonth(IUtil* util)
  4. getDay

    unsigned getDay(IUtil* util)
  5. encode

    void encode(IUtil* util,
                unsigned year,
                unsigned month,
                unsigned day)

FbTime

Méthodes de classe FbTime:

  1. decode

    void decode(IUtil* util,
                unsigned* hours,
                unsigned* minutes,
                unsigned* seconds,
                unsigned* fractions)
  2. getHours

    unsigned getHours(IUtil* util)
  3. getMinutes

    unsigned getMinutes(IUtil* util)
  4. getSeconds

    unsigned getSeconds(IUtil* util)
  5. getFractions

    unsigned getFractions(IUtil* util)
  6. encode

    void encode(IUtil* util,
                unsigned hours,
                unsigned minutes,
                unsigned seconds,
                unsigned fractions)

FbTimestamp

Membres du groupe `FbTimestamp `:

  1. date

    FbDate date;
  2. time

    FbTime time;

FbChar et FbVarChar

Les deux modèles suivants sont utilisés dans les messages statiques pour représenter les champs CHAR(N) et VARCHAR(N).

template <unsigned N>
struct FbChar
{
    char str[N];
};
template <unsigned N>
struct FbVarChar
{
    ISC_USHORT length;
    char str[N];
    void set(const char* s);
};

Conclusion

Trois types de plugins sont absents de ce document : ExternalEngine, Trace et Replicator.Des informations à leur sujet seront disponibles dans le prochain numéro.