diff options
Diffstat (limited to 'plugins/pychrysalide/format')
-rw-r--r-- | plugins/pychrysalide/format/symbol.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/plugins/pychrysalide/format/symbol.c b/plugins/pychrysalide/format/symbol.c index c86b453..7ecc576 100644 --- a/plugins/pychrysalide/format/symbol.c +++ b/plugins/pychrysalide/format/symbol.c @@ -59,7 +59,7 @@ static PyObject *py_binary_symbol_new(PyTypeObject *, PyObject *, PyObject *); static void py_binary_symbol_init_gclass(GBinSymbolClass *, gpointer); /* Fournit une étiquette pour viser un symbole. */ -static char *g_binary_symbol_get_label_wrapper(const GBinSymbol *); +static char *py_binary_symbol_get_label_wrapper(const GBinSymbol *); /* Initialise une instance sur la base du dérivé de GObject. */ static int py_binary_symbol_init(PyObject *, PyObject *, PyObject *); @@ -194,7 +194,7 @@ static PyObject *py_binary_symbol_new(PyTypeObject *type, PyObject *args, PyObje static void py_binary_symbol_init_gclass(GBinSymbolClass *class, gpointer unused) { - class->get_label = g_binary_symbol_get_label_wrapper; + class->get_label = py_binary_symbol_get_label_wrapper; } @@ -211,12 +211,21 @@ static void py_binary_symbol_init_gclass(GBinSymbolClass *class, gpointer unused * * ******************************************************************************/ -static char *g_binary_symbol_get_label_wrapper(const GBinSymbol *symbol) +static char *py_binary_symbol_get_label_wrapper(const GBinSymbol *symbol) { char *result; /* Etiquette à retourner */ PyObject *pyobj; /* Objet Python concerné */ PyObject *pyret; /* Bilan de consultation */ +#define BINARY_SYMBOL_GET_LABEL_WRAPPER PYTHON_WRAPPER_DEF \ +( \ + _get_label, "$self, /", \ + METH_VARARGS, \ + "Abstract method used to provide the default label for a symbol.\n" \ + "\n" \ + "The returned value has to be a string." \ +) + result = NULL; pyobj = pygobject_new(G_OBJECT(symbol)); @@ -275,8 +284,8 @@ static int py_binary_symbol_init(PyObject *self, PyObject *args, PyObject *kwds) "Where range is a memory space defined by pychrysalide.arch.mrange and" \ " stype a pychrysalide.format.BinSymbol.SymbolType value." \ "\n" \ - "The following special method can be overridden:\n" \ - "* _get_label(self): provides a default label for the symbol." + "The following methods have to be defined for new classes:\n" \ + "* pychrysalide.format.BinSymbol._get_label()." /* Récupération des paramètres */ @@ -892,6 +901,7 @@ static int py_binary_symbol_set_label(PyObject *self, PyObject *value, void *clo PyTypeObject *get_python_binary_symbol_type(void) { static PyMethodDef binary_symbol_methods[] = { + BINARY_SYMBOL_GET_LABEL_WRAPPER, BINARY_SYMBOL_SET_FLAG_METHOD, BINARY_SYMBOL_UNSET_FLAG_METHOD, BINARY_SYMBOL_HAS_FLAG_METHOD, |