1 # SPDX-License-Identifier: MIT
3 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
5 from bt2
import native_bt
, utils
9 def get_greatest_operative_mip_version(
10 component_descriptors
, log_level
=bt2
.LoggingLevel
.NONE
12 utils
._check
_log
_level
(log_level
)
13 comp_descr_set_ptr
= native_bt
.component_descriptor_set_create()
15 if comp_descr_set_ptr
is None:
16 raise bt2
._MemoryError('cannot create component descriptor set object')
18 if len(component_descriptors
) == 0:
19 raise ValueError('no component descriptors')
22 for descr
in component_descriptors
:
23 if type(descr
) is not bt2
.ComponentDescriptor
:
24 raise TypeError("'{}' is not a component descriptor".format(descr
))
26 base_cc_ptr
= descr
.component_class
._bt
_component
_class
_ptr
()
29 if descr
.params
is not None:
30 params_ptr
= descr
.params
._ptr
32 status
= native_bt
.bt2_component_descriptor_set_add_descriptor_with_initialize_method_data(
33 comp_descr_set_ptr
, base_cc_ptr
, params_ptr
, descr
.obj
35 utils
._handle
_func
_status
(
36 status
, 'cannot add descriptor to component descriptor set'
39 status
, version
= native_bt
.get_greatest_operative_mip_version(
40 comp_descr_set_ptr
, log_level
43 if status
== native_bt
.__BT
_FUNC
_STATUS
_NO
_MATCH
:
46 utils
._handle
_func
_status
(status
, 'cannot get greatest operative MIP version')
49 native_bt
.component_descriptor_set_put_ref(comp_descr_set_ptr
)
52 def get_maximal_mip_version():
53 return native_bt
.get_maximal_mip_version()
This page took 0.03152 seconds and 4 git commands to generate.