lib: add bt_{graph,query_executor}_add_interrupter()
[babeltrace.git] / src / bindings / python / bt2 / bt2 / message_iterator.py
index 4457fc580acc368ca40a0aaa0b4797cd682d9362..25d3cbb1d94a0fcc5f0a3532ea7de74ceca15c2b 100644 (file)
@@ -24,6 +24,7 @@ from bt2 import native_bt, object, utils
 import bt2.message
 import collections.abc
 import bt2.component
+import bt2.port
 import bt2
 
 
@@ -137,6 +138,10 @@ class _UserMessageIterator(_MessageIterator):
     def addr(self):
         return int(self._bt_ptr)
 
+    @property
+    def _is_interrupted(self):
+        return bool(native_bt.self_message_iterator_is_interrupted(self._bt_ptr))
+
     def _finalize(self):
         pass
 
@@ -178,6 +183,18 @@ class _UserMessageIterator(_MessageIterator):
     def _bt_seek_beginning_from_native(self):
         self._seek_beginning()
 
+    def _create_input_port_message_iterator(self, input_port):
+        utils._check_type(input_port, bt2.port._UserComponentInputPort)
+
+        msg_iter_ptr = native_bt.self_component_port_input_message_iterator_create_from_message_iterator(
+            self._bt_ptr, input_port._ptr
+        )
+
+        if msg_iter_ptr is None:
+            raise bt2.CreationError('cannot create message iterator object')
+
+        return _UserComponentInputPortMessageIterator(msg_iter_ptr)
+
     def _create_event_message(
         self, event_class, parent=None, default_clock_snapshot=None
     ):
@@ -220,7 +237,7 @@ class _UserMessageIterator(_MessageIterator):
                 )
 
         if ptr is None:
-            raise bt2.MemoryError('cannot create event message object')
+            raise bt2._MemoryError('cannot create event message object')
 
         return bt2.message._EventMessage(ptr)
 
@@ -231,7 +248,7 @@ class _UserMessageIterator(_MessageIterator):
         )
 
         if ptr is None:
-            raise bt2.MemoryError('cannot create inactivity message object')
+            raise bt2._MemoryError('cannot create inactivity message object')
 
         return bt2.message._MessageIteratorInactivityMessage(ptr)
 
@@ -240,7 +257,7 @@ class _UserMessageIterator(_MessageIterator):
 
         ptr = native_bt.message_stream_beginning_create(self._bt_ptr, stream._ptr)
         if ptr is None:
-            raise bt2.MemoryError('cannot create stream beginning message object')
+            raise bt2._MemoryError('cannot create stream beginning message object')
 
         msg = bt2.message._StreamBeginningMessage(ptr)
 
@@ -254,7 +271,7 @@ class _UserMessageIterator(_MessageIterator):
 
         ptr = native_bt.message_stream_end_create(self._bt_ptr, stream._ptr)
         if ptr is None:
-            raise bt2.MemoryError('cannot create stream end message object')
+            raise bt2._MemoryError('cannot create stream end message object')
 
         msg = bt2.message._StreamEndMessage(ptr)
 
@@ -285,7 +302,7 @@ class _UserMessageIterator(_MessageIterator):
             ptr = native_bt.message_packet_beginning_create(self._bt_ptr, packet._ptr)
 
         if ptr is None:
-            raise bt2.MemoryError('cannot create packet beginning message object')
+            raise bt2._MemoryError('cannot create packet beginning message object')
 
         return bt2.message._PacketBeginningMessage(ptr)
 
@@ -311,7 +328,7 @@ class _UserMessageIterator(_MessageIterator):
             ptr = native_bt.message_packet_end_create(self._bt_ptr, packet._ptr)
 
         if ptr is None:
-            raise bt2.MemoryError('cannot create packet end message object')
+            raise bt2._MemoryError('cannot create packet end message object')
 
         return bt2.message._PacketEndMessage(ptr)
 
@@ -343,7 +360,7 @@ class _UserMessageIterator(_MessageIterator):
             ptr = native_bt.message_discarded_events_create(self._bt_ptr, stream._ptr)
 
         if ptr is None:
-            raise bt2.MemoryError('cannot discarded events message object')
+            raise bt2._MemoryError('cannot discarded events message object')
 
         msg = bt2.message._DiscardedEventsMessage(ptr)
 
@@ -380,7 +397,7 @@ class _UserMessageIterator(_MessageIterator):
             ptr = native_bt.message_discarded_packets_create(self._bt_ptr, stream._ptr)
 
         if ptr is None:
-            raise bt2.MemoryError('cannot discarded packets message object')
+            raise bt2._MemoryError('cannot discarded packets message object')
 
         msg = bt2.message._DiscardedPacketsMessage(ptr)
 
This page took 0.026344 seconds and 4 git commands to generate.