bt2: make bt2.Error wrap current thread's error
[babeltrace.git] / src / bindings / python / bt2 / bt2 / native_bt_graph.i
index 0fcb70eef95665ff0b0bade9df2ab0e76265b7ce..c592452dde11bbfb63d4ca26a93114fe59ad7794 100644 (file)
 
 /* 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,
 
 /* 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,
        }
 }
 
-/* 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,
-               bt_logging_level log_level, 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, bt_logging_level log_level,
-               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,
-               bt_logging_level log_level,
-               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, bt_logging_level log_level,
-               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,
-               bt_logging_level log_level,
-               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, bt_logging_level log_level,
-               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 <babeltrace2/graph/graph-const.h>
+%include <babeltrace2/graph/graph.h>
 
 /* 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,
@@ -304,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)
 {
@@ -349,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)
 {
@@ -358,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)
 {
@@ -367,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)
 {
@@ -376,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);
@@ -394,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;
        }
 
@@ -401,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;
        }
 
@@ -417,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;
        }
 
@@ -433,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;
        }
 
@@ -449,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;
        }
 
@@ -480,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,
@@ -497,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;
        }
 
@@ -511,7 +364,7 @@ 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;
        }
 
@@ -519,7 +372,7 @@ ports_connected_listener(
                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;
        }
 
@@ -527,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;
        }
 
@@ -537,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);
@@ -552,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,
@@ -571,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,
@@ -586,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,
@@ -601,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,
@@ -616,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);
@@ -632,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;
        }
 
@@ -639,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;
        }
 
@@ -655,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;
        }
 
@@ -671,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;
        }
 
@@ -687,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;
        }
 
@@ -716,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);
This page took 0.032548 seconds and 4 git commands to generate.