diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-07-07 06:32:43 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-07-07 06:32:43 (GMT) |
commit | 4c10dfa2a95cea6fc704d68066d0c284cfd79342 (patch) | |
tree | 5827bbc411459800747e21929daecdf99fde7dfd /plugins/pychrysalide/core | |
parent | 3f996be1e5858b54740bf92515795982a16b169a (diff) |
Rewrite core parts of the ROST API.
Diffstat (limited to 'plugins/pychrysalide/core')
-rw-r--r-- | plugins/pychrysalide/core/global.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/plugins/pychrysalide/core/global.c b/plugins/pychrysalide/core/global.c index ecaf2c6..9632e75 100644 --- a/plugins/pychrysalide/core/global.c +++ b/plugins/pychrysalide/core/global.c @@ -187,6 +187,52 @@ static PyObject *py_global_get_content_resolver(PyObject *self, PyObject *args) * Paramètres : self = objet Python concerné par l'appel. * * args = non utilisé ici. * * * +* Description : Fournit l'adresse de l'espace de noms principal pour ROST. * +* * +* Retour : Espace de noms racine de ROST ou NULL si aucun (!). * +* * +* Remarques : - * +* * +******************************************************************************/ + +static PyObject *py_global_get_rost_root_namespace(PyObject *self, PyObject *args) +{ + PyObject *result; /* Instance Python à retourner */ + GScanNamespace *root_ns; /* Espace de noms ROST racine */ + +#define GLOBAL_GET_ROST_ROOT_NAMESPACE_METHOD PYTHON_METHOD_DEF \ +( \ + get_rost_root_namespace, "", \ + METH_NOARGS, py_global, \ + "Get the root namespace for ROST." \ + "\n" \ + "The returned object is a pychrysalide.analysis.scan.ScanNamespace" \ + " instance used as singleton; it should not be *None*." \ +) + + root_ns = get_rost_root_namespace(); + + if (root_ns != NULL) + { + result = pygobject_new(G_OBJECT(root_ns)); + g_object_unref(G_OBJECT(root_ns)); + } + else + { + result = Py_None; + Py_INCREF(result); + } + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : self = objet Python concerné par l'appel. * +* args = non utilisé ici. * +* * * Description : Fournit l'adresse du projet courant. * * * * Retour : Adresse du résolveur global ou None si aucun. * @@ -289,6 +335,7 @@ bool populate_core_module_with_global(void) GLOBAL_IS_BATCH_MODE_METHOD, GLOBAL_GET_CONTENT_EXPLORER_METHOD, GLOBAL_GET_CONTENT_RESOLVER_METHOD, + GLOBAL_GET_ROST_ROOT_NAMESPACE_METHOD, GLOBAL_GET_CURRENT_PROJECT_METHOD, GLOBAL_SET_CURRENT_PROJECT_METHOD, { NULL } |