SRD_OUTPUT_ANN,
SRD_OUTPUT_PROTO,
SRD_OUTPUT_BINARY,
- /* When adding an output type, don't forget to expose it to PDs in:
- * controller.c:PyInit_sigrokdecode()
- * and add a check in:
- * module_sigrokdecode.c:Decoder_put()
+ /* When adding an output type, don't forget to...
+ * - expose it to PDs in controller.c:PyInit_sigrokdecode()
+ * - add a check in module_sigrokdecode.c:Decoder_put()
+ * - add a debug string in type_decoder.c:OUTPUT_TYPES
*/
};
struct srd_pd_output {
int pdo_id;
int output_type;
- struct srd_decoder *decoder;
+ struct srd_decoder_instance *di;
char *proto_id;
};
GHashTable *options);
int srd_instance_stack(struct srd_decoder_instance *di_from,
struct srd_decoder_instance *di_to);
-struct srd_decoder_instance *srd_instance_find(char *instance_id);
+struct srd_decoder_instance *srd_instance_find_by_id(char *instance_id);
+struct srd_decoder_instance *srd_instance_find_by_obj(GSList *stack,
+ PyObject *obj);
int srd_instance_start(struct srd_decoder_instance *di, PyObject *args);
int srd_instance_decode(uint64_t start_samplenum,
struct srd_decoder_instance *dec, uint8_t *inbuf, uint64_t inbuflen);
int srd_unload_all_decoders(void);
char *srd_decoder_doc(struct srd_decoder *dec);
+/*--- exception.c -----------------------------------------------------------*/
+void catch_exception(const char *format, ...);
+
/*--- util.c ----------------------------------------------------------------*/
int py_attr_as_str(PyObject *py_obj, const char *attr, char **outstr);
int py_dictitem_as_str(PyObject *py_obj, const char *key, char **outstr);