"""
@generated by codestare-proto-plus.  Do not edit manually!
"""
from builtins import (
    str,
)

from proto import (
    Field,
    MESSAGE,
    STRING,
    module,
)

from proto.message import (
    Message,
)


__protobuf__ = module(
    package="ubii.proto.v1.servers",
    marshal="ubii.proto.v1",
    manifest={
        "Constants",
    }
)


class Constants(Message):
    """
    Attributes:
        DEFAULT_TOPICS (proto.fields.Field): :obj:`~proto.fields.Field` of type
            :obj:`~.DefaultTopics`
        MSG_TYPES (proto.fields.Field): :obj:`~proto.fields.Field` of type :obj:`~.MsgTypes`
    """

    class DefaultTopics(Message):
        """
        Attributes:
            SERVICES (proto.fields.Field): :obj:`~proto.fields.Field` of type :obj:`~.Services`
            INFO_TOPICS (proto.fields.Field): :obj:`~proto.fields.Field` of type :obj:`~.InfoTopics`
        """

        class Services(Message):
            """
            Attributes:
                SERVER_CONFIG (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                CLIENT_REGISTRATION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                CLIENT_DEREGISTRATION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                CLIENT_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DEVICE_REGISTRATION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DEVICE_DEREGISTRATION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DEVICE_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DEVICE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                COMPONENT_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_SAVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_DELETE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_ONLINE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_DATABASE_LOCAL_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_RUNTIME_ADD (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_RUNTIME_REMOVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_RUNTIME_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_RUNTIME_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_REGISTRY_ADD (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PM_REGISTRY_REMOVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_SAVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_DELETE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_ONLINE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_DATABASE_LOCAL_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_ADD (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_REMOVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_START (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_STOP (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SESSION_RUNTIME_UPDATE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_DATABASE_SAVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_DATABASE_DELETE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_DATABASE_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_DATABASE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_RUNTIME_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_DEMUX_RUNTIME_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_DATABASE_SAVE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_DATABASE_DELETE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_DATABASE_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_DATABASE_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_RUNTIME_GET (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_MUX_RUNTIME_GET_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                SERVICE_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                TOPIC_SUBSCRIPTION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                LATENCY_CLIENTS_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
            """

            SERVER_CONFIG: str = Field(
                STRING,
                number=1,
            )
            CLIENT_REGISTRATION: str = Field(
                STRING,
                number=2,
            )
            CLIENT_DEREGISTRATION: str = Field(
                STRING,
                number=3,
            )
            CLIENT_GET_LIST: str = Field(
                STRING,
                number=4,
            )
            DEVICE_REGISTRATION: str = Field(
                STRING,
                number=5,
            )
            DEVICE_DEREGISTRATION: str = Field(
                STRING,
                number=6,
            )
            DEVICE_GET: str = Field(
                STRING,
                number=7,
            )
            DEVICE_GET_LIST: str = Field(
                STRING,
                number=8,
            )
            COMPONENT_GET_LIST: str = Field(
                STRING,
                number=48,
            )
            PM_DATABASE_SAVE: str = Field(
                STRING,
                number=9,
            )
            PM_DATABASE_DELETE: str = Field(
                STRING,
                number=10,
            )
            PM_DATABASE_GET: str = Field(
                STRING,
                number=11,
            )
            PM_DATABASE_GET_LIST: str = Field(
                STRING,
                number=12,
            )
            PM_DATABASE_ONLINE_GET_LIST: str = Field(
                STRING,
                number=13,
            )
            PM_DATABASE_LOCAL_GET_LIST: str = Field(
                STRING,
                number=14,
            )
            PM_RUNTIME_ADD: str = Field(
                STRING,
                number=15,
            )
            PM_RUNTIME_REMOVE: str = Field(
                STRING,
                number=16,
            )
            PM_RUNTIME_GET: str = Field(
                STRING,
                number=17,
            )
            PM_RUNTIME_GET_LIST: str = Field(
                STRING,
                number=18,
            )
            PM_REGISTRY_ADD: str = Field(
                STRING,
                number=49,
            )
            PM_REGISTRY_REMOVE: str = Field(
                STRING,
                number=50,
            )
            SESSION_DATABASE_SAVE: str = Field(
                STRING,
                number=19,
            )
            SESSION_DATABASE_DELETE: str = Field(
                STRING,
                number=20,
            )
            SESSION_DATABASE_GET: str = Field(
                STRING,
                number=21,
            )
            SESSION_DATABASE_GET_LIST: str = Field(
                STRING,
                number=22,
            )
            SESSION_DATABASE_ONLINE_GET_LIST: str = Field(
                STRING,
                number=23,
            )
            SESSION_DATABASE_LOCAL_GET_LIST: str = Field(
                STRING,
                number=24,
            )
            SESSION_RUNTIME_ADD: str = Field(
                STRING,
                number=25,
            )
            SESSION_RUNTIME_REMOVE: str = Field(
                STRING,
                number=26,
            )
            SESSION_RUNTIME_GET: str = Field(
                STRING,
                number=27,
            )
            SESSION_RUNTIME_GET_LIST: str = Field(
                STRING,
                number=28,
            )
            SESSION_RUNTIME_START: str = Field(
                STRING,
                number=29,
            )
            SESSION_RUNTIME_STOP: str = Field(
                STRING,
                number=30,
            )
            SESSION_RUNTIME_UPDATE: str = Field(
                STRING,
                number=31,
            )
            TOPIC_DEMUX_DATABASE_SAVE: str = Field(
                STRING,
                number=32,
            )
            TOPIC_DEMUX_DATABASE_DELETE: str = Field(
                STRING,
                number=33,
            )
            TOPIC_DEMUX_DATABASE_GET: str = Field(
                STRING,
                number=34,
            )
            TOPIC_DEMUX_DATABASE_GET_LIST: str = Field(
                STRING,
                number=35,
            )
            TOPIC_DEMUX_RUNTIME_GET: str = Field(
                STRING,
                number=36,
            )
            TOPIC_DEMUX_RUNTIME_GET_LIST: str = Field(
                STRING,
                number=37,
            )
            TOPIC_MUX_DATABASE_SAVE: str = Field(
                STRING,
                number=38,
            )
            TOPIC_MUX_DATABASE_DELETE: str = Field(
                STRING,
                number=39,
            )
            TOPIC_MUX_DATABASE_GET: str = Field(
                STRING,
                number=40,
            )
            TOPIC_MUX_DATABASE_GET_LIST: str = Field(
                STRING,
                number=41,
            )
            TOPIC_MUX_RUNTIME_GET: str = Field(
                STRING,
                number=42,
            )
            TOPIC_MUX_RUNTIME_GET_LIST: str = Field(
                STRING,
                number=43,
            )
            SERVICE_LIST: str = Field(
                STRING,
                number=44,
            )
            TOPIC_LIST: str = Field(
                STRING,
                number=45,
            )
            TOPIC_SUBSCRIPTION: str = Field(
                STRING,
                number=46,
            )
            LATENCY_CLIENTS_LIST: str = Field(
                STRING,
                number=47,
            )
        

        class InfoTopics(Message):
            """
            Attributes:
                REGEX_ALL_INFOS (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                REGEX_PM_INFOS (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                NEW_PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                START_PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DELETE_PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                CHANGE_PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                PROCESSED_PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                REGEX_SESSION_INFOS (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                NEW_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                DELETE_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                CHANGE_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                START_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                STOP_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
                RUNNING_SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                    :obj:`~proto.primitives.ProtoType.STRING`
            """

            REGEX_ALL_INFOS: str = Field(
                STRING,
                number=1,
            )
            REGEX_PM_INFOS: str = Field(
                STRING,
                number=2,
            )
            NEW_PM: str = Field(
                STRING,
                number=3,
            )
            START_PM: str = Field(
                STRING,
                number=4,
            )
            DELETE_PM: str = Field(
                STRING,
                number=5,
            )
            CHANGE_PM: str = Field(
                STRING,
                number=6,
            )
            PROCESSED_PM: str = Field(
                STRING,
                number=7,
            )
            REGEX_SESSION_INFOS: str = Field(
                STRING,
                number=8,
            )
            NEW_SESSION: str = Field(
                STRING,
                number=9,
            )
            DELETE_SESSION: str = Field(
                STRING,
                number=10,
            )
            CHANGE_SESSION: str = Field(
                STRING,
                number=11,
            )
            START_SESSION: str = Field(
                STRING,
                number=12,
            )
            STOP_SESSION: str = Field(
                STRING,
                number=13,
            )
            RUNNING_SESSION: str = Field(
                STRING,
                number=14,
            )
        

        SERVICES: Services = Field(
            MESSAGE,
            number=1,
            message=Services,
        )
        INFO_TOPICS: InfoTopics = Field(
            MESSAGE,
            number=2,
            message=InfoTopics,
        )
    

    class MsgTypes(Message):
        """
        Attributes:
            ERROR (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SUCCESS (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVER (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            CLIENT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            CLIENT_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DEVICE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DEVICE_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            COMPONENT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            COMPONENT_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_MUX (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_MUX_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DEMUX (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DEMUX_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVICE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVICE_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVICE_REQUEST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVICE_REPLY (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SERVICE_REUEST_TOPIC_SUBSCRIPTION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SESSION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SESSION_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            SESSION_IO_MAPPING (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            PM (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            PM_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            PM_MODULE_IO (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            PM_PROCESSING_MODE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DATA (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DATA_RECORD (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DATA_RECORD_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            TOPIC_DATA_TIMESTAMP (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_BOOL (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_BOOL_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_INT32 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_INT32_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_STRING (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_STRING_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_FLOAT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_FLOAT_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_DOUBLE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_DOUBLE_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_COLOR (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_IMAGE (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_IMAGE_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_KEY_EVENT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_MATRIX_3X2 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_MATRIX_4X4 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_MOUSE_EVENT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_OBJECT2D (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_OBJECT2D_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_OBJECT3D (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_OBJECT3D_LIST (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_POSE2D (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_POSE3D (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_QUATERNION (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_TOUCH_EVENT (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_VECTOR2 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_VECTOR3 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_VECTOR4 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
            DATASTRUCTURE_VECTOR8 (proto.fields.Field): :obj:`~proto.fields.Field` of type
                :obj:`~proto.primitives.ProtoType.STRING`
        """

        ERROR: str = Field(
            STRING,
            number=1,
        )
        SUCCESS: str = Field(
            STRING,
            number=2,
        )
        SERVER: str = Field(
            STRING,
            number=3,
        )
        CLIENT: str = Field(
            STRING,
            number=4,
        )
        CLIENT_LIST: str = Field(
            STRING,
            number=5,
        )
        DEVICE: str = Field(
            STRING,
            number=6,
        )
        DEVICE_LIST: str = Field(
            STRING,
            number=7,
        )
        COMPONENT: str = Field(
            STRING,
            number=8,
        )
        COMPONENT_LIST: str = Field(
            STRING,
            number=9,
        )
        TOPIC_MUX: str = Field(
            STRING,
            number=10,
        )
        TOPIC_MUX_LIST: str = Field(
            STRING,
            number=11,
        )
        TOPIC_DEMUX: str = Field(
            STRING,
            number=12,
        )
        TOPIC_DEMUX_LIST: str = Field(
            STRING,
            number=13,
        )
        SERVICE: str = Field(
            STRING,
            number=14,
        )
        SERVICE_LIST: str = Field(
            STRING,
            number=15,
        )
        SERVICE_REQUEST: str = Field(
            STRING,
            number=16,
        )
        SERVICE_REPLY: str = Field(
            STRING,
            number=17,
        )
        SERVICE_REUEST_TOPIC_SUBSCRIPTION: str = Field(
            STRING,
            number=18,
        )
        SESSION: str = Field(
            STRING,
            number=19,
        )
        SESSION_LIST: str = Field(
            STRING,
            number=20,
        )
        SESSION_IO_MAPPING: str = Field(
            STRING,
            number=21,
        )
        PM: str = Field(
            STRING,
            number=22,
        )
        PM_LIST: str = Field(
            STRING,
            number=24,
        )
        PM_MODULE_IO: str = Field(
            STRING,
            number=25,
        )
        PM_PROCESSING_MODE: str = Field(
            STRING,
            number=26,
        )
        TOPIC_DATA: str = Field(
            STRING,
            number=27,
        )
        TOPIC_DATA_RECORD: str = Field(
            STRING,
            number=28,
        )
        TOPIC_DATA_RECORD_LIST: str = Field(
            STRING,
            number=29,
        )
        TOPIC_DATA_TIMESTAMP: str = Field(
            STRING,
            number=30,
        )
        DATASTRUCTURE_BOOL: str = Field(
            STRING,
            number=31,
        )
        DATASTRUCTURE_BOOL_LIST: str = Field(
            STRING,
            number=32,
        )
        DATASTRUCTURE_INT32: str = Field(
            STRING,
            number=33,
        )
        DATASTRUCTURE_INT32_LIST: str = Field(
            STRING,
            number=34,
        )
        DATASTRUCTURE_STRING: str = Field(
            STRING,
            number=35,
        )
        DATASTRUCTURE_STRING_LIST: str = Field(
            STRING,
            number=36,
        )
        DATASTRUCTURE_FLOAT: str = Field(
            STRING,
            number=37,
        )
        DATASTRUCTURE_FLOAT_LIST: str = Field(
            STRING,
            number=38,
        )
        DATASTRUCTURE_DOUBLE: str = Field(
            STRING,
            number=39,
        )
        DATASTRUCTURE_DOUBLE_LIST: str = Field(
            STRING,
            number=40,
        )
        DATASTRUCTURE_COLOR: str = Field(
            STRING,
            number=41,
        )
        DATASTRUCTURE_IMAGE: str = Field(
            STRING,
            number=42,
        )
        DATASTRUCTURE_IMAGE_LIST: str = Field(
            STRING,
            number=43,
        )
        DATASTRUCTURE_KEY_EVENT: str = Field(
            STRING,
            number=44,
        )
        DATASTRUCTURE_MATRIX_3X2: str = Field(
            STRING,
            number=45,
        )
        DATASTRUCTURE_MATRIX_4X4: str = Field(
            STRING,
            number=46,
        )
        DATASTRUCTURE_MOUSE_EVENT: str = Field(
            STRING,
            number=47,
        )
        DATASTRUCTURE_OBJECT2D: str = Field(
            STRING,
            number=48,
        )
        DATASTRUCTURE_OBJECT2D_LIST: str = Field(
            STRING,
            number=49,
        )
        DATASTRUCTURE_OBJECT3D: str = Field(
            STRING,
            number=50,
        )
        DATASTRUCTURE_OBJECT3D_LIST: str = Field(
            STRING,
            number=51,
        )
        DATASTRUCTURE_POSE2D: str = Field(
            STRING,
            number=52,
        )
        DATASTRUCTURE_POSE3D: str = Field(
            STRING,
            number=53,
        )
        DATASTRUCTURE_QUATERNION: str = Field(
            STRING,
            number=54,
        )
        DATASTRUCTURE_TOUCH_EVENT: str = Field(
            STRING,
            number=55,
        )
        DATASTRUCTURE_VECTOR2: str = Field(
            STRING,
            number=56,
        )
        DATASTRUCTURE_VECTOR3: str = Field(
            STRING,
            number=57,
        )
        DATASTRUCTURE_VECTOR4: str = Field(
            STRING,
            number=58,
        )
        DATASTRUCTURE_VECTOR8: str = Field(
            STRING,
            number=59,
        )
    

    DEFAULT_TOPICS: DefaultTopics = Field(
        MESSAGE,
        number=1,
        message=DefaultTopics,
    )
    MSG_TYPES: MsgTypes = Field(
        MESSAGE,
        number=2,
        message=MsgTypes,
    )

