From c9ee0db8f8012eb523ef26de6b8a0b86181c2609 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Wed, 12 Dec 2018 04:13:36 +0100
Subject: Provided access to loaded content from Python.

---
 plugins/pychrysalide/analysis/loaded.c | 39 ++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/plugins/pychrysalide/analysis/loaded.c b/plugins/pychrysalide/analysis/loaded.c
index ac8176f..6801ec3 100644
--- a/plugins/pychrysalide/analysis/loaded.c
+++ b/plugins/pychrysalide/analysis/loaded.c
@@ -52,6 +52,9 @@ static PyObject *py_loaded_content_detect_obfuscators(PyObject *, PyObject *);
 /* Détermine le nombre de vues disponibles pour un contenu. */
 static PyObject *py_loaded_content_count_views(PyObject *, PyObject *);
 
+/* Fournit le contenu représenté de l'élément chargé. */
+static PyObject *py_loaded_content_get_content(PyObject *, void *);
+
 
 
 /******************************************************************************
@@ -189,6 +192,38 @@ static PyObject *py_loaded_content_count_views(PyObject *self, PyObject *args)
 
 /******************************************************************************
 *                                                                             *
+*  Paramètres  : self    = objet Python concerné par l'appel.                 *
+*                closure = non utilisé ici.                                   *
+*                                                                             *
+*  Description : Fournit le contenu représenté de l'élément chargé.           *
+*                                                                             *
+*  Retour      : Contenu représenté.                                          *
+*                                                                             *
+*  Remarques   : -                                                            *
+*                                                                             *
+******************************************************************************/
+
+static PyObject *py_loaded_content_get_content(PyObject *self, void *closure)
+{
+    PyObject *result;                       /* Instance Python à retourner */
+    GLoadedContent *content;                /* Version GLib de l'élément   */
+    GBinContent *bincnt;                    /* Contenu binaire associé     */
+
+    content = G_LOADED_CONTENT(pygobject_get(self));
+
+    bincnt = g_loaded_content_get_content(content);
+
+    result = pygobject_new(G_OBJECT(bincnt));
+
+    g_object_unref(G_OBJECT(bincnt));
+
+    return result;
+
+}
+
+
+/******************************************************************************
+*                                                                             *
 *  Paramètres  : -                                                            *
 *                                                                             *
 *  Description : Fournit un accès à une définition de type à diffuser.        *
@@ -228,6 +263,10 @@ PyTypeObject *get_python_loaded_content_type(void)
     };
 
     static PyGetSetDef py_loaded_content_getseters[] = {
+        {
+            "content", py_loaded_content_get_content, NULL,
+            "Binary content.", NULL
+        },
         { NULL }
     };
 
-- 
cgit v0.11.2-87-g4458