summaryrefslogtreecommitdiff
path: root/src/mangling/context-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mangling/context-int.h')
-rw-r--r--src/mangling/context-int.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/mangling/context-int.h b/src/mangling/context-int.h
index d361ff7..e34842c 100644
--- a/src/mangling/context-int.h
+++ b/src/mangling/context-int.h
@@ -21,23 +21,34 @@
*/
-#ifndef _FORMAT_MANGLING_CONTEXT_INT_H
-#define _FORMAT_MANGLING_CONTEXT_INT_H
+#ifndef _MANGLING_CONTEXT_INT_H
+#define _MANGLING_CONTEXT_INT_H
#include "context.h"
+#include "../common/ibuf.h"
+
+
/* Procède au décodage d'une chaîne de caractères. */
typedef bool (* demangle_fc) (GDemanglingContext *, const char *);
+/* Décode une définition de routine. */
+typedef GBinRoutine * (* decode_routine_fc) (GDemanglingContext *);
+
+/* Décode une définition de type. */
+typedef GDataType * (* decode_type_fc) (GDemanglingContext *);
+
/* Contexte de décodage (instance) */
struct _GDemanglingContext
{
GObject parent; /* A laisser en premier */
+ input_buffer buffer; /* Tampon de lecture */
+
union
{
GObject *gobj; /* Utile pour le nettoyage ! */
@@ -55,8 +66,11 @@ struct _GDemanglingContextClass
demangle_fc demangle_type; /* Décodage de type */
demangle_fc demangle_routine; /* Décodage de routine */
+ decode_type_fc decode_type; /* Décodage de type */
+ decode_routine_fc decode_routine; /* Décodage de routine */
+
};
-#endif /* _FORMAT_MANGLING_CONTEXT_INT_H */
+#endif /* _MANGLING_CONTEXT_INT_H */