1 # SPDX-License-Identifier: MIT
3 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
5 from bt2
import native_bt
6 from bt2
import utils
as bt2_utils
10 def get_greatest_operative_mip_version(
11 component_descriptors
, log_level
=bt2
.LoggingLevel
.NONE
13 bt2_utils
._check
_log
_level
(log_level
)
14 comp_descr_set_ptr
= native_bt
.component_descriptor_set_create()
16 if comp_descr_set_ptr
is None:
17 raise bt2
._MemoryError("cannot create component descriptor set object")
19 if len(component_descriptors
) == 0:
20 raise ValueError("no component descriptors")
23 for descr
in component_descriptors
:
24 if type(descr
) is not bt2
.ComponentDescriptor
:
25 raise TypeError("'{}' is not a component descriptor".format(descr
))
27 base_cc_ptr
= descr
.component_class
._bt
_component
_class
_ptr
()
30 if descr
.params
is not None:
31 params_ptr
= descr
.params
._ptr
33 status
= native_bt
.bt2_component_descriptor_set_add_descriptor_with_initialize_method_data(
34 comp_descr_set_ptr
, base_cc_ptr
, params_ptr
, descr
.obj
36 bt2_utils
._handle
_func
_status
(
37 status
, "cannot add descriptor to component descriptor set"
40 status
, version
= native_bt
.get_greatest_operative_mip_version(
41 comp_descr_set_ptr
, log_level
44 if status
== native_bt
.__BT
_FUNC
_STATUS
_NO
_MATCH
:
47 bt2_utils
._handle
_func
_status
(
48 status
, "cannot get greatest operative MIP version"
52 native_bt
.component_descriptor_set_put_ref(comp_descr_set_ptr
)
55 def get_maximal_mip_version():
56 return native_bt
.get_maximal_mip_version()
This page took 0.032001 seconds and 4 git commands to generate.