]> sigrok.org Git - libsigrokdecode.git/blobdiff - type_decoder.c
Rename inter-PD output type to SRD_OUTPUT_PYTHON
[libsigrokdecode.git] / type_decoder.c
index 076978ca9726fdb31acc9de05037c16bd02c7760..f689dd0f396045dfa37e484d3f7e1667df976a49 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrokdecode project.
  *
  * Copyright (C) 2012 Bert Vermeulen <bert@biot.com>
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "sigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
-#include "sigrokdecode-internal.h"
+#include "libsigrokdecode.h" /* First, so we avoid a _POSIX_C_SOURCE warning. */
+#include "libsigrokdecode-internal.h"
 #include "config.h"
 #include <inttypes.h>
 
 /* This is only used for nicer srd_dbg() output. */
 static const char *OUTPUT_TYPES[] = {
        "OUTPUT_ANN",
-       "OUTPUT_PROTO",
+       "OUTPUT_PYTHON",
        "OUTPUT_BINARY",
 };
 
@@ -95,7 +95,7 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
        struct srd_proto_data *pdata;
        uint64_t start_sample, end_sample;
        int output_id;
-       void (*cb)();
+       struct srd_pd_callback *cb;
 
        if (!(di = srd_inst_find_by_obj(NULL, self))) {
                /* Shouldn't happen. */
@@ -135,17 +135,17 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
        switch (pdo->output_type) {
        case SRD_OUTPUT_ANN:
                /* Annotations are only fed to callbacks. */
-               if ((cb = srd_pd_output_callback_find(pdo->output_type))) {
+               if ((cb = srd_pd_output_callback_find(di->sess, pdo->output_type))) {
                        /* Annotations need converting from PyObject. */
                        if (convert_pyobj(di, data, &pdata->ann_format,
                                          (char ***)&pdata->data) != SRD_OK) {
                                /* An error was already logged. */
                                break;
                        }
-                       cb(pdata);
+                       cb->cb(pdata, cb->cb_data);
                }
                break;
-       case SRD_OUTPUT_PROTO:
+       case SRD_OUTPUT_PYTHON:
                for (l = di->next_di; l; l = l->next) {
                        next_di = l->data;
                        /* TODO: Is this needed? */