+ """
+ Get a stream class' id.
+ """
+ @property
+ def id(self):
+ ret = _bt_ctf_stream_class_get_id(self._sc)
+ if ret < 0:
+ raise TypeError("Could not get StreamClass id")
+ return ret
+
+ """
+ Assign an id to a stream class.
+ """
+ @id.setter
+ def id(self, id):
+ ret = _bt_ctf_stream_class_set_id(self._sc, id)
+ if ret < 0:
+ raise TypeError("Could not set stream class id.")
+
+ """
+ Generator returning the stream class' event classes.
+ """
+ @property
+ def event_classes(self):
+ count = _bt_ctf_stream_class_get_event_class_count(self._sc)
+ if count < 0:
+ raise TypeError("Could not get StreamClass' event class count")
+
+ for i in range(count):
+ event_class_native = _bt_ctf_stream_class_get_event_class(self._sc, i)
+ if event_class_native is None:
+ raise TypeError("Could not get StreamClass' event class at index {}".format(i))
+
+ event_class = CTFWriter.EventClass.__new__(CTFWriter.EventClass)
+ event_class._ec = event_class_native
+ yield event_class
+