diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-12-07 20:33:21 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-12-07 20:33:21 (GMT) |
commit | c0af4cc392a246b05d41b7b7c05bbcd8b0cfb39e (patch) | |
tree | 0d645c71c40fc4b625271d0ab1ef8e7ebab04075 /src/arch/processor.c | |
parent | a13d12c758184449bf3305785ef33273802a761c (diff) |
Relied on GObject introspection and dynamic gtypes to inherit in Python.
Diffstat (limited to 'src/arch/processor.c')
-rw-r--r-- | src/arch/processor.c | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/src/arch/processor.c b/src/arch/processor.c index 4450208..4d7bacc 100644 --- a/src/arch/processor.c +++ b/src/arch/processor.c @@ -69,6 +69,8 @@ static void g_arch_processor_dispose(GArchProcessor *); /* Procède à la libération totale de la mémoire. */ static void g_arch_processor_finalize(GArchProcessor *); +/* Fournit un contexte générique pour l'exécution du processeur. */ +static GProcContext *_g_arch_processor_get_context(const GArchProcessor *); @@ -125,6 +127,8 @@ static void g_arch_processor_class_init(GArchProcessorClass *klass) object->dispose = (GObjectFinalizeFunc/* ! */)g_arch_processor_dispose; object->finalize = (GObjectFinalizeFunc)g_arch_processor_finalize; + klass->get_ctx = _g_arch_processor_get_context; + g_signal_new("changed", G_TYPE_ARCH_PROCESSOR, G_SIGNAL_RUN_LAST, @@ -225,28 +229,21 @@ static void g_arch_processor_finalize(GArchProcessor *proc) /****************************************************************************** * * -* Paramètres : proc = architecture visée par la procédure. * +* Paramètres : proc = architecture, spectatrice ici. * * * -* Description : Fournit un contexte propre au processeur d'une architecture. * +* Description : Fournit un contexte générique pour l'exécution du processeur.* * * -* Retour : Nouveau contexte mis à disposition. * +* Retour : Contexte mis en place. * * * * Remarques : - * * * ******************************************************************************/ -GProcContext *g_arch_processor_get_context(const GArchProcessor *proc) +static GProcContext *_g_arch_processor_get_context(const GArchProcessor *proc) { - GProcContext *result; /* Contexte à retourner */ - GArchProcessorClass *class; /* Classe de l'instance active */ + GProcContext *result; /* Instance à retourner */ - class = G_ARCH_PROCESSOR_GET_CLASS(proc); - - if (class->get_ctx != NULL) - result = class->get_ctx(proc); - - else - result = NULL; + result = g_object_new(G_TYPE_PROC_CONTEXT, NULL); return result; @@ -331,6 +328,32 @@ bool g_arch_processor_has_virtual_space(const GArchProcessor *proc) /****************************************************************************** * * +* Paramètres : proc = architecture visée par la procédure. * +* * +* Description : Fournit un contexte propre au processeur d'une architecture. * +* * +* Retour : Nouveau contexte mis à disposition. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GProcContext *g_arch_processor_get_context(const GArchProcessor *proc) +{ + GProcContext *result; /* Contexte à retourner */ + GArchProcessorClass *class; /* Classe de l'instance active */ + + class = G_ARCH_PROCESSOR_GET_CLASS(proc); + + result = class->get_ctx(proc); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : proc = architecture visée par la procédure. * * ctx = contexte lié à l'exécution du processeur. * * content = flux de données à analyser. * |