summaryrefslogtreecommitdiff
path: root/src/format
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-07 15:00:14 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-07 15:00:14 (GMT)
commit83da8ea946dc50941838ec8b3951108f5e16642e (patch)
tree06d30655b95e856f2def3da0fab24067271de8b0 /src/format
parentc136e2c4c1ad02ea2e363fbe71ce54c6255793e2 (diff)
Described binary formats and improved their loading.
Diffstat (limited to 'src/format')
-rw-r--r--src/format/format-int.h4
-rw-r--r--src/format/format.c23
-rw-r--r--src/format/format.h3
3 files changed, 30 insertions, 0 deletions
diff --git a/src/format/format-int.h b/src/format/format-int.h
index 09586b9..354e616 100644
--- a/src/format/format-int.h
+++ b/src/format/format-int.h
@@ -40,6 +40,9 @@
/* Indique la désignation interne du format. */
typedef const char * (* format_get_name_fc) (const GBinFormat *);
+/* Fournit une description humaine du format. */
+typedef const char * (* format_get_desc_fc) (const GBinFormat *);
+
/*Assure l'interprétation d'un format en différé. */
typedef bool (* format_analyze_fc) (GBinFormat *, wgroup_id_t, GtkStatusStack *);
@@ -116,6 +119,7 @@ struct _GBinFormatClass
GObjectClass parent; /* A laisser en premier */
format_get_name_fc get_name; /* Désignation interne */
+ format_get_desc_fc get_desc; /* Désignation humaine */
format_analyze_fc analyze; /* Interprétation du format */
diff --git a/src/format/format.c b/src/format/format.c
index b28f4a7..e6cefc8 100644
--- a/src/format/format.c
+++ b/src/format/format.c
@@ -283,6 +283,29 @@ const char *g_binary_format_get_name(const GBinFormat *format)
/******************************************************************************
* *
+* Paramètres : format = description de l'exécutable à consulter. *
+* *
+* Description : Fournit une description humaine du format. *
+* *
+* Retour : Description du format. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+const char *g_binary_format_get_description(const GBinFormat *format)
+{
+ const char *result; /* Désignation à retourner */
+
+ result = G_BIN_FORMAT_GET_CLASS(format)->get_desc(format);
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : format = format chargé dont l'analyse est lancée. *
* gid = groupe de travail dédié. *
* status = barre de statut à tenir informée. *
diff --git a/src/format/format.h b/src/format/format.h
index 44d005c..e552f0c 100644
--- a/src/format/format.h
+++ b/src/format/format.h
@@ -61,6 +61,9 @@ GBinContent *g_binary_format_get_content(const GBinFormat *);
/* Indique la désignation interne du format. */
const char *g_binary_format_get_name(const GBinFormat *);
+/* Fournit une description humaine du format. */
+const char *g_binary_format_get_description(const GBinFormat *);
+
/* Assure l'interprétation d'un format en différé. */
bool g_binary_format_analyze(GBinFormat *, wgroup_id_t, GtkStatusStack *);