import bt2
-def _create_field_class_from_ptr_and_get_ref_template(type_map, ptr):
+def _obj_type_from_field_class_ptr_template(type_map, ptr):
typeid = native_bt.field_class_get_type(ptr)
- return type_map[typeid]._create_from_ptr_and_get_ref(ptr)
+ return type_map[typeid]
+
+
+def _obj_type_from_field_class_ptr(ptr):
+ return _obj_type_from_field_class_ptr_template(_FIELD_CLASS_TYPE_TO_OBJ, ptr)
+
+
+def _create_field_class_from_ptr_and_get_ref_template(type_map, ptr):
+ return _obj_type_from_field_class_ptr_template(
+ type_map, ptr
+ )._create_from_ptr_and_get_ref(ptr)
def _create_field_class_from_ptr_and_get_ref(ptr):
utils._check_uint64(length)
ptr = native_bt.field_class_array_static_create(self._ptr, elem_fc._ptr, length)
self._check_field_class_create_status(ptr, 'static array')
- fc = bt2_field_class._StaticArrayFieldClass._create_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._StaticArrayFieldClass._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
return fc
self._ptr, elem_fc._ptr, length_fc_ptr
)
self._check_field_class_create_status(ptr, 'dynamic array')
- fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
return fc
self._ptr, content_fc._ptr
)
self._check_field_class_create_status(ptr, 'option')
- fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
return fc
self._ptr, content_fc._ptr, selector_fc._ptr
)
self._check_field_class_create_status(ptr, 'option')
- fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
fc._selector_is_reversed = selector_is_reversed
return fc
)
self._check_field_class_create_status(ptr, 'option')
- fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
return fc
ptr = native_bt.field_class_variant_create(self._ptr, selector_fc_ptr)
self._check_field_class_create_status(ptr, 'variant')
- fc = bt2_field_class._create_field_class_from_ptr_and_get_ref(ptr)
+ fc = bt2_field_class._obj_type_from_field_class_ptr(ptr)._create_from_ptr(ptr)
self._set_field_class_user_attrs(fc, user_attributes)
return fc