summaryrefslogtreecommitdiff
path: root/src/analysis/db
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-10-14 16:24:34 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-10-14 16:24:34 (GMT)
commit722539ffc6005c6cd9c8ebd37f93999014ae6d24 (patch)
tree5f78dce6057f904d689c9ff073cc69f33d057abf /src/analysis/db
parent8dff3daac4d2dc98b90adaecea834fb65db4fb10 (diff)
Handled Dalvik simple switch cases without fallthrough.
Diffstat (limited to 'src/analysis/db')
-rw-r--r--src/analysis/db/item-int.h2
-rw-r--r--src/analysis/db/item.c20
-rw-r--r--src/analysis/db/item.h4
-rw-r--r--src/analysis/db/items/bookmark.c2
-rw-r--r--src/analysis/db/items/comment.c2
-rw-r--r--src/analysis/db/items/move.c2
-rw-r--r--src/analysis/db/items/switcher.c2
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;