X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fnative_bt_message_iterator.i;h=6336a2143e1d1f54bad7bf09cf3f61f2bf3f70f6;hb=6c373cc9;hp=47bd3a9b65413c019816a46fb2a6fdd317984d38;hpb=a0207a9c287619c3e5bcfa38a971e0d3dac444d1;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/native_bt_message_iterator.i b/src/bindings/python/bt2/bt2/native_bt_message_iterator.i index 47bd3a9b..6336a214 100644 --- a/src/bindings/python/bt2/bt2/native_bt_message_iterator.i +++ b/src/bindings/python/bt2/bt2/native_bt_message_iterator.i @@ -22,101 +22,16 @@ * THE SOFTWARE. */ -%include -%include +%include %include %include /* Helper functions for Python */ %{ -static PyObject *bt_py3_get_user_component_from_user_msg_iter( - bt_self_message_iterator *self_message_iterator) -{ - bt_self_component *self_component = bt_self_message_iterator_borrow_component(self_message_iterator); - PyObject *py_comp; - - BT_ASSERT(self_component); - py_comp = bt_self_component_get_data(self_component); - BT_ASSERT(py_comp); - - /* Return new reference */ - Py_INCREF(py_comp); - return py_comp; -} - -static inline -PyObject *create_pylist_from_messages(bt_message_array_const messages, - uint64_t message_count) -{ - uint64_t i; - PyObject *py_msg_list = PyList_New(message_count); - BT_ASSERT(py_msg_list); - for (i = 0; i < message_count; i++) { - PyList_SET_ITEM(py_msg_list, i, - SWIG_NewPointerObj(SWIG_as_voidptr(messages[i]), - SWIGTYPE_p_bt_message, 0)); - } - - return py_msg_list; -} - -static -PyObject *bt_py3_get_msg_range_common(bt_message_iterator_status status, - bt_message_array_const messages, uint64_t message_count) -{ - PyObject *py_status; - PyObject *py_return_tuple; - PyObject *py_msg_list = Py_None; - - py_status = SWIG_From_long_SS_long(status); - if (status != BT_MESSAGE_ITERATOR_STATUS_OK) { - goto end; - } - - py_msg_list = create_pylist_from_messages(messages, message_count); - -end: - py_return_tuple = PyTuple_New(2); - BT_ASSERT(py_return_tuple); - PyTuple_SET_ITEM(py_return_tuple, 0, py_status); - PyTuple_SET_ITEM(py_return_tuple, 1, py_msg_list); - - return py_return_tuple; -} - -static PyObject -*bt_py3_self_component_port_input_get_msg_range( - bt_self_component_port_input_message_iterator *iter) -{ - bt_message_array_const messages; - uint64_t message_count = 0; - bt_message_iterator_status status; - - status = bt_self_component_port_input_message_iterator_next(iter, &messages, - &message_count); - - return bt_py3_get_msg_range_common(status, messages, message_count); -} - -static PyObject -*bt_py3_port_output_get_msg_range( - bt_port_output_message_iterator *iter) -{ - bt_message_array_const messages; - uint64_t message_count = 0; - bt_message_iterator_status status; - - status = - bt_port_output_message_iterator_next(iter, &messages, - &message_count); - - return bt_py3_get_msg_range_common(status, messages, message_count); -} +#include "native_bt_message_iterator.i.h" %} -PyObject *bt_py3_get_user_component_from_user_msg_iter( - bt_self_message_iterator *self_message_iterator); -PyObject *bt_py3_self_component_port_input_get_msg_range( +PyObject *bt_bt2_get_user_component_from_user_msg_iter( + bt_self_message_iterator *self_message_iterator); +PyObject *bt_bt2_self_component_port_input_get_msg_range( bt_self_component_port_input_message_iterator *iter); -PyObject *bt_py3_port_output_get_msg_range( - bt_port_output_message_iterator *iter);