diff options
Diffstat (limited to 'src/glibext/glinecursor.c')
-rw-r--r-- | src/glibext/glinecursor.c | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/src/glibext/glinecursor.c b/src/glibext/glinecursor.c index b4f5811..0245ebd 100644 --- a/src/glibext/glinecursor.c +++ b/src/glibext/glinecursor.c @@ -31,6 +31,9 @@ +/* ----------------------- FONCTIONNALITES D'UN SUIVI DE BASE ----------------------- */ + + /* Procède à l'initialisation d'une classe de suivi de position. */ static void g_line_cursor_class_init(GLineCursorClass *); @@ -45,6 +48,11 @@ static void g_line_cursor_finalize(GLineCursor *); +/* ---------------------------------------------------------------------------------- */ +/* FONCTIONNALITES D'UN SUIVI DE BASE */ +/* ---------------------------------------------------------------------------------- */ + + /* Détermine le type du gestionnaire de largeurs associées aux lignes. */ G_DEFINE_TYPE(GLineCursor, g_line_cursor, G_TYPE_OBJECT); @@ -131,6 +139,29 @@ static void g_line_cursor_finalize(GLineCursor *cursor) /****************************************************************************** * * +* Paramètres : cursor = suivi d'emplacement à dupliquer. * +* * +* Description : Réalise la copie d'un suivi d'emplacements. * +* * +* Retour : Nouvelle instance copiée. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GLineCursor *g_line_cursor_duplicate(const GLineCursor *cursor) +{ + GLineCursor *result; /* Instance à retourner */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->duplicate(cursor); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : cursor = premier suivi d'emplacement à comparer. * * other = second suivi d'emplacement à comparer. * * * @@ -176,3 +207,188 @@ bool g_line_cursor_is_valid(const GLineCursor *cursor) return result; } + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi d'emplacement à consulter. * +* * +* Description : Construit une étiquette de représentation d'un suivi. * +* * +* Retour : Etiquette à libérer de la mémoire après usage. * +* * +* Remarques : - * +* * +******************************************************************************/ + +char *g_line_cursor_build_label(const GLineCursor *cursor) +{ + char *result; /* Etiquette à retourner */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->build_label(cursor); + + return result; + +} + + + +/* ---------------------------------------------------------------------------------- */ +/* ENCADREMENT DES TRANSFERTS DE DONEES */ +/* ---------------------------------------------------------------------------------- */ + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions à sauvegarder. * +* pbuf = paquet de données où venir inscrire les infos. * +* * +* Description : Exporte la définition d'un emplacement dans un flux réseau. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_line_cursor_serialize(const GLineCursor *cursor, packed_buffer *pbuf) +{ + bool result; /* Bilan à retourner */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->serialize(cursor, pbuf); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions à charger. [OUT] * +* pbuf = paquet de données où venir inscrire les infos. * +* * +* Description : Importe la définition d'un emplacement depuis un flux réseau.* +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_line_cursor_unserialize(GLineCursor *cursor, packed_buffer *pbuf) +{ + bool result; /* Bilan à retourner */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->unserialize(cursor, pbuf); + + return result; + +} + + + +/* ---------------------------------------------------------------------------------- */ +/* LIENS AVEC UNE BASE DE DONNEES */ +/* ---------------------------------------------------------------------------------- */ + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions à traiter. * +* base = tronc commun pour les champs de la base de données. * +* * +* Description : Donne les éléments requis pour la construction d'une table. * +* * +* Retour : Partie de requête à insérer dans la requête globale. * +* * +* Remarques : - * +* * +******************************************************************************/ + +char *g_line_cursor_create_db_table(const GLineCursor *cursor, const char *base) +{ + char *result; /* Requête à retourner */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->create_db(base); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions à traiter. * +* base = tronc commun pour les champs de la base de données. * +* values = tableau d'éléments à compléter. [OUT] * +* count = nombre de descriptions renseignées. [OUT] * +* * +* Description : Décrit les colonnes utiles à un chargement de données. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_line_cursor_setup_load(const GLineCursor *cursor, const char *base, bound_value **values, size_t *count) +{ + bool result; /* Bilan à renvoyer */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->setup_load(base, values, count); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions dont la définition est à définir.* +* base = tronc commun pour les champs de la base de données. * +* values = tableau d'éléments à consulter. * +* count = nombre de descriptions renseignées. * +* * +* Description : Charge les valeurs utiles pour une localisation. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_line_cursor_load(GLineCursor *cursor, const char *base, const bound_value *values, size_t count) +{ + bool result; /* Bilan à renvoyer */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->load(cursor, base, values, count); + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : cursor = suivi de positions à traiter. * +* base = tronc commun pour les champs de la base de données. * +* values = couples de champs et de valeurs à lier. [OUT] * +* count = nombre de ces couples. [OUT] * +* * +* Description : Constitue les champs destinés à une insertion / modification.* +* * +* Retour : Bilan de l'opération : succès ou non. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_line_cursor_prepare_db_statement(const GLineCursor *cursor, const char *base, bound_value **values, size_t *count) +{ + bool result; /* Bilan à renvoyer */ + + result = G_LINE_CURSOR_GET_CLASS(cursor)->prepare(cursor, base, values, count); + + return result; + +} |