-# The MIT License (MIT)
+# SPDX-License-Identifier: MIT
#
# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
from bt2 import native_bt, object, utils
from bt2 import message as bt2_message
class _UserComponentInputPortMessageIterator(object._SharedObject, _MessageIterator):
- _get_ref = staticmethod(
- native_bt.self_component_port_input_message_iterator_get_ref
- )
- _put_ref = staticmethod(
- native_bt.self_component_port_input_message_iterator_put_ref
- )
+ _get_ref = staticmethod(native_bt.message_iterator_get_ref)
+ _put_ref = staticmethod(native_bt.message_iterator_put_ref)
def __init__(self, ptr):
self._current_msgs = []
return bt2_message._create_from_ptr(msg_ptr)
def can_seek_beginning(self):
- status, res = native_bt.self_component_port_input_message_iterator_can_seek_beginning(
- self._ptr
- )
+ (status, res) = native_bt.message_iterator_can_seek_beginning(self._ptr)
utils._handle_func_status(
status,
'cannot check whether or not message iterator can seek its beginning',
self._current_msgs.clear()
self._at = 0
- status = native_bt.self_component_port_input_message_iterator_seek_beginning(
- self._ptr
- )
+ status = native_bt.message_iterator_seek_beginning(self._ptr)
utils._handle_func_status(status, 'cannot seek message iterator beginning')
def can_seek_ns_from_origin(self, ns_from_origin):
utils._check_int64(ns_from_origin)
- status, res = native_bt.self_component_port_input_message_iterator_can_seek_ns_from_origin(
+ (status, res) = native_bt.message_iterator_can_seek_ns_from_origin(
self._ptr, ns_from_origin
)
utils._handle_func_status(
self._current_msgs.clear()
self._at = 0
- status = native_bt.self_component_port_input_message_iterator_seek_ns_from_origin(
+ status = native_bt.message_iterator_seek_ns_from_origin(
self._ptr, ns_from_origin
)
utils._handle_func_status(
@property
def can_seek_forward(self):
- return native_bt.self_component_port_input_message_iterator_can_seek_forward(
- self._ptr
- )
+ return native_bt.message_iterator_can_seek_forward(self._ptr)
class _MessageIteratorConfiguration:
self._user_seek_beginning()
def _bt_can_seek_ns_from_origin_from_native(self, ns_from_origin):
- # Here, we mimic the behavior of the C API:
+ # Return whether the iterator can seek ns from origin using the
+ # user-implemented seek_ns_from_origin method. We mimic the behavior
+ # of the C API:
#
# - If the iterator has a _user_can_seek_ns_from_origin method,
# call it and use its return value.
# - Otherwise, if there is a `_user_seek_ns_from_origin` method,
# we presume it's possible.
- # - Otherwise, check if we can seek to beginning (which allows us to
- # seek to beginning and then fast forward - aka auto-seek).
+
if hasattr(self, '_user_can_seek_ns_from_origin'):
can_seek_ns_from_origin = self._user_can_seek_ns_from_origin(ns_from_origin)
utils._check_bool(can_seek_ns_from_origin)
return can_seek_ns_from_origin
- elif hasattr(self, '_user_seek_ns_from_origin'):
- return True
else:
- return self._bt_can_seek_beginning_from_native()
+ return hasattr(self, '_user_seek_ns_from_origin')
def _bt_seek_ns_from_origin_from_native(self, ns_from_origin):
self._user_seek_ns_from_origin(ns_from_origin)
- def _create_input_port_message_iterator(self, input_port):
+ def _create_message_iterator(self, input_port):
utils._check_type(input_port, bt2_port._UserComponentInputPort)
- status, msg_iter_ptr = native_bt.bt2_self_component_port_input_message_iterator_create_from_message_iterator(
+ (
+ status,
+ msg_iter_ptr,
+ ) = native_bt.bt2_message_iterator_create_from_message_iterator(
self._bt_ptr, input_port._ptr
)
utils._handle_func_status(status, 'cannot create message iterator object')