```{eval-rst}
.. currentmodule:: tango
```

# Enumerations & other classes

## Enumerations

```{eval-rst}
.. autoclass:: tango.LockerLanguage
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.CmdArgType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.MessBoxType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.PollObjType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.PollCmdCode
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango..SerialModel
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.AttReqType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.LockCmdCode
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.LogLevel
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.LogTarget
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.EventType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.KeepAliveCmdCode
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.AccessControlType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.asyn_req_type
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.cb_sub_model
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.AttrQuality
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.AttrWriteType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.AttrDataFormat
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.DevSource
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.ErrSeverity
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.DevState
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.DispLevel
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.GreenMode
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values

```

```{eval-rst}
.. autoclass:: tango.telemetry.TelemetryExporter
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.telemetry.TelemetryTopic
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.telemetry.TelemetryType
   :member-order: bysource
   :members:
   :undoc-members:
   :exclude-members: names, values
```

```{eval-rst}
.. autoclass:: tango.telemetry.TelemetryEndpoint
   :member-order: bysource
   :members:
   :undoc-members:
```

```{eval-rst}
.. autofunction:: tango.telemetry.get_telemetry_tracer_provider_factory
```

```{eval-rst}
.. autofunction:: tango.telemetry.set_telemetry_tracer_provider_factory
```

## Other classes

```{eval-rst}
.. autoclass:: tango.Release
    :members:
```

```{eval-rst}
.. autoclass:: tango.TimeVal
    :members:

    .. rubric:: Constructors

    .. py:method:: __init__(self)
        :no-index:

        Default constructor; all fields set to 0.

    .. py:method:: __init__(self, tv_sec: int, tv_usec: int, tv_nsec: int)
        :no-index:

        Create a TimeVal by specifying all three members.

    .. py:method:: __init__(self, time: float)
        :no-index:

        Create a TimeVal from time in seconds since epoch (e.g. time.time()).

    .. py:method:: __init__(self, time: datetime.datetime)
        :no-index:

        Create a TimeVal from time in datetime.datetime format (e.g. datetime.datetime.now()).
```

```{eval-rst}
.. autoclass:: tango.TimedAttrData
    :members:
```

```{eval-rst}
.. autoclass:: tango.TimedCmdData
    :members:
```

```{eval-rst}
.. autoclass:: tango.EnsureOmniThread
    :members:
    :inherited-members:
```
