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

import betterproto

from acp_idl_base import enumdef
from acp_idl_base import notify
from acp_idl_base import read
from acp_idl_base import read_state
from acp_idl_base import readwrite
from acp_idl_base import write
from acp_idl_base import write_ctrl


@dataclass
class Request(betterproto.Message):
    read_req: read.ReadRequest = betterproto.message_field(1, group="RequestType")
    write_req: write.WriteRequest = betterproto.message_field(2, group="RequestType")
    add_notify_req: notify.AddNotificationRequest = betterproto.message_field(
        3, group="RequestType"
    )
    del_notify_req: notify.DeleteNotificationRequest = betterproto.message_field(
        4, group="RequestType"
    )
    read_state_req: read_state.ReadStateRequest = betterproto.message_field(
        5, group="RequestType"
    )
    write_ctrl_req: write_ctrl.WriteCtrlRequest = betterproto.message_field(
        6, group="RequestType"
    )
    read_write_req: readwrite.ReadWriteRequest = betterproto.message_field(
        7, group="RequestType"
    )


@dataclass
class Response(betterproto.Message):
    read_resp: read.ReadResponse = betterproto.message_field(1, group="ResponseType")
    write_resp: write.WriteResponse = betterproto.message_field(2, group="ResponseType")
    add_notify_resp: notify.AddNotificationResponse = betterproto.message_field(
        3, group="ResponseType"
    )
    del_notify_resp: notify.DeleteNotificationResponse = betterproto.message_field(
        4, group="ResponseType"
    )
    read_state_resp: read_state.ReadStateResponse = betterproto.message_field(
        5, group="ResponseType"
    )
    write_ctrl_resp: write_ctrl.WriteCtrlResponse = betterproto.message_field(
        6, group="ResponseType"
    )
    read_write_resp: readwrite.ReadWriteResponse = betterproto.message_field(
        7, group="ResponseType"
    )
    result: enumdef.Errors = betterproto.enum_field(8)
