"""
@generated by codestare-proto-plus.  Do not edit manually!
isort:skip_file
"""
import proto
from proto import (
    Field,
    RepeatedField,
    STRING,
)

from proto.message import (
    Message,
)

from ubii.proto_v1.types.devices.topicDemux_pb_plus import (
    TopicDemux,
)

from ubii.proto_v1.types.devices.topicMux_pb_plus import (
    TopicMux,
)


__protobuf__ = proto.module(
    package="ubii.interact.v1",
    manifest={
        "TopicInputMapping",
        "TopicInputMappingList",
        "TopicOutputMapping",
        "TopicOutputMappingList",
        "IOMapping",
        "IOMappingList",
    }
)


class TopicInputMapping(Message):
    input_name = Field(
        STRING,
        number=1,
    )
    topic = Field(
        STRING,
        number=2,
        oneof='topic_source',
    )
    topic_mux = Field(
        TopicMux,
        number=3,
        oneof='topic_source',
    )



class TopicInputMappingList(Message):
    elements = RepeatedField(
        TopicInputMapping,
        number=1,
    )



class TopicOutputMapping(Message):
    output_name = Field(
        STRING,
        number=1,
    )
    topic = Field(
        STRING,
        number=2,
        oneof='topic_destination',
    )
    topic_demux = Field(
        TopicDemux,
        number=3,
        oneof='topic_destination',
    )



class TopicOutputMappingList(Message):
    elements = RepeatedField(
        TopicOutputMapping,
        number=1,
    )



class IOMapping(Message):
    processing_module_id = Field(
        STRING,
        number=1,
    )
    input_mappings = RepeatedField(
        TopicInputMapping,
        number=2,
    )
    output_mappings = RepeatedField(
        TopicOutputMapping,
        number=3,
    )
    processing_module_name = Field(
        STRING,
        number=4,
    )



class IOMappingList(Message):
    elements = RepeatedField(
        IOMapping,
        number=1,
    )


