# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: pymammotion/proto/luba_mul.proto
# plugin: python-betterproto
from dataclasses import dataclass

import betterproto


class MUL_LANGUAGE(betterproto.Enum):
    ENGLISH = 0
    GERMAN = 1


class MUL_CAMERA_POSITION(betterproto.Enum):
    LEFT = 0
    RIGHT = 1
    REAR = 2
    ALL = 3


class MUL_VIDEO_ERROR_CODE(betterproto.Enum):
    SUCCESS = 0
    ACTIVATION_FAILED = 1
    NETWORK_NOT_AVAILABLE = 2
    CREATE_CHANNEL_FAILED = 3
    PARAM_INVAILD = 4
    CELLULAR_RESTRICTION = 5


class MUL_WIPER_ERROR_CODE(betterproto.Enum):
    SET_SUCCESS = 0
    HW_ERROR = 1
    NAVIGATION_WORK_FORBID = 2


@dataclass
class MulSetAudio(betterproto.Message):
    at_switch: int = betterproto.int32_field(1, group="AudioCfg_u")
    au_language: "MUL_LANGUAGE" = betterproto.enum_field(2, group="AudioCfg_u")


@dataclass
class MulSetVideo(betterproto.Message):
    position: "MUL_CAMERA_POSITION" = betterproto.enum_field(1)
    vi_switch: int = betterproto.int32_field(2)


@dataclass
class MulSetVideoAck(betterproto.Message):
    error_code: "MUL_VIDEO_ERROR_CODE" = betterproto.enum_field(1)


@dataclass
class MulAudioCfg(betterproto.Message):
    au_switch: int = betterproto.int32_field(1)
    au_language: "MUL_LANGUAGE" = betterproto.enum_field(2)


@dataclass
class MulSetWiper(betterproto.Message):
    round: int = betterproto.int32_field(1)


@dataclass
class MulSetWiperAck(betterproto.Message):
    error_code: "MUL_WIPER_ERROR_CODE" = betterproto.enum_field(1)


@dataclass
class SocMul(betterproto.Message):
    set_audio: "MulSetAudio" = betterproto.message_field(1, group="SubMul")
    audio_cfg: "MulAudioCfg" = betterproto.message_field(2, group="SubMul")
    set_video: "MulSetVideo" = betterproto.message_field(3, group="SubMul")
    set_video_ack: "MulSetVideoAck" = betterproto.message_field(4, group="SubMul")
    set_wiper: "MulSetWiper" = betterproto.message_field(5, group="SubMul")
    set_wiper_ack: "MulSetWiperAck" = betterproto.message_field(6, group="SubMul")
