X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fnative_bt_graph.i;h=c592452dde11bbfb63d4ca26a93114fe59ad7794;hb=ce4923b0c7a2de36eba95725334d251e9aa08aad;hp=bb7a5d133d4aefa9a3c0a722954ca9cbe7e09cf6;hpb=578e048b5debf169e286e5b5cc747b5d6c16886d;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/native_bt_graph.i b/src/bindings/python/bt2/bt2/native_bt_graph.i index bb7a5d13..c592452d 100644 --- a/src/bindings/python/bt2/bt2/native_bt_graph.i +++ b/src/bindings/python/bt2/bt2/native_bt_graph.i @@ -24,13 +24,13 @@ /* Output argument typemap for connection output (always appends) */ %typemap(in, numinputs=0) - (const bt_connection **BTOUTCONN) + (const bt_connection **) (bt_connection *temp_conn = NULL) { $1 = &temp_conn; } %typemap(argout) - (const bt_connection **BTOUTCONN) { + (const bt_connection **) { if (*$1) { /* SWIG_Python_AppendOutput() steals the created object */ $result = SWIG_Python_AppendOutput($result, @@ -45,24 +45,24 @@ /* Output argument typemap for component output (always appends) */ %typemap(in, numinputs=0) - (const bt_component_source **OUT) + (const bt_component_source **) (bt_component_source *temp_comp = NULL) { $1 = &temp_comp; } %typemap(in, numinputs=0) - (const bt_component_filter **OUT) + (const bt_component_filter **) (bt_component_filter *temp_comp = NULL) { $1 = &temp_comp; } %typemap(in, numinputs=0) - (const bt_component_sink **OUT) + (const bt_component_sink **) (bt_component_sink *temp_comp = NULL) { $1 = &temp_comp; } -%typemap(argout) (const bt_component_source **OUT) { +%typemap(argout) (const bt_component_source **) { if (*$1) { /* SWIG_Python_AppendOutput() steals the created object */ $result = SWIG_Python_AppendOutput($result, @@ -75,7 +75,7 @@ } } -%typemap(argout) (const bt_component_filter **OUT) { +%typemap(argout) (const bt_component_filter **) { if (*$1) { /* SWIG_Python_AppendOutput() steals the created object */ $result = SWIG_Python_AppendOutput($result, @@ -88,7 +88,7 @@ } } -%typemap(argout) (const bt_component_sink **OUT) { +%typemap(argout) (const bt_component_sink **) { if (*$1) { /* SWIG_Python_AppendOutput() steals the created object */ $result = SWIG_Python_AppendOutput($result, @@ -101,196 +101,20 @@ } } -/* From graph-const.h */ - -typedef enum bt_graph_status { - BT_GRAPH_STATUS_OK = 0, - BT_GRAPH_STATUS_END = 1, - BT_GRAPH_STATUS_AGAIN = 11, - BT_GRAPH_STATUS_COMPONENT_REFUSES_PORT_CONNECTION = 111, - BT_GRAPH_STATUS_CANCELED = 125, - BT_GRAPH_STATUS_ERROR = -1, - BT_GRAPH_STATUS_NOMEM = -12, -} bt_graph_status; - -extern bt_bool bt_graph_is_canceled(const bt_graph *graph); - -extern void bt_graph_get_ref(const bt_graph *graph); - -extern void bt_graph_put_ref(const bt_graph *graph); - -/* From graph.h */ - -typedef enum bt_graph_listener_status { - BT_GRAPH_LISTENER_STATUS_OK = 0, - BT_GRAPH_LISTENER_STATUS_ERROR = -1, - BT_GRAPH_LISTENER_STATUS_NOMEM = -12, -} bt_graph_listener_status; - - -typedef bt_graph_listener_status -(*bt_graph_filter_component_input_port_added_listener_func)( - const bt_component_filter *component, - const bt_port_input *port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_sink_component_input_port_added_listener_func)( - const bt_component_sink *component, - const bt_port_input *port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_source_component_output_port_added_listener_func)( - const bt_component_source *component, - const bt_port_output *port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_filter_component_output_port_added_listener_func)( - const bt_component_filter *component, - const bt_port_output *port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_source_filter_component_ports_connected_listener_func)( - const bt_component_source *source_component, - const bt_component_filter *filter_component, - const bt_port_output *upstream_port, - const bt_port_input *downstream_port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_source_sink_component_ports_connected_listener_func)( - const bt_component_source *source_component, - const bt_component_sink *sink_component, - const bt_port_output *upstream_port, - const bt_port_input *downstream_port, void *data); - -typedef bt_graph_listener_status -(*bt_graph_filter_filter_component_ports_connected_listener_func)( - const bt_component_filter *filter_component_upstream, - const bt_component_filter *filter_component_downstream, - const bt_port_output *upstream_port, - const bt_port_input *downstream_port, - void *data); - -typedef bt_graph_listener_status -(*bt_graph_filter_sink_component_ports_connected_listener_func)( - const bt_component_filter *filter_component, - const bt_component_sink *sink_component, - const bt_port_output *upstream_port, - const bt_port_input *downstream_port, void *data); - -typedef void (* bt_graph_listener_removed_func)(void *data); - -extern bt_graph *bt_graph_create(void); - -extern bt_graph_status bt_graph_add_source_component(bt_graph *graph, - const bt_component_class_source *component_class, - const char *name, const bt_value *params, - const bt_component_source **OUT); - -extern bt_graph_status bt_graph_add_source_component_with_init_method_data( - bt_graph *graph, - const bt_component_class_source *component_class, - const char *name, const bt_value *params, - void *init_method_data, - const bt_component_source **OUT); - -extern bt_graph_status bt_graph_add_filter_component(bt_graph *graph, - const bt_component_class_filter *component_class, - const char *name, const bt_value *params, - const bt_component_filter **OUT); - -extern bt_graph_status bt_graph_add_filter_component_with_init_method_data( - bt_graph *graph, - const bt_component_class_filter *component_class, - const char *name, const bt_value *params, - void *init_method_data, - const bt_component_filter **OUT); - -extern bt_graph_status bt_graph_add_sink_component( - bt_graph *graph, const bt_component_class_sink *component_class, - const char *name, const bt_value *params, - const bt_component_sink **OUT); - -extern bt_graph_status bt_graph_add_sink_component_with_init_method_data( - bt_graph *graph, const bt_component_class_sink *component_class, - const char *name, const bt_value *params, - void *init_method_data, - const bt_component_sink **OUT); - -extern bt_graph_status bt_graph_connect_ports(bt_graph *graph, - const bt_port_output *upstream, - const bt_port_input *downstream, - const bt_connection **BTOUTCONN); - -extern bt_graph_status bt_graph_run(bt_graph *graph); - -extern bt_graph_status bt_graph_consume(bt_graph *graph); - -extern bt_graph_status bt_graph_add_filter_component_input_port_added_listener( - bt_graph *graph, - bt_graph_filter_component_input_port_added_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status bt_graph_add_sink_component_input_port_added_listener( - bt_graph *graph, - bt_graph_sink_component_input_port_added_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status bt_graph_add_source_component_output_port_added_listener( - bt_graph *graph, - bt_graph_source_component_output_port_added_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status bt_graph_add_filter_component_output_port_added_listener( - bt_graph *graph, - bt_graph_filter_component_output_port_added_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status -bt_graph_add_source_filter_component_ports_connected_listener( - bt_graph *graph, - bt_graph_source_filter_component_ports_connected_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status -bt_graph_add_filter_filter_component_ports_connected_listener( - bt_graph *graph, - bt_graph_filter_filter_component_ports_connected_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status -bt_graph_add_source_sink_component_ports_connected_listener( - bt_graph *graph, - bt_graph_source_sink_component_ports_connected_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status -bt_graph_add_filter_sink_component_ports_connected_listener( - bt_graph *graph, - bt_graph_filter_sink_component_ports_connected_listener_func listener, - bt_graph_listener_removed_func listener_removed, void *data, - int *listener_id); - -extern bt_graph_status bt_graph_cancel(bt_graph *graph); +%include +%include /* Helper functions for Python */ %{ - -static void graph_listener_removed(void *py_callable) +static +void graph_listener_removed(void *py_callable) { BT_ASSERT(py_callable); Py_DECREF(py_callable); } -static bt_graph_listener_status -port_added_listener( +static bt_graph_listener_func_status port_added_listener( const void *component, swig_type_info *component_swig_type, bt_component_class_type component_class_type, @@ -302,43 +126,43 @@ port_added_listener( PyObject *py_component_ptr = NULL; PyObject *py_port_ptr = NULL; PyObject *py_res = NULL; - bt_graph_listener_status status; + bt_graph_listener_func_status status; py_component_ptr = SWIG_NewPointerObj(SWIG_as_voidptr(component), component_swig_type, 0); if (!py_component_ptr) { BT_LOGF_STR("Failed to create component SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } py_port_ptr = SWIG_NewPointerObj(SWIG_as_voidptr(port), port_swig_type, 0); if (!py_port_ptr) { BT_LOGF_STR("Failed to create port SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } py_res = PyObject_CallFunction(py_callable, "(OiOi)", py_component_ptr, component_class_type, py_port_ptr, port_type); if (!py_res) { - bt2_py_loge_exception(); + loge_exception("Graph's port added listener (Python)"); PyErr_Clear(); - status = BT_GRAPH_LISTENER_STATUS_ERROR; + status = __BT_FUNC_STATUS_ERROR; goto end; } - + BT_ASSERT(py_res == Py_None); - status = BT_GRAPH_LISTENER_STATUS_OK; + status = __BT_FUNC_STATUS_OK; end: Py_XDECREF(py_res); Py_XDECREF(py_port_ptr); Py_XDECREF(py_component_ptr); - return status; } -static bt_graph_listener_status +static +bt_graph_listener_func_status source_component_output_port_added_listener(const bt_component_source *component_source, const bt_port_output *port_output, void *py_callable) { @@ -347,7 +171,8 @@ source_component_output_port_added_listener(const bt_component_source *component port_output, SWIGTYPE_p_bt_port_output, BT_PORT_TYPE_OUTPUT, py_callable); } -static bt_graph_listener_status +static +bt_graph_listener_func_status filter_component_input_port_added_listener(const bt_component_filter *component_filter, const bt_port_input *port_input, void *py_callable) { @@ -356,7 +181,8 @@ filter_component_input_port_added_listener(const bt_component_filter *component_ port_input, SWIGTYPE_p_bt_port_input, BT_PORT_TYPE_INPUT, py_callable); } -static bt_graph_listener_status +static +bt_graph_listener_func_status filter_component_output_port_added_listener(const bt_component_filter *component_filter, const bt_port_output *port_output, void *py_callable) { @@ -365,7 +191,8 @@ filter_component_output_port_added_listener(const bt_component_filter *component port_output, SWIGTYPE_p_bt_port_output, BT_PORT_TYPE_OUTPUT, py_callable); } -static bt_graph_listener_status +static +bt_graph_listener_func_status sink_component_input_port_added_listener(const bt_component_sink *component_sink, const bt_port_input *port_input, void *py_callable) { @@ -374,14 +201,16 @@ sink_component_input_port_added_listener(const bt_component_sink *component_sink port_input, SWIGTYPE_p_bt_port_input, BT_PORT_TYPE_INPUT, py_callable); } -static PyObject * -bt_py3_graph_add_port_added_listener(struct bt_graph *graph, - PyObject *py_callable) +static +PyObject *bt_bt2_graph_add_port_added_listener(struct bt_graph *graph, + PyObject *py_callable) { PyObject *py_listener_ids = NULL; PyObject *py_listener_id = NULL; int listener_id; - bt_graph_status status; + bt_graph_add_listener_status status; + const char * const module_name = + "graph_add_port_added_listener() (Python)"; BT_ASSERT(graph); BT_ASSERT(py_callable); @@ -392,6 +221,8 @@ bt_py3_graph_add_port_added_listener(struct bt_graph *graph, */ py_listener_ids = PyTuple_New(4); if (!py_listener_ids) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyTuple."); goto error; } @@ -399,12 +230,18 @@ bt_py3_graph_add_port_added_listener(struct bt_graph *graph, status = bt_graph_add_source_component_output_port_added_listener( graph, source_component_output_port_added_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_source_component_output_port_added_listener has + * already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -415,12 +252,18 @@ bt_py3_graph_add_port_added_listener(struct bt_graph *graph, status = bt_graph_add_filter_component_input_port_added_listener( graph, filter_component_input_port_added_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_filter_component_input_port_added_listener has + * already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -431,12 +274,18 @@ bt_py3_graph_add_port_added_listener(struct bt_graph *graph, status = bt_graph_add_filter_component_output_port_added_listener( graph, filter_component_output_port_added_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_filter_component_output_port_added_listener has + * already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -447,12 +296,18 @@ bt_py3_graph_add_port_added_listener(struct bt_graph *graph, status = bt_graph_add_sink_component_input_port_added_listener( graph, sink_component_input_port_added_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_sink_component_input_port_added_listener has + * already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -478,8 +333,8 @@ end: return py_listener_ids; } -static bt_graph_listener_status -ports_connected_listener( +static +bt_graph_listener_func_status ports_connected_listener( const void *upstream_component, swig_type_info *upstream_component_swig_type, bt_component_class_type upstream_component_class_type, @@ -495,13 +350,13 @@ ports_connected_listener( PyObject *py_downstream_component_ptr = NULL; PyObject *py_downstream_port_ptr = NULL; PyObject *py_res = NULL; - bt_graph_listener_status status; + bt_graph_listener_func_status status; py_upstream_component_ptr = SWIG_NewPointerObj(SWIG_as_voidptr(upstream_component), upstream_component_swig_type, 0); if (!py_upstream_component_ptr) { BT_LOGF_STR("Failed to create upstream component SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } @@ -509,15 +364,15 @@ ports_connected_listener( SWIG_as_voidptr(upstream_port), SWIGTYPE_p_bt_port_output, 0); if (!py_upstream_port_ptr) { BT_LOGF_STR("Failed to create upstream port SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } - + py_downstream_component_ptr = SWIG_NewPointerObj(SWIG_as_voidptr(downstream_component), downstream_component_swig_type, 0); if (!py_downstream_component_ptr) { BT_LOGF_STR("Failed to create downstream component SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } @@ -525,7 +380,7 @@ ports_connected_listener( SWIG_as_voidptr(downstream_port), SWIGTYPE_p_bt_port_input, 0); if (!py_downstream_port_ptr) { BT_LOGF_STR("Failed to create downstream port SWIG pointer object."); - status = BT_GRAPH_LISTENER_STATUS_NOMEM; + status = __BT_FUNC_STATUS_MEMORY_ERROR; goto end; } @@ -535,14 +390,14 @@ ports_connected_listener( py_downstream_component_ptr, downstream_component_class_type, py_downstream_port_ptr); if (!py_res) { - bt2_py_loge_exception(); + loge_exception("Graph's port connected listener (Python)"); PyErr_Clear(); - status = BT_GRAPH_LISTENER_STATUS_ERROR; + status = __BT_FUNC_STATUS_ERROR; goto end; } - + BT_ASSERT(py_res == Py_None); - status = BT_GRAPH_LISTENER_STATUS_OK; + status = __BT_FUNC_STATUS_OK; end: Py_XDECREF(py_upstream_component_ptr); @@ -550,12 +405,11 @@ end: Py_XDECREF(py_downstream_component_ptr); Py_XDECREF(py_downstream_port_ptr); Py_XDECREF(py_res); - return status; } -static bt_graph_listener_status -source_filter_component_ports_connected_listener( +static +bt_graph_listener_func_status source_filter_component_ports_connected_listener( const bt_component_source *source_component, const bt_component_filter *filter_component, const bt_port_output *upstream_port, @@ -569,8 +423,8 @@ source_filter_component_ports_connected_listener( py_callable); } -static bt_graph_listener_status -source_sink_component_ports_connected_listener( +static +bt_graph_listener_func_status source_sink_component_ports_connected_listener( const bt_component_source *source_component, const bt_component_sink *sink_component, const bt_port_output *upstream_port, @@ -584,8 +438,8 @@ source_sink_component_ports_connected_listener( py_callable); } -static bt_graph_listener_status -filter_filter_component_ports_connected_listener( +static +bt_graph_listener_func_status filter_filter_component_ports_connected_listener( const bt_component_filter *filter_component_left, const bt_component_filter *filter_component_right, const bt_port_output *upstream_port, @@ -599,8 +453,8 @@ filter_filter_component_ports_connected_listener( py_callable); } -static bt_graph_listener_status -filter_sink_component_ports_connected_listener( +static +bt_graph_listener_func_status filter_sink_component_ports_connected_listener( const bt_component_filter *filter_component, const bt_component_sink *sink_component, const bt_port_output *upstream_port, @@ -614,14 +468,16 @@ filter_sink_component_ports_connected_listener( py_callable); } -static PyObject* -bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, - PyObject *py_callable) +static +PyObject *bt_bt2_graph_add_ports_connected_listener(struct bt_graph *graph, + PyObject *py_callable) { PyObject *py_listener_ids = NULL; PyObject *py_listener_id = NULL; int listener_id; - bt_graph_status status; + bt_graph_add_listener_status status; + const char * const module_name = + "graph_add_ports_connected_listener() (Python)"; BT_ASSERT(graph); BT_ASSERT(py_callable); @@ -630,6 +486,8 @@ bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, * return all of their ids. */ py_listener_ids = PyTuple_New(4); if (!py_listener_ids) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyTuple."); goto error; } @@ -637,12 +495,18 @@ bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, status = bt_graph_add_source_filter_component_ports_connected_listener( graph, source_filter_component_ports_connected_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_source_filter_component_ports_connected_listener + * has already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -653,12 +517,18 @@ bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, status = bt_graph_add_source_sink_component_ports_connected_listener( graph, source_sink_component_ports_connected_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_source_sink_component_ports_connected_listener + * has already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -669,12 +539,18 @@ bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, status = bt_graph_add_filter_filter_component_ports_connected_listener( graph, filter_filter_component_ports_connected_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_filter_filter_component_ports_connected_listener + * has already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -685,12 +561,18 @@ bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, status = bt_graph_add_filter_sink_component_ports_connected_listener( graph, filter_sink_component_ports_connected_listener, graph_listener_removed, py_callable, &listener_id); - if (status != BT_GRAPH_STATUS_OK) { + if (status != __BT_FUNC_STATUS_OK) { + /* + * bt_graph_add_filter_sink_component_ports_connected_listener + * has already logged/appended an error cause. + */ goto error; } py_listener_id = PyLong_FromLong(listener_id); if (!py_listener_id) { + BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_FROM_UNKNOWN(module_name, + "Failed to allocate one PyLong."); goto error; } @@ -714,10 +596,9 @@ end: Py_XDECREF(py_listener_id); return py_listener_ids; } - %} -PyObject *bt_py3_graph_add_port_added_listener(struct bt_graph *graph, +PyObject *bt_bt2_graph_add_port_added_listener(struct bt_graph *graph, PyObject *py_callable); -PyObject *bt_py3_graph_add_ports_connected_listener(struct bt_graph *graph, +PyObject *bt_bt2_graph_add_ports_connected_listener(struct bt_graph *graph, PyObject *py_callable);