+ def get_value(self):
+ """
+ Return the value associated with the field according to its type.
+ Return None on error.
+ """
+ id = self.field_type()
+ value = None
+ if id == ctf.type_id.STRING:
+ value = self.get_str()
+ elif id == ctf.type_id.ARRAY:
+ value = []
+ for i in range(self.get_array_len()):
+ element = self.get_array_element_at(i)
+ value.append(element.get_value())
+ elif id == ctf.type_id.INTEGER:
+ if self.get_int_signedness() == 0:
+ value = self.get_uint64()
+ else:
+ value = self.get_int64()
+ elif id == ctf.type_id.ENUM:
+ value = self.get_enum_str()
+ elif id == ctf.type_id.SEQUENCE:
+ seq_len = self.get_sequence_len()
+ value = []
+ for i in range(seq_len):
+ evDef = self.get_sequence_element_at(i)
+ value.append(evDef.get_value())
+ if ctf.field_error():
+ raise ctf.FieldError("Error occured while accessing field {} of type {}".format(self.field_name(), ctf.type_id.get_type_id_name(self.field_type())))
+ return value
+
+ def get_scope(self):
+ """Return the scope of a field or None on error."""
+ return self._s