diff options
Diffstat (limited to 'src/analysis/db')
| -rw-r--r-- | src/analysis/db/item-int.h | 2 | ||||
| -rw-r--r-- | src/analysis/db/item.c | 20 | ||||
| -rw-r--r-- | src/analysis/db/item.h | 4 | ||||
| -rw-r--r-- | src/analysis/db/items/bookmark.c | 2 | ||||
| -rw-r--r-- | src/analysis/db/items/comment.c | 2 | ||||
| -rw-r--r-- | src/analysis/db/items/move.c | 2 | ||||
| -rw-r--r-- | src/analysis/db/items/switcher.c | 2 | 
7 files changed, 34 insertions, 0 deletions
diff --git a/src/analysis/db/item-int.h b/src/analysis/db/item-int.h index c2c8b31..d907100 100644 --- a/src/analysis/db/item-int.h +++ b/src/analysis/db/item-int.h @@ -80,6 +80,8 @@ struct _GDbItemClass  {      GObjectClass parent;                    /* A laisser en premier        */ +    DBFeatures feature;                     /* Fonctionnalité représentée  */ +      cmp_db_item_fc cmp;                     /* Comparaison entre éléments  */      recv_db_item_fc recv;                   /* Réception depuis le réseau  */ diff --git a/src/analysis/db/item.c b/src/analysis/db/item.c index 013703d..62e8ce9 100644 --- a/src/analysis/db/item.c +++ b/src/analysis/db/item.c @@ -174,6 +174,26 @@ static void g_db_item_finalize(GDbItem *item)  } + +/****************************************************************************** +*                                                                             * +*  Paramètres  : item = élément de collection à consulter.                    * +*                                                                             * +*  Description : Indique la fonctionnalité représentée par l'élément.         * +*                                                                             * +*  Retour      : Identifiant valide pour le protocole.                        * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +DBFeatures g_db_item_get_feature(const GDbItem *item) +{ +    return G_DB_ITEM_GET_CLASS(item)->feature; + +} + +  /******************************************************************************  *                                                                             *  *  Paramètres  : item = élément de collection à traiter.                      * diff --git a/src/analysis/db/item.h b/src/analysis/db/item.h index 2edf594..f8bb707 100644 --- a/src/analysis/db/item.h +++ b/src/analysis/db/item.h @@ -29,6 +29,7 @@  #include <stdbool.h> +#include "protocol.h"  #include "misc/timestamp.h"  #include "../../common/sqlite.h" @@ -56,6 +57,9 @@ typedef struct _GDbItemClass GDbItemClass;  /* Indique le type défini pour une base d'élément de collection générique. */  GType g_db_item_get_type(void); +/* Indique la fonctionnalité représentée par l'élément. */ +DBFeatures g_db_item_get_feature(const GDbItem *); +  /* Indique à l'élément qu'il se trouve du côté serveur. */  void g_db_item_set_server_side(GDbItem *); diff --git a/src/analysis/db/items/bookmark.c b/src/analysis/db/items/bookmark.c index 747053c..231e461 100644 --- a/src/analysis/db/items/bookmark.c +++ b/src/analysis/db/items/bookmark.c @@ -175,6 +175,8 @@ static void g_db_bookmark_class_init(GDbBookmarkClass *klass)      item = G_DB_ITEM_CLASS(klass); +    item->feature = DBF_BOOKMARKS; +      item->cmp = (cmp_db_item_fc)g_db_bookmark_cmp;      item->recv = (recv_db_item_fc)g_db_bookmark_recv_from_fd; diff --git a/src/analysis/db/items/comment.c b/src/analysis/db/items/comment.c index f601bd6..6ce3d05 100644 --- a/src/analysis/db/items/comment.c +++ b/src/analysis/db/items/comment.c @@ -188,6 +188,8 @@ static void g_db_comment_class_init(GDbCommentClass *klass)      item = G_DB_ITEM_CLASS(klass); +    item->feature = DBF_COMMENTS; +      item->cmp = (cmp_db_item_fc)g_db_comment_cmp;      item->recv = (recv_db_item_fc)g_db_comment_recv_from_fd; diff --git a/src/analysis/db/items/move.c b/src/analysis/db/items/move.c index ad574b0..cf54c9b 100644 --- a/src/analysis/db/items/move.c +++ b/src/analysis/db/items/move.c @@ -181,6 +181,8 @@ static void g_db_move_class_init(GDbMoveClass *klass)      item = G_DB_ITEM_CLASS(klass); +    item->feature = DBF_MOVES; +      item->cmp = (cmp_db_item_fc)g_db_move_cmp;      item->recv = (recv_db_item_fc)g_db_move_recv_from_fd; diff --git a/src/analysis/db/items/switcher.c b/src/analysis/db/items/switcher.c index e9182b4..a67040f 100644 --- a/src/analysis/db/items/switcher.c +++ b/src/analysis/db/items/switcher.c @@ -181,6 +181,8 @@ static void g_db_switcher_class_init(GDbSwitcherClass *klass)      item = G_DB_ITEM_CLASS(klass); +    item->feature = DBF_DISPLAY_SWITCHERS; +      item->cmp = (cmp_db_item_fc)g_db_switcher_cmp;      item->recv = (recv_db_item_fc)g_db_switcher_recv_from_fd;  | 
