diff options
Diffstat (limited to 'plugins/pychrysalide/analysis/scan')
| -rw-r--r-- | plugins/pychrysalide/analysis/scan/scanner.c | 46 | 
1 files changed, 46 insertions, 0 deletions
| diff --git a/plugins/pychrysalide/analysis/scan/scanner.c b/plugins/pychrysalide/analysis/scan/scanner.c index bf5a5f5..befbc80 100644 --- a/plugins/pychrysalide/analysis/scan/scanner.c +++ b/plugins/pychrysalide/analysis/scan/scanner.c @@ -188,6 +188,51 @@ static PyObject *py_content_scanner_analyze(PyObject *self, PyObject *args)  /******************************************************************************  *                                                                             * +*  Paramètres  : self    = objet Python concerné par l'appel.                 * +*                closure = non utilisé ici.                                   * +*                                                                             * +*  Description : Indique le chemin d'un éventuel fichier de source.           * +*                                                                             * +*  Retour      : Chemin d'un éventuel fichier de définitions ou NULL.         * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +static PyObject *py_content_scanner_get_filename(PyObject *self, void *closure) +{ +    PyObject *result;                       /* Valeur à retourner          */ +    GContentScanner *scanner;               /* Analyseur à consulter       */ +    const char *filename;                   /* Chemin d'accès à transmettre*/ + +#define CONTENT_SCANNER_FILENAME_ATTRIB PYTHON_GET_DEF_FULL     \ +(                                                               \ +    filename, py_content_scanner,                               \ +    "Provide the access path to the source file of the rules'"  \ +    " definition, or *None* if these rules have not been loaded"\ +    " from memory."                                             \ +) + +    scanner = G_CONTENT_SCANNER(pygobject_get(self)); + +    filename = g_content_scanner_get_filename(scanner); + +    if (filename != NULL) +        result = PyUnicode_FromString(filename); + +    else +    { +        result = Py_None; +        Py_INCREF(result); +    } + +    return result; + +} + + +/****************************************************************************** +*                                                                             *  *  Paramètres  : -                                                            *  *                                                                             *  *  Description : Fournit un accès à une définition de type à diffuser.        * @@ -206,6 +251,7 @@ PyTypeObject *get_python_content_scanner_type(void)      };      static PyGetSetDef py_content_scanner_getseters[] = { +        CONTENT_SCANNER_FILENAME_ATTRIB,          { NULL }      }; | 
