lib: make message iterator creation functions return a status
[babeltrace.git] / src / bindings / python / bt2 / bt2 / native_bt_message_iterator.i
index 6336a2143e1d1f54bad7bf09cf3f61f2bf3f70f6..7362bb7962d861a166689ed166759562f2788af9 100644 (file)
  * THE SOFTWARE.
  */
 
+/* Output argument typemap for message_iterator (always appends) */
+%typemap(in, numinputs=0)
+       (bt_self_component_port_input_message_iterator **)
+       (bt_self_component_port_input_message_iterator *temp_msg_iter = NULL) {
+       $1 = &temp_msg_iter;
+}
+
+%typemap(argout)
+       (bt_self_component_port_input_message_iterator **) {
+       if (*$1) {
+               /* SWIG_Python_AppendOutput() steals the created object */
+               $result = SWIG_Python_AppendOutput($result,
+                               SWIG_NewPointerObj(SWIG_as_voidptr(*$1),
+                                       SWIGTYPE_p_bt_self_component_port_input_message_iterator, 0));
+       } else {
+               /* SWIG_Python_AppendOutput() steals Py_None */
+               Py_INCREF(Py_None);
+               $result = SWIG_Python_AppendOutput($result, Py_None);
+       }
+}
+
 %include <babeltrace2/graph/message-iterator.h>
 %include <babeltrace2/graph/self-component-port-input-message-iterator.h>
 %include <babeltrace2/graph/self-message-iterator.h>
 #include "native_bt_message_iterator.i.h"
 %}
 
+bt_self_component_port_input_message_iterator_create_from_message_iterator_status
+bt_bt2_self_component_port_input_message_iterator_create_from_message_iterator(
+               bt_self_message_iterator *self_msg_iter,
+               bt_self_component_port_input *input_port,
+               bt_self_component_port_input_message_iterator **message_iterator);
+bt_self_component_port_input_message_iterator_create_from_sink_component_status
+bt_bt2_self_component_port_input_message_iterator_create_from_sink_component(
+               bt_self_component_sink *self_comp,
+               bt_self_component_port_input *input_port,
+               bt_self_component_port_input_message_iterator **message_iterator);
 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(
This page took 0.024871 seconds and 4 git commands to generate.