def __init__(self, _io, _parent=None, _root=None, _time_base=None):
            self._io = _io
            self._parent = _parent
            self._root = _root if _root else self
            self._time_base = _time_base
            self.reserved = self._io.read_bits_int(1) != 0
            self.leap_second_direction = self._root.Fracsec.LeapSecondDirectionEnum(
                self._io.read_bits_int(1))
            self.leap_second_occurred = self._io.read_bits_int(1) != 0
            self.leap_second_pending = self._io.read_bits_int(1) != 0
            self.time_quality = self._root.Fracsec.MsgTqEnum(
                self._io.read_bits_int(4))
            self.raw_fraction_of_second = self._io.read_bits_int(24)