summaryrefslogtreecommitdiff
path: root/src/plugins/plugin-def.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/plugin-def.h')
-rw-r--r--src/plugins/plugin-def.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/plugins/plugin-def.h b/src/plugins/plugin-def.h
index 6d4253e..3717035 100644
--- a/src/plugins/plugin-def.h
+++ b/src/plugins/plugin-def.h
@@ -223,14 +223,22 @@ typedef struct _plugin_interface
uint64_t magic; /* Vérification a minima */
plugin_abi_version_t abi_version; /* Version du protocole utilisé*/
- const char *gtp_name; /* Désignation du GType associé*/
- const char *name; /* Désignation humaine courte */
- const char *desc; /* Description plus loquace */
- const char *version; /* Version du greffon */
+ /**
+ * Les champs suivants ne sont généralement pas alloués dynamiquement,
+ * car issus des données des greffons natifs.
+ *
+ * Dans le cas des autres types d'extensions (par exemple ceux en Python),
+ * les éléments sont construits à la volée, donc à libérer après usage.
+ */
+
+ char *gtp_name; /* Désignation du GType associé*/
+ char *name; /* Désignation humaine courte */
+ char *desc; /* Description plus loquace */
+ char *version; /* Version du greffon */
bool container; /* Mise en place de greffons ? */
- const char **required; /* Pré-chargements requis */
+ char **required; /* Pré-chargements requis */
size_t required_count; /* Quantité de ces dépendances */
plugin_action_t *actions; /* Liste des actions gérées */
@@ -251,7 +259,7 @@ typedef struct _plugin_interface
#define AL(...) BUILD_PG_LIST(.actions, ((plugin_action_t []){ __VA_ARGS__ }))
-#define RL(...) BUILD_PG_LIST(.required, ((const char *[]){ __VA_ARGS__ }))
+#define RL(...) BUILD_PG_LIST(.required, ((char *[]){ __VA_ARGS__ }))
#define NO_REQ EMPTY_PG_LIST(.required)