// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v7.34.1
// source: mxaccess_gateway.proto

package generated

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type MxCommandKind int32

const (
	MxCommandKind_MX_COMMAND_KIND_UNSPECIFIED                  MxCommandKind = 0
	MxCommandKind_MX_COMMAND_KIND_REGISTER                     MxCommandKind = 1
	MxCommandKind_MX_COMMAND_KIND_UNREGISTER                   MxCommandKind = 2
	MxCommandKind_MX_COMMAND_KIND_ADD_ITEM                     MxCommandKind = 3
	MxCommandKind_MX_COMMAND_KIND_ADD_ITEM2                    MxCommandKind = 4
	MxCommandKind_MX_COMMAND_KIND_REMOVE_ITEM                  MxCommandKind = 5
	MxCommandKind_MX_COMMAND_KIND_ADVISE                       MxCommandKind = 6
	MxCommandKind_MX_COMMAND_KIND_UN_ADVISE                    MxCommandKind = 7
	MxCommandKind_MX_COMMAND_KIND_ADVISE_SUPERVISORY           MxCommandKind = 8
	MxCommandKind_MX_COMMAND_KIND_ADD_BUFFERED_ITEM            MxCommandKind = 9
	MxCommandKind_MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL MxCommandKind = 10
	MxCommandKind_MX_COMMAND_KIND_SUSPEND                      MxCommandKind = 11
	MxCommandKind_MX_COMMAND_KIND_ACTIVATE                     MxCommandKind = 12
	MxCommandKind_MX_COMMAND_KIND_WRITE                        MxCommandKind = 13
	MxCommandKind_MX_COMMAND_KIND_WRITE2                       MxCommandKind = 14
	MxCommandKind_MX_COMMAND_KIND_WRITE_SECURED                MxCommandKind = 15
	MxCommandKind_MX_COMMAND_KIND_WRITE_SECURED2               MxCommandKind = 16
	MxCommandKind_MX_COMMAND_KIND_AUTHENTICATE_USER            MxCommandKind = 17
	MxCommandKind_MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID         MxCommandKind = 18
	MxCommandKind_MX_COMMAND_KIND_ADD_ITEM_BULK                MxCommandKind = 19
	MxCommandKind_MX_COMMAND_KIND_ADVISE_ITEM_BULK             MxCommandKind = 20
	MxCommandKind_MX_COMMAND_KIND_REMOVE_ITEM_BULK             MxCommandKind = 21
	MxCommandKind_MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK          MxCommandKind = 22
	MxCommandKind_MX_COMMAND_KIND_SUBSCRIBE_BULK               MxCommandKind = 23
	MxCommandKind_MX_COMMAND_KIND_UNSUBSCRIBE_BULK             MxCommandKind = 24
	MxCommandKind_MX_COMMAND_KIND_SUBSCRIBE_ALARMS             MxCommandKind = 25
	MxCommandKind_MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS           MxCommandKind = 26
	MxCommandKind_MX_COMMAND_KIND_ACKNOWLEDGE_ALARM            MxCommandKind = 27
	MxCommandKind_MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS          MxCommandKind = 28
	MxCommandKind_MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME    MxCommandKind = 29
	MxCommandKind_MX_COMMAND_KIND_WRITE_BULK                   MxCommandKind = 30
	MxCommandKind_MX_COMMAND_KIND_WRITE2_BULK                  MxCommandKind = 31
	MxCommandKind_MX_COMMAND_KIND_WRITE_SECURED_BULK           MxCommandKind = 32
	MxCommandKind_MX_COMMAND_KIND_WRITE_SECURED2_BULK          MxCommandKind = 33
	MxCommandKind_MX_COMMAND_KIND_READ_BULK                    MxCommandKind = 34
	MxCommandKind_MX_COMMAND_KIND_PING                         MxCommandKind = 100
	MxCommandKind_MX_COMMAND_KIND_GET_SESSION_STATE            MxCommandKind = 101
	MxCommandKind_MX_COMMAND_KIND_GET_WORKER_INFO              MxCommandKind = 102
	MxCommandKind_MX_COMMAND_KIND_DRAIN_EVENTS                 MxCommandKind = 103
	MxCommandKind_MX_COMMAND_KIND_SHUTDOWN_WORKER              MxCommandKind = 104
)

// Enum value maps for MxCommandKind.
var (
	MxCommandKind_name = map[int32]string{
		0:   "MX_COMMAND_KIND_UNSPECIFIED",
		1:   "MX_COMMAND_KIND_REGISTER",
		2:   "MX_COMMAND_KIND_UNREGISTER",
		3:   "MX_COMMAND_KIND_ADD_ITEM",
		4:   "MX_COMMAND_KIND_ADD_ITEM2",
		5:   "MX_COMMAND_KIND_REMOVE_ITEM",
		6:   "MX_COMMAND_KIND_ADVISE",
		7:   "MX_COMMAND_KIND_UN_ADVISE",
		8:   "MX_COMMAND_KIND_ADVISE_SUPERVISORY",
		9:   "MX_COMMAND_KIND_ADD_BUFFERED_ITEM",
		10:  "MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL",
		11:  "MX_COMMAND_KIND_SUSPEND",
		12:  "MX_COMMAND_KIND_ACTIVATE",
		13:  "MX_COMMAND_KIND_WRITE",
		14:  "MX_COMMAND_KIND_WRITE2",
		15:  "MX_COMMAND_KIND_WRITE_SECURED",
		16:  "MX_COMMAND_KIND_WRITE_SECURED2",
		17:  "MX_COMMAND_KIND_AUTHENTICATE_USER",
		18:  "MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID",
		19:  "MX_COMMAND_KIND_ADD_ITEM_BULK",
		20:  "MX_COMMAND_KIND_ADVISE_ITEM_BULK",
		21:  "MX_COMMAND_KIND_REMOVE_ITEM_BULK",
		22:  "MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK",
		23:  "MX_COMMAND_KIND_SUBSCRIBE_BULK",
		24:  "MX_COMMAND_KIND_UNSUBSCRIBE_BULK",
		25:  "MX_COMMAND_KIND_SUBSCRIBE_ALARMS",
		26:  "MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS",
		27:  "MX_COMMAND_KIND_ACKNOWLEDGE_ALARM",
		28:  "MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS",
		29:  "MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME",
		30:  "MX_COMMAND_KIND_WRITE_BULK",
		31:  "MX_COMMAND_KIND_WRITE2_BULK",
		32:  "MX_COMMAND_KIND_WRITE_SECURED_BULK",
		33:  "MX_COMMAND_KIND_WRITE_SECURED2_BULK",
		34:  "MX_COMMAND_KIND_READ_BULK",
		100: "MX_COMMAND_KIND_PING",
		101: "MX_COMMAND_KIND_GET_SESSION_STATE",
		102: "MX_COMMAND_KIND_GET_WORKER_INFO",
		103: "MX_COMMAND_KIND_DRAIN_EVENTS",
		104: "MX_COMMAND_KIND_SHUTDOWN_WORKER",
	}
	MxCommandKind_value = map[string]int32{
		"MX_COMMAND_KIND_UNSPECIFIED":                  0,
		"MX_COMMAND_KIND_REGISTER":                     1,
		"MX_COMMAND_KIND_UNREGISTER":                   2,
		"MX_COMMAND_KIND_ADD_ITEM":                     3,
		"MX_COMMAND_KIND_ADD_ITEM2":                    4,
		"MX_COMMAND_KIND_REMOVE_ITEM":                  5,
		"MX_COMMAND_KIND_ADVISE":                       6,
		"MX_COMMAND_KIND_UN_ADVISE":                    7,
		"MX_COMMAND_KIND_ADVISE_SUPERVISORY":           8,
		"MX_COMMAND_KIND_ADD_BUFFERED_ITEM":            9,
		"MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL": 10,
		"MX_COMMAND_KIND_SUSPEND":                      11,
		"MX_COMMAND_KIND_ACTIVATE":                     12,
		"MX_COMMAND_KIND_WRITE":                        13,
		"MX_COMMAND_KIND_WRITE2":                       14,
		"MX_COMMAND_KIND_WRITE_SECURED":                15,
		"MX_COMMAND_KIND_WRITE_SECURED2":               16,
		"MX_COMMAND_KIND_AUTHENTICATE_USER":            17,
		"MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID":         18,
		"MX_COMMAND_KIND_ADD_ITEM_BULK":                19,
		"MX_COMMAND_KIND_ADVISE_ITEM_BULK":             20,
		"MX_COMMAND_KIND_REMOVE_ITEM_BULK":             21,
		"MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK":          22,
		"MX_COMMAND_KIND_SUBSCRIBE_BULK":               23,
		"MX_COMMAND_KIND_UNSUBSCRIBE_BULK":             24,
		"MX_COMMAND_KIND_SUBSCRIBE_ALARMS":             25,
		"MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS":           26,
		"MX_COMMAND_KIND_ACKNOWLEDGE_ALARM":            27,
		"MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS":          28,
		"MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME":    29,
		"MX_COMMAND_KIND_WRITE_BULK":                   30,
		"MX_COMMAND_KIND_WRITE2_BULK":                  31,
		"MX_COMMAND_KIND_WRITE_SECURED_BULK":           32,
		"MX_COMMAND_KIND_WRITE_SECURED2_BULK":          33,
		"MX_COMMAND_KIND_READ_BULK":                    34,
		"MX_COMMAND_KIND_PING":                         100,
		"MX_COMMAND_KIND_GET_SESSION_STATE":            101,
		"MX_COMMAND_KIND_GET_WORKER_INFO":              102,
		"MX_COMMAND_KIND_DRAIN_EVENTS":                 103,
		"MX_COMMAND_KIND_SHUTDOWN_WORKER":              104,
	}
)

func (x MxCommandKind) Enum() *MxCommandKind {
	p := new(MxCommandKind)
	*p = x
	return p
}

func (x MxCommandKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MxCommandKind) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[0].Descriptor()
}

func (MxCommandKind) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[0]
}

func (x MxCommandKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MxCommandKind.Descriptor instead.
func (MxCommandKind) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{0}
}

// Provider selection / current provider for the alarm feed. The zero value
// has two distinct meanings depending on the use site:
//   - As SubscribeAlarmsCommand.forced_mode, UNSPECIFIED means auto: alarmmgr
//     primary with subtag fallback.
//   - As a provenance value (OnAlarmTransitionEvent.source_provider,
//     ActiveAlarmSnapshot.source_provider, OnAlarmProviderModeChangedEvent.mode,
//     AlarmProviderStatus.mode), the worker always emits ALARMMGR or SUBTAG and
//     never UNSPECIFIED; clients should treat a UNSPECIFIED provenance value as
//     "unknown / not yet determined".
type AlarmProviderMode int32

const (
	AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED AlarmProviderMode = 0
	AlarmProviderMode_ALARM_PROVIDER_MODE_ALARMMGR    AlarmProviderMode = 1
	AlarmProviderMode_ALARM_PROVIDER_MODE_SUBTAG      AlarmProviderMode = 2
)

// Enum value maps for AlarmProviderMode.
var (
	AlarmProviderMode_name = map[int32]string{
		0: "ALARM_PROVIDER_MODE_UNSPECIFIED",
		1: "ALARM_PROVIDER_MODE_ALARMMGR",
		2: "ALARM_PROVIDER_MODE_SUBTAG",
	}
	AlarmProviderMode_value = map[string]int32{
		"ALARM_PROVIDER_MODE_UNSPECIFIED": 0,
		"ALARM_PROVIDER_MODE_ALARMMGR":    1,
		"ALARM_PROVIDER_MODE_SUBTAG":      2,
	}
)

func (x AlarmProviderMode) Enum() *AlarmProviderMode {
	p := new(AlarmProviderMode)
	*p = x
	return p
}

func (x AlarmProviderMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AlarmProviderMode) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[1].Descriptor()
}

func (AlarmProviderMode) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[1]
}

func (x AlarmProviderMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AlarmProviderMode.Descriptor instead.
func (AlarmProviderMode) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{1}
}

type MxEventFamily int32

const (
	MxEventFamily_MX_EVENT_FAMILY_UNSPECIFIED                    MxEventFamily = 0
	MxEventFamily_MX_EVENT_FAMILY_ON_DATA_CHANGE                 MxEventFamily = 1
	MxEventFamily_MX_EVENT_FAMILY_ON_WRITE_COMPLETE              MxEventFamily = 2
	MxEventFamily_MX_EVENT_FAMILY_OPERATION_COMPLETE             MxEventFamily = 3
	MxEventFamily_MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE        MxEventFamily = 4
	MxEventFamily_MX_EVENT_FAMILY_ON_ALARM_TRANSITION            MxEventFamily = 5
	MxEventFamily_MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED MxEventFamily = 6
)

// Enum value maps for MxEventFamily.
var (
	MxEventFamily_name = map[int32]string{
		0: "MX_EVENT_FAMILY_UNSPECIFIED",
		1: "MX_EVENT_FAMILY_ON_DATA_CHANGE",
		2: "MX_EVENT_FAMILY_ON_WRITE_COMPLETE",
		3: "MX_EVENT_FAMILY_OPERATION_COMPLETE",
		4: "MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE",
		5: "MX_EVENT_FAMILY_ON_ALARM_TRANSITION",
		6: "MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED",
	}
	MxEventFamily_value = map[string]int32{
		"MX_EVENT_FAMILY_UNSPECIFIED":                    0,
		"MX_EVENT_FAMILY_ON_DATA_CHANGE":                 1,
		"MX_EVENT_FAMILY_ON_WRITE_COMPLETE":              2,
		"MX_EVENT_FAMILY_OPERATION_COMPLETE":             3,
		"MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE":        4,
		"MX_EVENT_FAMILY_ON_ALARM_TRANSITION":            5,
		"MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED": 6,
	}
)

func (x MxEventFamily) Enum() *MxEventFamily {
	p := new(MxEventFamily)
	*p = x
	return p
}

func (x MxEventFamily) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MxEventFamily) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[2].Descriptor()
}

func (MxEventFamily) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[2]
}

func (x MxEventFamily) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MxEventFamily.Descriptor instead.
func (MxEventFamily) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{2}
}

type AlarmTransitionKind int32

const (
	AlarmTransitionKind_ALARM_TRANSITION_KIND_UNSPECIFIED AlarmTransitionKind = 0
	AlarmTransitionKind_ALARM_TRANSITION_KIND_RAISE       AlarmTransitionKind = 1
	AlarmTransitionKind_ALARM_TRANSITION_KIND_ACKNOWLEDGE AlarmTransitionKind = 2
	AlarmTransitionKind_ALARM_TRANSITION_KIND_CLEAR       AlarmTransitionKind = 3
	AlarmTransitionKind_ALARM_TRANSITION_KIND_RETRIGGER   AlarmTransitionKind = 4
)

// Enum value maps for AlarmTransitionKind.
var (
	AlarmTransitionKind_name = map[int32]string{
		0: "ALARM_TRANSITION_KIND_UNSPECIFIED",
		1: "ALARM_TRANSITION_KIND_RAISE",
		2: "ALARM_TRANSITION_KIND_ACKNOWLEDGE",
		3: "ALARM_TRANSITION_KIND_CLEAR",
		4: "ALARM_TRANSITION_KIND_RETRIGGER",
	}
	AlarmTransitionKind_value = map[string]int32{
		"ALARM_TRANSITION_KIND_UNSPECIFIED": 0,
		"ALARM_TRANSITION_KIND_RAISE":       1,
		"ALARM_TRANSITION_KIND_ACKNOWLEDGE": 2,
		"ALARM_TRANSITION_KIND_CLEAR":       3,
		"ALARM_TRANSITION_KIND_RETRIGGER":   4,
	}
)

func (x AlarmTransitionKind) Enum() *AlarmTransitionKind {
	p := new(AlarmTransitionKind)
	*p = x
	return p
}

func (x AlarmTransitionKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AlarmTransitionKind) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[3].Descriptor()
}

func (AlarmTransitionKind) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[3]
}

func (x AlarmTransitionKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AlarmTransitionKind.Descriptor instead.
func (AlarmTransitionKind) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{3}
}

type AlarmConditionState int32

const (
	AlarmConditionState_ALARM_CONDITION_STATE_UNSPECIFIED  AlarmConditionState = 0
	AlarmConditionState_ALARM_CONDITION_STATE_ACTIVE       AlarmConditionState = 1
	AlarmConditionState_ALARM_CONDITION_STATE_ACTIVE_ACKED AlarmConditionState = 2
	AlarmConditionState_ALARM_CONDITION_STATE_INACTIVE     AlarmConditionState = 3
)

// Enum value maps for AlarmConditionState.
var (
	AlarmConditionState_name = map[int32]string{
		0: "ALARM_CONDITION_STATE_UNSPECIFIED",
		1: "ALARM_CONDITION_STATE_ACTIVE",
		2: "ALARM_CONDITION_STATE_ACTIVE_ACKED",
		3: "ALARM_CONDITION_STATE_INACTIVE",
	}
	AlarmConditionState_value = map[string]int32{
		"ALARM_CONDITION_STATE_UNSPECIFIED":  0,
		"ALARM_CONDITION_STATE_ACTIVE":       1,
		"ALARM_CONDITION_STATE_ACTIVE_ACKED": 2,
		"ALARM_CONDITION_STATE_INACTIVE":     3,
	}
)

func (x AlarmConditionState) Enum() *AlarmConditionState {
	p := new(AlarmConditionState)
	*p = x
	return p
}

func (x AlarmConditionState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AlarmConditionState) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[4].Descriptor()
}

func (AlarmConditionState) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[4]
}

func (x AlarmConditionState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AlarmConditionState.Descriptor instead.
func (AlarmConditionState) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{4}
}

type MxStatusCategory int32

const (
	MxStatusCategory_MX_STATUS_CATEGORY_UNSPECIFIED         MxStatusCategory = 0
	MxStatusCategory_MX_STATUS_CATEGORY_UNKNOWN             MxStatusCategory = 1
	MxStatusCategory_MX_STATUS_CATEGORY_OK                  MxStatusCategory = 2
	MxStatusCategory_MX_STATUS_CATEGORY_PENDING             MxStatusCategory = 3
	MxStatusCategory_MX_STATUS_CATEGORY_WARNING             MxStatusCategory = 4
	MxStatusCategory_MX_STATUS_CATEGORY_COMMUNICATION_ERROR MxStatusCategory = 5
	MxStatusCategory_MX_STATUS_CATEGORY_CONFIGURATION_ERROR MxStatusCategory = 6
	MxStatusCategory_MX_STATUS_CATEGORY_OPERATIONAL_ERROR   MxStatusCategory = 7
	MxStatusCategory_MX_STATUS_CATEGORY_SECURITY_ERROR      MxStatusCategory = 8
	MxStatusCategory_MX_STATUS_CATEGORY_SOFTWARE_ERROR      MxStatusCategory = 9
	MxStatusCategory_MX_STATUS_CATEGORY_OTHER_ERROR         MxStatusCategory = 10
)

// Enum value maps for MxStatusCategory.
var (
	MxStatusCategory_name = map[int32]string{
		0:  "MX_STATUS_CATEGORY_UNSPECIFIED",
		1:  "MX_STATUS_CATEGORY_UNKNOWN",
		2:  "MX_STATUS_CATEGORY_OK",
		3:  "MX_STATUS_CATEGORY_PENDING",
		4:  "MX_STATUS_CATEGORY_WARNING",
		5:  "MX_STATUS_CATEGORY_COMMUNICATION_ERROR",
		6:  "MX_STATUS_CATEGORY_CONFIGURATION_ERROR",
		7:  "MX_STATUS_CATEGORY_OPERATIONAL_ERROR",
		8:  "MX_STATUS_CATEGORY_SECURITY_ERROR",
		9:  "MX_STATUS_CATEGORY_SOFTWARE_ERROR",
		10: "MX_STATUS_CATEGORY_OTHER_ERROR",
	}
	MxStatusCategory_value = map[string]int32{
		"MX_STATUS_CATEGORY_UNSPECIFIED":         0,
		"MX_STATUS_CATEGORY_UNKNOWN":             1,
		"MX_STATUS_CATEGORY_OK":                  2,
		"MX_STATUS_CATEGORY_PENDING":             3,
		"MX_STATUS_CATEGORY_WARNING":             4,
		"MX_STATUS_CATEGORY_COMMUNICATION_ERROR": 5,
		"MX_STATUS_CATEGORY_CONFIGURATION_ERROR": 6,
		"MX_STATUS_CATEGORY_OPERATIONAL_ERROR":   7,
		"MX_STATUS_CATEGORY_SECURITY_ERROR":      8,
		"MX_STATUS_CATEGORY_SOFTWARE_ERROR":      9,
		"MX_STATUS_CATEGORY_OTHER_ERROR":         10,
	}
)

func (x MxStatusCategory) Enum() *MxStatusCategory {
	p := new(MxStatusCategory)
	*p = x
	return p
}

func (x MxStatusCategory) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MxStatusCategory) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[5].Descriptor()
}

func (MxStatusCategory) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[5]
}

func (x MxStatusCategory) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MxStatusCategory.Descriptor instead.
func (MxStatusCategory) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{5}
}

type MxStatusSource int32

const (
	MxStatusSource_MX_STATUS_SOURCE_UNSPECIFIED                  MxStatusSource = 0
	MxStatusSource_MX_STATUS_SOURCE_UNKNOWN                      MxStatusSource = 1
	MxStatusSource_MX_STATUS_SOURCE_REQUESTING_LMX               MxStatusSource = 2
	MxStatusSource_MX_STATUS_SOURCE_RESPONDING_LMX               MxStatusSource = 3
	MxStatusSource_MX_STATUS_SOURCE_REQUESTING_NMX               MxStatusSource = 4
	MxStatusSource_MX_STATUS_SOURCE_RESPONDING_NMX               MxStatusSource = 5
	MxStatusSource_MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT MxStatusSource = 6
	MxStatusSource_MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT MxStatusSource = 7
)

// Enum value maps for MxStatusSource.
var (
	MxStatusSource_name = map[int32]string{
		0: "MX_STATUS_SOURCE_UNSPECIFIED",
		1: "MX_STATUS_SOURCE_UNKNOWN",
		2: "MX_STATUS_SOURCE_REQUESTING_LMX",
		3: "MX_STATUS_SOURCE_RESPONDING_LMX",
		4: "MX_STATUS_SOURCE_REQUESTING_NMX",
		5: "MX_STATUS_SOURCE_RESPONDING_NMX",
		6: "MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT",
		7: "MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT",
	}
	MxStatusSource_value = map[string]int32{
		"MX_STATUS_SOURCE_UNSPECIFIED":                  0,
		"MX_STATUS_SOURCE_UNKNOWN":                      1,
		"MX_STATUS_SOURCE_REQUESTING_LMX":               2,
		"MX_STATUS_SOURCE_RESPONDING_LMX":               3,
		"MX_STATUS_SOURCE_REQUESTING_NMX":               4,
		"MX_STATUS_SOURCE_RESPONDING_NMX":               5,
		"MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT": 6,
		"MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT": 7,
	}
)

func (x MxStatusSource) Enum() *MxStatusSource {
	p := new(MxStatusSource)
	*p = x
	return p
}

func (x MxStatusSource) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MxStatusSource) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[6].Descriptor()
}

func (MxStatusSource) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[6]
}

func (x MxStatusSource) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MxStatusSource.Descriptor instead.
func (MxStatusSource) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{6}
}

type MxDataType int32

const (
	MxDataType_MX_DATA_TYPE_UNSPECIFIED                  MxDataType = 0
	MxDataType_MX_DATA_TYPE_UNKNOWN                      MxDataType = 1
	MxDataType_MX_DATA_TYPE_NO_DATA                      MxDataType = 2
	MxDataType_MX_DATA_TYPE_BOOLEAN                      MxDataType = 3
	MxDataType_MX_DATA_TYPE_INTEGER                      MxDataType = 4
	MxDataType_MX_DATA_TYPE_FLOAT                        MxDataType = 5
	MxDataType_MX_DATA_TYPE_DOUBLE                       MxDataType = 6
	MxDataType_MX_DATA_TYPE_STRING                       MxDataType = 7
	MxDataType_MX_DATA_TYPE_TIME                         MxDataType = 8
	MxDataType_MX_DATA_TYPE_ELAPSED_TIME                 MxDataType = 9
	MxDataType_MX_DATA_TYPE_REFERENCE_TYPE               MxDataType = 10
	MxDataType_MX_DATA_TYPE_STATUS_TYPE                  MxDataType = 11
	MxDataType_MX_DATA_TYPE_ENUM                         MxDataType = 12
	MxDataType_MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM MxDataType = 13
	MxDataType_MX_DATA_TYPE_DATA_QUALITY_TYPE            MxDataType = 14
	MxDataType_MX_DATA_TYPE_QUALIFIED_ENUM               MxDataType = 15
	MxDataType_MX_DATA_TYPE_QUALIFIED_STRUCT             MxDataType = 16
	MxDataType_MX_DATA_TYPE_INTERNATIONALIZED_STRING     MxDataType = 17
	MxDataType_MX_DATA_TYPE_BIG_STRING                   MxDataType = 18
	MxDataType_MX_DATA_TYPE_END                          MxDataType = 19
)

// Enum value maps for MxDataType.
var (
	MxDataType_name = map[int32]string{
		0:  "MX_DATA_TYPE_UNSPECIFIED",
		1:  "MX_DATA_TYPE_UNKNOWN",
		2:  "MX_DATA_TYPE_NO_DATA",
		3:  "MX_DATA_TYPE_BOOLEAN",
		4:  "MX_DATA_TYPE_INTEGER",
		5:  "MX_DATA_TYPE_FLOAT",
		6:  "MX_DATA_TYPE_DOUBLE",
		7:  "MX_DATA_TYPE_STRING",
		8:  "MX_DATA_TYPE_TIME",
		9:  "MX_DATA_TYPE_ELAPSED_TIME",
		10: "MX_DATA_TYPE_REFERENCE_TYPE",
		11: "MX_DATA_TYPE_STATUS_TYPE",
		12: "MX_DATA_TYPE_ENUM",
		13: "MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM",
		14: "MX_DATA_TYPE_DATA_QUALITY_TYPE",
		15: "MX_DATA_TYPE_QUALIFIED_ENUM",
		16: "MX_DATA_TYPE_QUALIFIED_STRUCT",
		17: "MX_DATA_TYPE_INTERNATIONALIZED_STRING",
		18: "MX_DATA_TYPE_BIG_STRING",
		19: "MX_DATA_TYPE_END",
	}
	MxDataType_value = map[string]int32{
		"MX_DATA_TYPE_UNSPECIFIED":                  0,
		"MX_DATA_TYPE_UNKNOWN":                      1,
		"MX_DATA_TYPE_NO_DATA":                      2,
		"MX_DATA_TYPE_BOOLEAN":                      3,
		"MX_DATA_TYPE_INTEGER":                      4,
		"MX_DATA_TYPE_FLOAT":                        5,
		"MX_DATA_TYPE_DOUBLE":                       6,
		"MX_DATA_TYPE_STRING":                       7,
		"MX_DATA_TYPE_TIME":                         8,
		"MX_DATA_TYPE_ELAPSED_TIME":                 9,
		"MX_DATA_TYPE_REFERENCE_TYPE":               10,
		"MX_DATA_TYPE_STATUS_TYPE":                  11,
		"MX_DATA_TYPE_ENUM":                         12,
		"MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM": 13,
		"MX_DATA_TYPE_DATA_QUALITY_TYPE":            14,
		"MX_DATA_TYPE_QUALIFIED_ENUM":               15,
		"MX_DATA_TYPE_QUALIFIED_STRUCT":             16,
		"MX_DATA_TYPE_INTERNATIONALIZED_STRING":     17,
		"MX_DATA_TYPE_BIG_STRING":                   18,
		"MX_DATA_TYPE_END":                          19,
	}
)

func (x MxDataType) Enum() *MxDataType {
	p := new(MxDataType)
	*p = x
	return p
}

func (x MxDataType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MxDataType) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[7].Descriptor()
}

func (MxDataType) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[7]
}

func (x MxDataType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MxDataType.Descriptor instead.
func (MxDataType) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{7}
}

type ProtocolStatusCode int32

const (
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_UNSPECIFIED        ProtocolStatusCode = 0
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_OK                 ProtocolStatusCode = 1
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_INVALID_REQUEST    ProtocolStatusCode = 2
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND  ProtocolStatusCode = 3
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_SESSION_NOT_READY  ProtocolStatusCode = 4
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE ProtocolStatusCode = 5
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_TIMEOUT            ProtocolStatusCode = 6
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_CANCELED           ProtocolStatusCode = 7
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION ProtocolStatusCode = 8
	ProtocolStatusCode_PROTOCOL_STATUS_CODE_MXACCESS_FAILURE   ProtocolStatusCode = 9
)

// Enum value maps for ProtocolStatusCode.
var (
	ProtocolStatusCode_name = map[int32]string{
		0: "PROTOCOL_STATUS_CODE_UNSPECIFIED",
		1: "PROTOCOL_STATUS_CODE_OK",
		2: "PROTOCOL_STATUS_CODE_INVALID_REQUEST",
		3: "PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND",
		4: "PROTOCOL_STATUS_CODE_SESSION_NOT_READY",
		5: "PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE",
		6: "PROTOCOL_STATUS_CODE_TIMEOUT",
		7: "PROTOCOL_STATUS_CODE_CANCELED",
		8: "PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION",
		9: "PROTOCOL_STATUS_CODE_MXACCESS_FAILURE",
	}
	ProtocolStatusCode_value = map[string]int32{
		"PROTOCOL_STATUS_CODE_UNSPECIFIED":        0,
		"PROTOCOL_STATUS_CODE_OK":                 1,
		"PROTOCOL_STATUS_CODE_INVALID_REQUEST":    2,
		"PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND":  3,
		"PROTOCOL_STATUS_CODE_SESSION_NOT_READY":  4,
		"PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE": 5,
		"PROTOCOL_STATUS_CODE_TIMEOUT":            6,
		"PROTOCOL_STATUS_CODE_CANCELED":           7,
		"PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION": 8,
		"PROTOCOL_STATUS_CODE_MXACCESS_FAILURE":   9,
	}
)

func (x ProtocolStatusCode) Enum() *ProtocolStatusCode {
	p := new(ProtocolStatusCode)
	*p = x
	return p
}

func (x ProtocolStatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ProtocolStatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[8].Descriptor()
}

func (ProtocolStatusCode) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[8]
}

func (x ProtocolStatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ProtocolStatusCode.Descriptor instead.
func (ProtocolStatusCode) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{8}
}

type SessionState int32

const (
	SessionState_SESSION_STATE_UNSPECIFIED         SessionState = 0
	SessionState_SESSION_STATE_CREATING            SessionState = 1
	SessionState_SESSION_STATE_STARTING_WORKER     SessionState = 2
	SessionState_SESSION_STATE_WAITING_FOR_PIPE    SessionState = 3
	SessionState_SESSION_STATE_HANDSHAKING         SessionState = 4
	SessionState_SESSION_STATE_INITIALIZING_WORKER SessionState = 5
	SessionState_SESSION_STATE_READY               SessionState = 6
	SessionState_SESSION_STATE_CLOSING             SessionState = 7
	SessionState_SESSION_STATE_CLOSED              SessionState = 8
	SessionState_SESSION_STATE_FAULTED             SessionState = 9
)

// Enum value maps for SessionState.
var (
	SessionState_name = map[int32]string{
		0: "SESSION_STATE_UNSPECIFIED",
		1: "SESSION_STATE_CREATING",
		2: "SESSION_STATE_STARTING_WORKER",
		3: "SESSION_STATE_WAITING_FOR_PIPE",
		4: "SESSION_STATE_HANDSHAKING",
		5: "SESSION_STATE_INITIALIZING_WORKER",
		6: "SESSION_STATE_READY",
		7: "SESSION_STATE_CLOSING",
		8: "SESSION_STATE_CLOSED",
		9: "SESSION_STATE_FAULTED",
	}
	SessionState_value = map[string]int32{
		"SESSION_STATE_UNSPECIFIED":         0,
		"SESSION_STATE_CREATING":            1,
		"SESSION_STATE_STARTING_WORKER":     2,
		"SESSION_STATE_WAITING_FOR_PIPE":    3,
		"SESSION_STATE_HANDSHAKING":         4,
		"SESSION_STATE_INITIALIZING_WORKER": 5,
		"SESSION_STATE_READY":               6,
		"SESSION_STATE_CLOSING":             7,
		"SESSION_STATE_CLOSED":              8,
		"SESSION_STATE_FAULTED":             9,
	}
)

func (x SessionState) Enum() *SessionState {
	p := new(SessionState)
	*p = x
	return p
}

func (x SessionState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SessionState) Descriptor() protoreflect.EnumDescriptor {
	return file_mxaccess_gateway_proto_enumTypes[9].Descriptor()
}

func (SessionState) Type() protoreflect.EnumType {
	return &file_mxaccess_gateway_proto_enumTypes[9]
}

func (x SessionState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SessionState.Descriptor instead.
func (SessionState) EnumDescriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{9}
}

// Public request shape for QueryActiveAlarms.
// Clients may leave `session_id` empty; the gateway currently ignores it and
// serves the session-less central-monitor cache. A future version may use it
// to scope the snapshot to one session.
type QueryActiveAlarmsRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	SessionId           string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	ClientCorrelationId string                 `protobuf:"bytes,2,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	// Optional filter: when non-empty, only snapshots whose alarm_full_reference
	// starts with this string are returned.
	AlarmFilterPrefix string `protobuf:"bytes,3,opt,name=alarm_filter_prefix,json=alarmFilterPrefix,proto3" json:"alarm_filter_prefix,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *QueryActiveAlarmsRequest) Reset() {
	*x = QueryActiveAlarmsRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryActiveAlarmsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryActiveAlarmsRequest) ProtoMessage() {}

func (x *QueryActiveAlarmsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryActiveAlarmsRequest.ProtoReflect.Descriptor instead.
func (*QueryActiveAlarmsRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{0}
}

func (x *QueryActiveAlarmsRequest) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *QueryActiveAlarmsRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

func (x *QueryActiveAlarmsRequest) GetAlarmFilterPrefix() string {
	if x != nil {
		return x.AlarmFilterPrefix
	}
	return ""
}

type OpenSessionRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	RequestedBackend    string                 `protobuf:"bytes,1,opt,name=requested_backend,json=requestedBackend,proto3" json:"requested_backend,omitempty"`
	ClientSessionName   string                 `protobuf:"bytes,2,opt,name=client_session_name,json=clientSessionName,proto3" json:"client_session_name,omitempty"`
	ClientCorrelationId string                 `protobuf:"bytes,3,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	CommandTimeout      *durationpb.Duration   `protobuf:"bytes,4,opt,name=command_timeout,json=commandTimeout,proto3" json:"command_timeout,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *OpenSessionRequest) Reset() {
	*x = OpenSessionRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OpenSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenSessionRequest) ProtoMessage() {}

func (x *OpenSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenSessionRequest.ProtoReflect.Descriptor instead.
func (*OpenSessionRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{1}
}

func (x *OpenSessionRequest) GetRequestedBackend() string {
	if x != nil {
		return x.RequestedBackend
	}
	return ""
}

func (x *OpenSessionRequest) GetClientSessionName() string {
	if x != nil {
		return x.ClientSessionName
	}
	return ""
}

func (x *OpenSessionRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

func (x *OpenSessionRequest) GetCommandTimeout() *durationpb.Duration {
	if x != nil {
		return x.CommandTimeout
	}
	return nil
}

type OpenSessionReply struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	SessionId             string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	BackendName           string                 `protobuf:"bytes,2,opt,name=backend_name,json=backendName,proto3" json:"backend_name,omitempty"`
	WorkerProcessId       int32                  `protobuf:"varint,3,opt,name=worker_process_id,json=workerProcessId,proto3" json:"worker_process_id,omitempty"`
	WorkerProtocolVersion uint32                 `protobuf:"varint,4,opt,name=worker_protocol_version,json=workerProtocolVersion,proto3" json:"worker_protocol_version,omitempty"`
	Capabilities          []string               `protobuf:"bytes,5,rep,name=capabilities,proto3" json:"capabilities,omitempty"`
	DefaultCommandTimeout *durationpb.Duration   `protobuf:"bytes,6,opt,name=default_command_timeout,json=defaultCommandTimeout,proto3" json:"default_command_timeout,omitempty"`
	ProtocolStatus        *ProtocolStatus        `protobuf:"bytes,7,opt,name=protocol_status,json=protocolStatus,proto3" json:"protocol_status,omitempty"`
	// Public gateway contract version implemented by this endpoint. Clients use
	// this value to reject incompatible generated-code inputs before issuing
	// command-specific MXAccess calls.
	GatewayProtocolVersion uint32 `protobuf:"varint,8,opt,name=gateway_protocol_version,json=gatewayProtocolVersion,proto3" json:"gateway_protocol_version,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *OpenSessionReply) Reset() {
	*x = OpenSessionReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OpenSessionReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OpenSessionReply) ProtoMessage() {}

func (x *OpenSessionReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OpenSessionReply.ProtoReflect.Descriptor instead.
func (*OpenSessionReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{2}
}

func (x *OpenSessionReply) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *OpenSessionReply) GetBackendName() string {
	if x != nil {
		return x.BackendName
	}
	return ""
}

func (x *OpenSessionReply) GetWorkerProcessId() int32 {
	if x != nil {
		return x.WorkerProcessId
	}
	return 0
}

func (x *OpenSessionReply) GetWorkerProtocolVersion() uint32 {
	if x != nil {
		return x.WorkerProtocolVersion
	}
	return 0
}

func (x *OpenSessionReply) GetCapabilities() []string {
	if x != nil {
		return x.Capabilities
	}
	return nil
}

func (x *OpenSessionReply) GetDefaultCommandTimeout() *durationpb.Duration {
	if x != nil {
		return x.DefaultCommandTimeout
	}
	return nil
}

func (x *OpenSessionReply) GetProtocolStatus() *ProtocolStatus {
	if x != nil {
		return x.ProtocolStatus
	}
	return nil
}

func (x *OpenSessionReply) GetGatewayProtocolVersion() uint32 {
	if x != nil {
		return x.GatewayProtocolVersion
	}
	return 0
}

type CloseSessionRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	SessionId           string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	ClientCorrelationId string                 `protobuf:"bytes,2,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *CloseSessionRequest) Reset() {
	*x = CloseSessionRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CloseSessionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CloseSessionRequest) ProtoMessage() {}

func (x *CloseSessionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CloseSessionRequest.ProtoReflect.Descriptor instead.
func (*CloseSessionRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{3}
}

func (x *CloseSessionRequest) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *CloseSessionRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

type CloseSessionReply struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	SessionId      string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	FinalState     SessionState           `protobuf:"varint,2,opt,name=final_state,json=finalState,proto3,enum=mxaccess_gateway.v1.SessionState" json:"final_state,omitempty"`
	ProtocolStatus *ProtocolStatus        `protobuf:"bytes,3,opt,name=protocol_status,json=protocolStatus,proto3" json:"protocol_status,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CloseSessionReply) Reset() {
	*x = CloseSessionReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CloseSessionReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CloseSessionReply) ProtoMessage() {}

func (x *CloseSessionReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CloseSessionReply.ProtoReflect.Descriptor instead.
func (*CloseSessionReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{4}
}

func (x *CloseSessionReply) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *CloseSessionReply) GetFinalState() SessionState {
	if x != nil {
		return x.FinalState
	}
	return SessionState_SESSION_STATE_UNSPECIFIED
}

func (x *CloseSessionReply) GetProtocolStatus() *ProtocolStatus {
	if x != nil {
		return x.ProtocolStatus
	}
	return nil
}

type StreamEventsRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	SessionId           string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	AfterWorkerSequence uint64                 `protobuf:"varint,2,opt,name=after_worker_sequence,json=afterWorkerSequence,proto3" json:"after_worker_sequence,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *StreamEventsRequest) Reset() {
	*x = StreamEventsRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamEventsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamEventsRequest) ProtoMessage() {}

func (x *StreamEventsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamEventsRequest.ProtoReflect.Descriptor instead.
func (*StreamEventsRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{5}
}

func (x *StreamEventsRequest) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *StreamEventsRequest) GetAfterWorkerSequence() uint64 {
	if x != nil {
		return x.AfterWorkerSequence
	}
	return 0
}

type MxCommandRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	SessionId           string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	ClientCorrelationId string                 `protobuf:"bytes,2,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	Command             *MxCommand             `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *MxCommandRequest) Reset() {
	*x = MxCommandRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxCommandRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxCommandRequest) ProtoMessage() {}

func (x *MxCommandRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxCommandRequest.ProtoReflect.Descriptor instead.
func (*MxCommandRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{6}
}

func (x *MxCommandRequest) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *MxCommandRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

func (x *MxCommandRequest) GetCommand() *MxCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

type MxCommand struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Kind  MxCommandKind          `protobuf:"varint,1,opt,name=kind,proto3,enum=mxaccess_gateway.v1.MxCommandKind" json:"kind,omitempty"`
	// Types that are valid to be assigned to Payload:
	//
	//	*MxCommand_Register
	//	*MxCommand_Unregister
	//	*MxCommand_AddItem
	//	*MxCommand_AddItem2
	//	*MxCommand_RemoveItem
	//	*MxCommand_Advise
	//	*MxCommand_UnAdvise
	//	*MxCommand_AdviseSupervisory
	//	*MxCommand_AddBufferedItem
	//	*MxCommand_SetBufferedUpdateInterval
	//	*MxCommand_Suspend
	//	*MxCommand_Activate
	//	*MxCommand_Write
	//	*MxCommand_Write2
	//	*MxCommand_WriteSecured
	//	*MxCommand_WriteSecured2
	//	*MxCommand_AuthenticateUser
	//	*MxCommand_ArchestraUserToId
	//	*MxCommand_AddItemBulk
	//	*MxCommand_AdviseItemBulk
	//	*MxCommand_RemoveItemBulk
	//	*MxCommand_UnAdviseItemBulk
	//	*MxCommand_SubscribeBulk
	//	*MxCommand_UnsubscribeBulk
	//	*MxCommand_SubscribeAlarms
	//	*MxCommand_UnsubscribeAlarms
	//	*MxCommand_AcknowledgeAlarmCommand
	//	*MxCommand_QueryActiveAlarmsCommand
	//	*MxCommand_AcknowledgeAlarmByNameCommand
	//	*MxCommand_WriteBulk
	//	*MxCommand_Write2Bulk
	//	*MxCommand_WriteSecuredBulk
	//	*MxCommand_WriteSecured2Bulk
	//	*MxCommand_ReadBulk
	//	*MxCommand_Ping
	//	*MxCommand_GetSessionState
	//	*MxCommand_GetWorkerInfo
	//	*MxCommand_DrainEvents
	//	*MxCommand_ShutdownWorker
	Payload       isMxCommand_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxCommand) Reset() {
	*x = MxCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxCommand) ProtoMessage() {}

func (x *MxCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxCommand.ProtoReflect.Descriptor instead.
func (*MxCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{7}
}

func (x *MxCommand) GetKind() MxCommandKind {
	if x != nil {
		return x.Kind
	}
	return MxCommandKind_MX_COMMAND_KIND_UNSPECIFIED
}

func (x *MxCommand) GetPayload() isMxCommand_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *MxCommand) GetRegister() *RegisterCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Register); ok {
			return x.Register
		}
	}
	return nil
}

func (x *MxCommand) GetUnregister() *UnregisterCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Unregister); ok {
			return x.Unregister
		}
	}
	return nil
}

func (x *MxCommand) GetAddItem() *AddItemCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AddItem); ok {
			return x.AddItem
		}
	}
	return nil
}

func (x *MxCommand) GetAddItem2() *AddItem2Command {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AddItem2); ok {
			return x.AddItem2
		}
	}
	return nil
}

func (x *MxCommand) GetRemoveItem() *RemoveItemCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_RemoveItem); ok {
			return x.RemoveItem
		}
	}
	return nil
}

func (x *MxCommand) GetAdvise() *AdviseCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Advise); ok {
			return x.Advise
		}
	}
	return nil
}

func (x *MxCommand) GetUnAdvise() *UnAdviseCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_UnAdvise); ok {
			return x.UnAdvise
		}
	}
	return nil
}

func (x *MxCommand) GetAdviseSupervisory() *AdviseSupervisoryCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AdviseSupervisory); ok {
			return x.AdviseSupervisory
		}
	}
	return nil
}

func (x *MxCommand) GetAddBufferedItem() *AddBufferedItemCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AddBufferedItem); ok {
			return x.AddBufferedItem
		}
	}
	return nil
}

func (x *MxCommand) GetSetBufferedUpdateInterval() *SetBufferedUpdateIntervalCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_SetBufferedUpdateInterval); ok {
			return x.SetBufferedUpdateInterval
		}
	}
	return nil
}

func (x *MxCommand) GetSuspend() *SuspendCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Suspend); ok {
			return x.Suspend
		}
	}
	return nil
}

func (x *MxCommand) GetActivate() *ActivateCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Activate); ok {
			return x.Activate
		}
	}
	return nil
}

func (x *MxCommand) GetWrite() *WriteCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Write); ok {
			return x.Write
		}
	}
	return nil
}

func (x *MxCommand) GetWrite2() *Write2Command {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Write2); ok {
			return x.Write2
		}
	}
	return nil
}

func (x *MxCommand) GetWriteSecured() *WriteSecuredCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_WriteSecured); ok {
			return x.WriteSecured
		}
	}
	return nil
}

func (x *MxCommand) GetWriteSecured2() *WriteSecured2Command {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_WriteSecured2); ok {
			return x.WriteSecured2
		}
	}
	return nil
}

func (x *MxCommand) GetAuthenticateUser() *AuthenticateUserCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AuthenticateUser); ok {
			return x.AuthenticateUser
		}
	}
	return nil
}

func (x *MxCommand) GetArchestraUserToId() *ArchestrAUserToIdCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_ArchestraUserToId); ok {
			return x.ArchestraUserToId
		}
	}
	return nil
}

func (x *MxCommand) GetAddItemBulk() *AddItemBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AddItemBulk); ok {
			return x.AddItemBulk
		}
	}
	return nil
}

func (x *MxCommand) GetAdviseItemBulk() *AdviseItemBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AdviseItemBulk); ok {
			return x.AdviseItemBulk
		}
	}
	return nil
}

func (x *MxCommand) GetRemoveItemBulk() *RemoveItemBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_RemoveItemBulk); ok {
			return x.RemoveItemBulk
		}
	}
	return nil
}

func (x *MxCommand) GetUnAdviseItemBulk() *UnAdviseItemBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_UnAdviseItemBulk); ok {
			return x.UnAdviseItemBulk
		}
	}
	return nil
}

func (x *MxCommand) GetSubscribeBulk() *SubscribeBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_SubscribeBulk); ok {
			return x.SubscribeBulk
		}
	}
	return nil
}

func (x *MxCommand) GetUnsubscribeBulk() *UnsubscribeBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_UnsubscribeBulk); ok {
			return x.UnsubscribeBulk
		}
	}
	return nil
}

func (x *MxCommand) GetSubscribeAlarms() *SubscribeAlarmsCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_SubscribeAlarms); ok {
			return x.SubscribeAlarms
		}
	}
	return nil
}

func (x *MxCommand) GetUnsubscribeAlarms() *UnsubscribeAlarmsCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_UnsubscribeAlarms); ok {
			return x.UnsubscribeAlarms
		}
	}
	return nil
}

func (x *MxCommand) GetAcknowledgeAlarmCommand() *AcknowledgeAlarmCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AcknowledgeAlarmCommand); ok {
			return x.AcknowledgeAlarmCommand
		}
	}
	return nil
}

func (x *MxCommand) GetQueryActiveAlarmsCommand() *QueryActiveAlarmsCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_QueryActiveAlarmsCommand); ok {
			return x.QueryActiveAlarmsCommand
		}
	}
	return nil
}

func (x *MxCommand) GetAcknowledgeAlarmByNameCommand() *AcknowledgeAlarmByNameCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_AcknowledgeAlarmByNameCommand); ok {
			return x.AcknowledgeAlarmByNameCommand
		}
	}
	return nil
}

func (x *MxCommand) GetWriteBulk() *WriteBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_WriteBulk); ok {
			return x.WriteBulk
		}
	}
	return nil
}

func (x *MxCommand) GetWrite2Bulk() *Write2BulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Write2Bulk); ok {
			return x.Write2Bulk
		}
	}
	return nil
}

func (x *MxCommand) GetWriteSecuredBulk() *WriteSecuredBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_WriteSecuredBulk); ok {
			return x.WriteSecuredBulk
		}
	}
	return nil
}

func (x *MxCommand) GetWriteSecured2Bulk() *WriteSecured2BulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_WriteSecured2Bulk); ok {
			return x.WriteSecured2Bulk
		}
	}
	return nil
}

func (x *MxCommand) GetReadBulk() *ReadBulkCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_ReadBulk); ok {
			return x.ReadBulk
		}
	}
	return nil
}

func (x *MxCommand) GetPing() *PingCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_Ping); ok {
			return x.Ping
		}
	}
	return nil
}

func (x *MxCommand) GetGetSessionState() *GetSessionStateCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_GetSessionState); ok {
			return x.GetSessionState
		}
	}
	return nil
}

func (x *MxCommand) GetGetWorkerInfo() *GetWorkerInfoCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_GetWorkerInfo); ok {
			return x.GetWorkerInfo
		}
	}
	return nil
}

func (x *MxCommand) GetDrainEvents() *DrainEventsCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_DrainEvents); ok {
			return x.DrainEvents
		}
	}
	return nil
}

func (x *MxCommand) GetShutdownWorker() *ShutdownWorkerCommand {
	if x != nil {
		if x, ok := x.Payload.(*MxCommand_ShutdownWorker); ok {
			return x.ShutdownWorker
		}
	}
	return nil
}

type isMxCommand_Payload interface {
	isMxCommand_Payload()
}

type MxCommand_Register struct {
	Register *RegisterCommand `protobuf:"bytes,10,opt,name=register,proto3,oneof"`
}

type MxCommand_Unregister struct {
	Unregister *UnregisterCommand `protobuf:"bytes,11,opt,name=unregister,proto3,oneof"`
}

type MxCommand_AddItem struct {
	AddItem *AddItemCommand `protobuf:"bytes,12,opt,name=add_item,json=addItem,proto3,oneof"`
}

type MxCommand_AddItem2 struct {
	AddItem2 *AddItem2Command `protobuf:"bytes,13,opt,name=add_item2,json=addItem2,proto3,oneof"`
}

type MxCommand_RemoveItem struct {
	RemoveItem *RemoveItemCommand `protobuf:"bytes,14,opt,name=remove_item,json=removeItem,proto3,oneof"`
}

type MxCommand_Advise struct {
	Advise *AdviseCommand `protobuf:"bytes,15,opt,name=advise,proto3,oneof"`
}

type MxCommand_UnAdvise struct {
	UnAdvise *UnAdviseCommand `protobuf:"bytes,16,opt,name=un_advise,json=unAdvise,proto3,oneof"`
}

type MxCommand_AdviseSupervisory struct {
	AdviseSupervisory *AdviseSupervisoryCommand `protobuf:"bytes,17,opt,name=advise_supervisory,json=adviseSupervisory,proto3,oneof"`
}

type MxCommand_AddBufferedItem struct {
	AddBufferedItem *AddBufferedItemCommand `protobuf:"bytes,18,opt,name=add_buffered_item,json=addBufferedItem,proto3,oneof"`
}

type MxCommand_SetBufferedUpdateInterval struct {
	SetBufferedUpdateInterval *SetBufferedUpdateIntervalCommand `protobuf:"bytes,19,opt,name=set_buffered_update_interval,json=setBufferedUpdateInterval,proto3,oneof"`
}

type MxCommand_Suspend struct {
	Suspend *SuspendCommand `protobuf:"bytes,20,opt,name=suspend,proto3,oneof"`
}

type MxCommand_Activate struct {
	Activate *ActivateCommand `protobuf:"bytes,21,opt,name=activate,proto3,oneof"`
}

type MxCommand_Write struct {
	Write *WriteCommand `protobuf:"bytes,22,opt,name=write,proto3,oneof"`
}

type MxCommand_Write2 struct {
	Write2 *Write2Command `protobuf:"bytes,23,opt,name=write2,proto3,oneof"`
}

type MxCommand_WriteSecured struct {
	WriteSecured *WriteSecuredCommand `protobuf:"bytes,24,opt,name=write_secured,json=writeSecured,proto3,oneof"`
}

type MxCommand_WriteSecured2 struct {
	WriteSecured2 *WriteSecured2Command `protobuf:"bytes,25,opt,name=write_secured2,json=writeSecured2,proto3,oneof"`
}

type MxCommand_AuthenticateUser struct {
	AuthenticateUser *AuthenticateUserCommand `protobuf:"bytes,26,opt,name=authenticate_user,json=authenticateUser,proto3,oneof"`
}

type MxCommand_ArchestraUserToId struct {
	ArchestraUserToId *ArchestrAUserToIdCommand `protobuf:"bytes,27,opt,name=archestra_user_to_id,json=archestraUserToId,proto3,oneof"`
}

type MxCommand_AddItemBulk struct {
	AddItemBulk *AddItemBulkCommand `protobuf:"bytes,28,opt,name=add_item_bulk,json=addItemBulk,proto3,oneof"`
}

type MxCommand_AdviseItemBulk struct {
	AdviseItemBulk *AdviseItemBulkCommand `protobuf:"bytes,29,opt,name=advise_item_bulk,json=adviseItemBulk,proto3,oneof"`
}

type MxCommand_RemoveItemBulk struct {
	RemoveItemBulk *RemoveItemBulkCommand `protobuf:"bytes,30,opt,name=remove_item_bulk,json=removeItemBulk,proto3,oneof"`
}

type MxCommand_UnAdviseItemBulk struct {
	UnAdviseItemBulk *UnAdviseItemBulkCommand `protobuf:"bytes,31,opt,name=un_advise_item_bulk,json=unAdviseItemBulk,proto3,oneof"`
}

type MxCommand_SubscribeBulk struct {
	SubscribeBulk *SubscribeBulkCommand `protobuf:"bytes,32,opt,name=subscribe_bulk,json=subscribeBulk,proto3,oneof"`
}

type MxCommand_UnsubscribeBulk struct {
	UnsubscribeBulk *UnsubscribeBulkCommand `protobuf:"bytes,33,opt,name=unsubscribe_bulk,json=unsubscribeBulk,proto3,oneof"`
}

type MxCommand_SubscribeAlarms struct {
	SubscribeAlarms *SubscribeAlarmsCommand `protobuf:"bytes,34,opt,name=subscribe_alarms,json=subscribeAlarms,proto3,oneof"`
}

type MxCommand_UnsubscribeAlarms struct {
	UnsubscribeAlarms *UnsubscribeAlarmsCommand `protobuf:"bytes,35,opt,name=unsubscribe_alarms,json=unsubscribeAlarms,proto3,oneof"`
}

type MxCommand_AcknowledgeAlarmCommand struct {
	AcknowledgeAlarmCommand *AcknowledgeAlarmCommand `protobuf:"bytes,36,opt,name=acknowledge_alarm_command,json=acknowledgeAlarmCommand,proto3,oneof"`
}

type MxCommand_QueryActiveAlarmsCommand struct {
	QueryActiveAlarmsCommand *QueryActiveAlarmsCommand `protobuf:"bytes,37,opt,name=query_active_alarms_command,json=queryActiveAlarmsCommand,proto3,oneof"`
}

type MxCommand_AcknowledgeAlarmByNameCommand struct {
	AcknowledgeAlarmByNameCommand *AcknowledgeAlarmByNameCommand `protobuf:"bytes,38,opt,name=acknowledge_alarm_by_name_command,json=acknowledgeAlarmByNameCommand,proto3,oneof"`
}

type MxCommand_WriteBulk struct {
	WriteBulk *WriteBulkCommand `protobuf:"bytes,39,opt,name=write_bulk,json=writeBulk,proto3,oneof"`
}

type MxCommand_Write2Bulk struct {
	Write2Bulk *Write2BulkCommand `protobuf:"bytes,40,opt,name=write2_bulk,json=write2Bulk,proto3,oneof"`
}

type MxCommand_WriteSecuredBulk struct {
	WriteSecuredBulk *WriteSecuredBulkCommand `protobuf:"bytes,41,opt,name=write_secured_bulk,json=writeSecuredBulk,proto3,oneof"`
}

type MxCommand_WriteSecured2Bulk struct {
	WriteSecured2Bulk *WriteSecured2BulkCommand `protobuf:"bytes,42,opt,name=write_secured2_bulk,json=writeSecured2Bulk,proto3,oneof"`
}

type MxCommand_ReadBulk struct {
	ReadBulk *ReadBulkCommand `protobuf:"bytes,43,opt,name=read_bulk,json=readBulk,proto3,oneof"`
}

type MxCommand_Ping struct {
	Ping *PingCommand `protobuf:"bytes,100,opt,name=ping,proto3,oneof"`
}

type MxCommand_GetSessionState struct {
	GetSessionState *GetSessionStateCommand `protobuf:"bytes,101,opt,name=get_session_state,json=getSessionState,proto3,oneof"`
}

type MxCommand_GetWorkerInfo struct {
	GetWorkerInfo *GetWorkerInfoCommand `protobuf:"bytes,102,opt,name=get_worker_info,json=getWorkerInfo,proto3,oneof"`
}

type MxCommand_DrainEvents struct {
	DrainEvents *DrainEventsCommand `protobuf:"bytes,103,opt,name=drain_events,json=drainEvents,proto3,oneof"`
}

type MxCommand_ShutdownWorker struct {
	ShutdownWorker *ShutdownWorkerCommand `protobuf:"bytes,104,opt,name=shutdown_worker,json=shutdownWorker,proto3,oneof"`
}

func (*MxCommand_Register) isMxCommand_Payload() {}

func (*MxCommand_Unregister) isMxCommand_Payload() {}

func (*MxCommand_AddItem) isMxCommand_Payload() {}

func (*MxCommand_AddItem2) isMxCommand_Payload() {}

func (*MxCommand_RemoveItem) isMxCommand_Payload() {}

func (*MxCommand_Advise) isMxCommand_Payload() {}

func (*MxCommand_UnAdvise) isMxCommand_Payload() {}

func (*MxCommand_AdviseSupervisory) isMxCommand_Payload() {}

func (*MxCommand_AddBufferedItem) isMxCommand_Payload() {}

func (*MxCommand_SetBufferedUpdateInterval) isMxCommand_Payload() {}

func (*MxCommand_Suspend) isMxCommand_Payload() {}

func (*MxCommand_Activate) isMxCommand_Payload() {}

func (*MxCommand_Write) isMxCommand_Payload() {}

func (*MxCommand_Write2) isMxCommand_Payload() {}

func (*MxCommand_WriteSecured) isMxCommand_Payload() {}

func (*MxCommand_WriteSecured2) isMxCommand_Payload() {}

func (*MxCommand_AuthenticateUser) isMxCommand_Payload() {}

func (*MxCommand_ArchestraUserToId) isMxCommand_Payload() {}

func (*MxCommand_AddItemBulk) isMxCommand_Payload() {}

func (*MxCommand_AdviseItemBulk) isMxCommand_Payload() {}

func (*MxCommand_RemoveItemBulk) isMxCommand_Payload() {}

func (*MxCommand_UnAdviseItemBulk) isMxCommand_Payload() {}

func (*MxCommand_SubscribeBulk) isMxCommand_Payload() {}

func (*MxCommand_UnsubscribeBulk) isMxCommand_Payload() {}

func (*MxCommand_SubscribeAlarms) isMxCommand_Payload() {}

func (*MxCommand_UnsubscribeAlarms) isMxCommand_Payload() {}

func (*MxCommand_AcknowledgeAlarmCommand) isMxCommand_Payload() {}

func (*MxCommand_QueryActiveAlarmsCommand) isMxCommand_Payload() {}

func (*MxCommand_AcknowledgeAlarmByNameCommand) isMxCommand_Payload() {}

func (*MxCommand_WriteBulk) isMxCommand_Payload() {}

func (*MxCommand_Write2Bulk) isMxCommand_Payload() {}

func (*MxCommand_WriteSecuredBulk) isMxCommand_Payload() {}

func (*MxCommand_WriteSecured2Bulk) isMxCommand_Payload() {}

func (*MxCommand_ReadBulk) isMxCommand_Payload() {}

func (*MxCommand_Ping) isMxCommand_Payload() {}

func (*MxCommand_GetSessionState) isMxCommand_Payload() {}

func (*MxCommand_GetWorkerInfo) isMxCommand_Payload() {}

func (*MxCommand_DrainEvents) isMxCommand_Payload() {}

func (*MxCommand_ShutdownWorker) isMxCommand_Payload() {}

type RegisterCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClientName    string                 `protobuf:"bytes,1,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterCommand) Reset() {
	*x = RegisterCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterCommand) ProtoMessage() {}

func (x *RegisterCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterCommand.ProtoReflect.Descriptor instead.
func (*RegisterCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{8}
}

func (x *RegisterCommand) GetClientName() string {
	if x != nil {
		return x.ClientName
	}
	return ""
}

type UnregisterCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnregisterCommand) Reset() {
	*x = UnregisterCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnregisterCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnregisterCommand) ProtoMessage() {}

func (x *UnregisterCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnregisterCommand.ProtoReflect.Descriptor instead.
func (*UnregisterCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{9}
}

func (x *UnregisterCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

type AddItemCommand struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemDefinition string                 `protobuf:"bytes,2,opt,name=item_definition,json=itemDefinition,proto3" json:"item_definition,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *AddItemCommand) Reset() {
	*x = AddItemCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddItemCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddItemCommand) ProtoMessage() {}

func (x *AddItemCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddItemCommand.ProtoReflect.Descriptor instead.
func (*AddItemCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{10}
}

func (x *AddItemCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AddItemCommand) GetItemDefinition() string {
	if x != nil {
		return x.ItemDefinition
	}
	return ""
}

type AddItem2Command struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemDefinition string                 `protobuf:"bytes,2,opt,name=item_definition,json=itemDefinition,proto3" json:"item_definition,omitempty"`
	ItemContext    string                 `protobuf:"bytes,3,opt,name=item_context,json=itemContext,proto3" json:"item_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *AddItem2Command) Reset() {
	*x = AddItem2Command{}
	mi := &file_mxaccess_gateway_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddItem2Command) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddItem2Command) ProtoMessage() {}

func (x *AddItem2Command) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddItem2Command.ProtoReflect.Descriptor instead.
func (*AddItem2Command) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{11}
}

func (x *AddItem2Command) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AddItem2Command) GetItemDefinition() string {
	if x != nil {
		return x.ItemDefinition
	}
	return ""
}

func (x *AddItem2Command) GetItemContext() string {
	if x != nil {
		return x.ItemContext
	}
	return ""
}

type RemoveItemCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveItemCommand) Reset() {
	*x = RemoveItemCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoveItemCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveItemCommand) ProtoMessage() {}

func (x *RemoveItemCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveItemCommand.ProtoReflect.Descriptor instead.
func (*RemoveItemCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{12}
}

func (x *RemoveItemCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *RemoveItemCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type AdviseCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdviseCommand) Reset() {
	*x = AdviseCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AdviseCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdviseCommand) ProtoMessage() {}

func (x *AdviseCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdviseCommand.ProtoReflect.Descriptor instead.
func (*AdviseCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{13}
}

func (x *AdviseCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AdviseCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type UnAdviseCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnAdviseCommand) Reset() {
	*x = UnAdviseCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnAdviseCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnAdviseCommand) ProtoMessage() {}

func (x *UnAdviseCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnAdviseCommand.ProtoReflect.Descriptor instead.
func (*UnAdviseCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{14}
}

func (x *UnAdviseCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *UnAdviseCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type AdviseSupervisoryCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdviseSupervisoryCommand) Reset() {
	*x = AdviseSupervisoryCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AdviseSupervisoryCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdviseSupervisoryCommand) ProtoMessage() {}

func (x *AdviseSupervisoryCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdviseSupervisoryCommand.ProtoReflect.Descriptor instead.
func (*AdviseSupervisoryCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{15}
}

func (x *AdviseSupervisoryCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AdviseSupervisoryCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type AddBufferedItemCommand struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemDefinition string                 `protobuf:"bytes,2,opt,name=item_definition,json=itemDefinition,proto3" json:"item_definition,omitempty"`
	ItemContext    string                 `protobuf:"bytes,3,opt,name=item_context,json=itemContext,proto3" json:"item_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *AddBufferedItemCommand) Reset() {
	*x = AddBufferedItemCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddBufferedItemCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddBufferedItemCommand) ProtoMessage() {}

func (x *AddBufferedItemCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddBufferedItemCommand.ProtoReflect.Descriptor instead.
func (*AddBufferedItemCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{16}
}

func (x *AddBufferedItemCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AddBufferedItemCommand) GetItemDefinition() string {
	if x != nil {
		return x.ItemDefinition
	}
	return ""
}

func (x *AddBufferedItemCommand) GetItemContext() string {
	if x != nil {
		return x.ItemContext
	}
	return ""
}

type SetBufferedUpdateIntervalCommand struct {
	state                      protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle               int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	UpdateIntervalMilliseconds int32                  `protobuf:"varint,2,opt,name=update_interval_milliseconds,json=updateIntervalMilliseconds,proto3" json:"update_interval_milliseconds,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *SetBufferedUpdateIntervalCommand) Reset() {
	*x = SetBufferedUpdateIntervalCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetBufferedUpdateIntervalCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetBufferedUpdateIntervalCommand) ProtoMessage() {}

func (x *SetBufferedUpdateIntervalCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetBufferedUpdateIntervalCommand.ProtoReflect.Descriptor instead.
func (*SetBufferedUpdateIntervalCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{17}
}

func (x *SetBufferedUpdateIntervalCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *SetBufferedUpdateIntervalCommand) GetUpdateIntervalMilliseconds() int32 {
	if x != nil {
		return x.UpdateIntervalMilliseconds
	}
	return 0
}

type SuspendCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SuspendCommand) Reset() {
	*x = SuspendCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SuspendCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SuspendCommand) ProtoMessage() {}

func (x *SuspendCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SuspendCommand.ProtoReflect.Descriptor instead.
func (*SuspendCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{18}
}

func (x *SuspendCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *SuspendCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type ActivateCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ActivateCommand) Reset() {
	*x = ActivateCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ActivateCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivateCommand) ProtoMessage() {}

func (x *ActivateCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivateCommand.ProtoReflect.Descriptor instead.
func (*ActivateCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{19}
}

func (x *ActivateCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *ActivateCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

// The unary reply's statuses field carries the correlated OnWriteComplete
// outcome when it arrives within the worker's bounded wait — see
// MxCommandReply.statuses.
type WriteCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	Value         *MxValue               `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	UserId        int32                  `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteCommand) Reset() {
	*x = WriteCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteCommand) ProtoMessage() {}

func (x *WriteCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteCommand.ProtoReflect.Descriptor instead.
func (*WriteCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{20}
}

func (x *WriteCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteCommand) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *WriteCommand) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// Same statuses correlation as WriteCommand.
type Write2Command struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle     int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	Value          *MxValue               `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	TimestampValue *MxValue               `protobuf:"bytes,4,opt,name=timestamp_value,json=timestampValue,proto3" json:"timestamp_value,omitempty"`
	UserId         int32                  `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Write2Command) Reset() {
	*x = Write2Command{}
	mi := &file_mxaccess_gateway_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Write2Command) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Write2Command) ProtoMessage() {}

func (x *Write2Command) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Write2Command.ProtoReflect.Descriptor instead.
func (*Write2Command) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{21}
}

func (x *Write2Command) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *Write2Command) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *Write2Command) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *Write2Command) GetTimestampValue() *MxValue {
	if x != nil {
		return x.TimestampValue
	}
	return nil
}

func (x *Write2Command) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// The unary reply's statuses field carries the correlated OnWriteComplete
// outcome when it arrives within the worker's bounded wait — see
// MxCommandReply.statuses.
type WriteSecuredCommand struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle     int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	CurrentUserId  int32                  `protobuf:"varint,3,opt,name=current_user_id,json=currentUserId,proto3" json:"current_user_id,omitempty"`
	VerifierUserId int32                  `protobuf:"varint,4,opt,name=verifier_user_id,json=verifierUserId,proto3" json:"verifier_user_id,omitempty"`
	// Credential-sensitive write value. Implementations must not log this field
	// unless an explicit redacted value-logging path is enabled.
	Value         *MxValue `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteSecuredCommand) Reset() {
	*x = WriteSecuredCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecuredCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecuredCommand) ProtoMessage() {}

func (x *WriteSecuredCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecuredCommand.ProtoReflect.Descriptor instead.
func (*WriteSecuredCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{22}
}

func (x *WriteSecuredCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteSecuredCommand) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteSecuredCommand) GetCurrentUserId() int32 {
	if x != nil {
		return x.CurrentUserId
	}
	return 0
}

func (x *WriteSecuredCommand) GetVerifierUserId() int32 {
	if x != nil {
		return x.VerifierUserId
	}
	return 0
}

func (x *WriteSecuredCommand) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

// The unary reply's statuses field carries the correlated OnWriteComplete
// outcome when it arrives within the worker's bounded wait — see
// MxCommandReply.statuses.
type WriteSecured2Command struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle   int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle     int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	CurrentUserId  int32                  `protobuf:"varint,3,opt,name=current_user_id,json=currentUserId,proto3" json:"current_user_id,omitempty"`
	VerifierUserId int32                  `protobuf:"varint,4,opt,name=verifier_user_id,json=verifierUserId,proto3" json:"verifier_user_id,omitempty"`
	// Credential-sensitive write value. Implementations must not log this field
	// unless an explicit redacted value-logging path is enabled.
	Value          *MxValue `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
	TimestampValue *MxValue `protobuf:"bytes,6,opt,name=timestamp_value,json=timestampValue,proto3" json:"timestamp_value,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *WriteSecured2Command) Reset() {
	*x = WriteSecured2Command{}
	mi := &file_mxaccess_gateway_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecured2Command) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecured2Command) ProtoMessage() {}

func (x *WriteSecured2Command) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecured2Command.ProtoReflect.Descriptor instead.
func (*WriteSecured2Command) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{23}
}

func (x *WriteSecured2Command) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteSecured2Command) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteSecured2Command) GetCurrentUserId() int32 {
	if x != nil {
		return x.CurrentUserId
	}
	return 0
}

func (x *WriteSecured2Command) GetVerifierUserId() int32 {
	if x != nil {
		return x.VerifierUserId
	}
	return 0
}

func (x *WriteSecured2Command) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *WriteSecured2Command) GetTimestampValue() *MxValue {
	if x != nil {
		return x.TimestampValue
	}
	return nil
}

type AuthenticateUserCommand struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	VerifyUser   string                 `protobuf:"bytes,2,opt,name=verify_user,json=verifyUser,proto3" json:"verify_user,omitempty"`
	// Raw MXAccess credential. Implementations must keep this field out of logs,
	// metrics labels, command lines, and diagnostics.
	VerifyUserPassword string `protobuf:"bytes,3,opt,name=verify_user_password,json=verifyUserPassword,proto3" json:"verify_user_password,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *AuthenticateUserCommand) Reset() {
	*x = AuthenticateUserCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AuthenticateUserCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AuthenticateUserCommand) ProtoMessage() {}

func (x *AuthenticateUserCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AuthenticateUserCommand.ProtoReflect.Descriptor instead.
func (*AuthenticateUserCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{24}
}

func (x *AuthenticateUserCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AuthenticateUserCommand) GetVerifyUser() string {
	if x != nil {
		return x.VerifyUser
	}
	return ""
}

func (x *AuthenticateUserCommand) GetVerifyUserPassword() string {
	if x != nil {
		return x.VerifyUserPassword
	}
	return ""
}

type ArchestrAUserToIdCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	UserIdGuid    string                 `protobuf:"bytes,2,opt,name=user_id_guid,json=userIdGuid,proto3" json:"user_id_guid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArchestrAUserToIdCommand) Reset() {
	*x = ArchestrAUserToIdCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArchestrAUserToIdCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArchestrAUserToIdCommand) ProtoMessage() {}

func (x *ArchestrAUserToIdCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArchestrAUserToIdCommand.ProtoReflect.Descriptor instead.
func (*ArchestrAUserToIdCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{25}
}

func (x *ArchestrAUserToIdCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *ArchestrAUserToIdCommand) GetUserIdGuid() string {
	if x != nil {
		return x.UserIdGuid
	}
	return ""
}

type AddItemBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	TagAddresses  []string               `protobuf:"bytes,2,rep,name=tag_addresses,json=tagAddresses,proto3" json:"tag_addresses,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddItemBulkCommand) Reset() {
	*x = AddItemBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddItemBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddItemBulkCommand) ProtoMessage() {}

func (x *AddItemBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddItemBulkCommand.ProtoReflect.Descriptor instead.
func (*AddItemBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{26}
}

func (x *AddItemBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AddItemBulkCommand) GetTagAddresses() []string {
	if x != nil {
		return x.TagAddresses
	}
	return nil
}

type AdviseItemBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandles   []int32                `protobuf:"varint,2,rep,packed,name=item_handles,json=itemHandles,proto3" json:"item_handles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdviseItemBulkCommand) Reset() {
	*x = AdviseItemBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AdviseItemBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AdviseItemBulkCommand) ProtoMessage() {}

func (x *AdviseItemBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AdviseItemBulkCommand.ProtoReflect.Descriptor instead.
func (*AdviseItemBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{27}
}

func (x *AdviseItemBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *AdviseItemBulkCommand) GetItemHandles() []int32 {
	if x != nil {
		return x.ItemHandles
	}
	return nil
}

type RemoveItemBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandles   []int32                `protobuf:"varint,2,rep,packed,name=item_handles,json=itemHandles,proto3" json:"item_handles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveItemBulkCommand) Reset() {
	*x = RemoveItemBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoveItemBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveItemBulkCommand) ProtoMessage() {}

func (x *RemoveItemBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveItemBulkCommand.ProtoReflect.Descriptor instead.
func (*RemoveItemBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{28}
}

func (x *RemoveItemBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *RemoveItemBulkCommand) GetItemHandles() []int32 {
	if x != nil {
		return x.ItemHandles
	}
	return nil
}

type UnAdviseItemBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandles   []int32                `protobuf:"varint,2,rep,packed,name=item_handles,json=itemHandles,proto3" json:"item_handles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnAdviseItemBulkCommand) Reset() {
	*x = UnAdviseItemBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnAdviseItemBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnAdviseItemBulkCommand) ProtoMessage() {}

func (x *UnAdviseItemBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnAdviseItemBulkCommand.ProtoReflect.Descriptor instead.
func (*UnAdviseItemBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{29}
}

func (x *UnAdviseItemBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *UnAdviseItemBulkCommand) GetItemHandles() []int32 {
	if x != nil {
		return x.ItemHandles
	}
	return nil
}

type SubscribeBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	TagAddresses  []string               `protobuf:"bytes,2,rep,name=tag_addresses,json=tagAddresses,proto3" json:"tag_addresses,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubscribeBulkCommand) Reset() {
	*x = SubscribeBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubscribeBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeBulkCommand) ProtoMessage() {}

func (x *SubscribeBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeBulkCommand.ProtoReflect.Descriptor instead.
func (*SubscribeBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{30}
}

func (x *SubscribeBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *SubscribeBulkCommand) GetTagAddresses() []string {
	if x != nil {
		return x.TagAddresses
	}
	return nil
}

// Subscribe the worker's alarm consumer to an AVEVA alarm provider.
// Subscription expression follows the canonical
// `\\<machine>\Galaxy!<area>` format (literal "Galaxy" provider). The
// worker spins up a wnwrapConsumer-backed subscription on its STA on
// first call; subsequent calls are an error (use UnsubscribeAlarms then
// SubscribeAlarms to reconfigure).
type SubscribeAlarmsCommand struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	SubscriptionExpression string                 `protobuf:"bytes,1,opt,name=subscription_expression,json=subscriptionExpression,proto3" json:"subscription_expression,omitempty"`
	// UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
	ForcedMode AlarmProviderMode `protobuf:"varint,2,opt,name=forced_mode,json=forcedMode,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"forced_mode,omitempty"`
	// Subtag watch-list resolved by the gateway (GR SQL + config). Empty in pure
	// alarmmgr mode; in subtag mode it bounds what the consumer can observe.
	WatchList     []*AlarmSubtagTarget `protobuf:"bytes,3,rep,name=watch_list,json=watchList,proto3" json:"watch_list,omitempty"`
	Failover      *AlarmFailoverConfig `protobuf:"bytes,4,opt,name=failover,proto3" json:"failover,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubscribeAlarmsCommand) Reset() {
	*x = SubscribeAlarmsCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubscribeAlarmsCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeAlarmsCommand) ProtoMessage() {}

func (x *SubscribeAlarmsCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeAlarmsCommand.ProtoReflect.Descriptor instead.
func (*SubscribeAlarmsCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{31}
}

func (x *SubscribeAlarmsCommand) GetSubscriptionExpression() string {
	if x != nil {
		return x.SubscriptionExpression
	}
	return ""
}

func (x *SubscribeAlarmsCommand) GetForcedMode() AlarmProviderMode {
	if x != nil {
		return x.ForcedMode
	}
	return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED
}

func (x *SubscribeAlarmsCommand) GetWatchList() []*AlarmSubtagTarget {
	if x != nil {
		return x.WatchList
	}
	return nil
}

func (x *SubscribeAlarmsCommand) GetFailover() *AlarmFailoverConfig {
	if x != nil {
		return x.Failover
	}
	return nil
}

// Tear down the worker's alarm consumer. No-op if no subscription is
// currently active.
type UnsubscribeAlarmsCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnsubscribeAlarmsCommand) Reset() {
	*x = UnsubscribeAlarmsCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnsubscribeAlarmsCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnsubscribeAlarmsCommand) ProtoMessage() {}

func (x *UnsubscribeAlarmsCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnsubscribeAlarmsCommand.ProtoReflect.Descriptor instead.
func (*UnsubscribeAlarmsCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{32}
}

// One alarm attribute the subtag fallback consumer advises. Addresses are full
// MXAccess item references the worker passes straight to AddItem.
type AlarmSubtagTarget struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	AlarmFullReference    string                 `protobuf:"bytes,1,opt,name=alarm_full_reference,json=alarmFullReference,proto3" json:"alarm_full_reference,omitempty"`          // e.g. "Galaxy!Area.Tank01.Level.HiHi"
	SourceObjectReference string                 `protobuf:"bytes,2,opt,name=source_object_reference,json=sourceObjectReference,proto3" json:"source_object_reference,omitempty"` // e.g. "Tank01"
	ActiveSubtag          string                 `protobuf:"bytes,3,opt,name=active_subtag,json=activeSubtag,proto3" json:"active_subtag,omitempty"`                              // item address of the in-alarm boolean
	AckedSubtag           string                 `protobuf:"bytes,4,opt,name=acked_subtag,json=ackedSubtag,proto3" json:"acked_subtag,omitempty"`                                 // item address of the acknowledged boolean
	AckCommentSubtag      string                 `protobuf:"bytes,5,opt,name=ack_comment_subtag,json=ackCommentSubtag,proto3" json:"ack_comment_subtag,omitempty"`                // writable ack-comment attribute (ack write target)
	PrioritySubtag        string                 `protobuf:"bytes,6,opt,name=priority_subtag,json=prioritySubtag,proto3" json:"priority_subtag,omitempty"`                        // optional severity source; empty if absent
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *AlarmSubtagTarget) Reset() {
	*x = AlarmSubtagTarget{}
	mi := &file_mxaccess_gateway_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AlarmSubtagTarget) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlarmSubtagTarget) ProtoMessage() {}

func (x *AlarmSubtagTarget) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlarmSubtagTarget.ProtoReflect.Descriptor instead.
func (*AlarmSubtagTarget) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{33}
}

func (x *AlarmSubtagTarget) GetAlarmFullReference() string {
	if x != nil {
		return x.AlarmFullReference
	}
	return ""
}

func (x *AlarmSubtagTarget) GetSourceObjectReference() string {
	if x != nil {
		return x.SourceObjectReference
	}
	return ""
}

func (x *AlarmSubtagTarget) GetActiveSubtag() string {
	if x != nil {
		return x.ActiveSubtag
	}
	return ""
}

func (x *AlarmSubtagTarget) GetAckedSubtag() string {
	if x != nil {
		return x.AckedSubtag
	}
	return ""
}

func (x *AlarmSubtagTarget) GetAckCommentSubtag() string {
	if x != nil {
		return x.AckCommentSubtag
	}
	return ""
}

func (x *AlarmSubtagTarget) GetPrioritySubtag() string {
	if x != nil {
		return x.PrioritySubtag
	}
	return ""
}

type AlarmFailoverConfig struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	ConsecutiveFailureThreshold  int32                  `protobuf:"varint,1,opt,name=consecutive_failure_threshold,json=consecutiveFailureThreshold,proto3" json:"consecutive_failure_threshold,omitempty"`      // wnwrap COM failures before switching (>=1)
	FailbackProbeIntervalSeconds int32                  `protobuf:"varint,2,opt,name=failback_probe_interval_seconds,json=failbackProbeIntervalSeconds,proto3" json:"failback_probe_interval_seconds,omitempty"` // probe cadence while degraded (>=1)
	FailbackStableProbes         int32                  `protobuf:"varint,3,opt,name=failback_stable_probes,json=failbackStableProbes,proto3" json:"failback_stable_probes,omitempty"`                           // clean probes before switching back (>=1)
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *AlarmFailoverConfig) Reset() {
	*x = AlarmFailoverConfig{}
	mi := &file_mxaccess_gateway_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AlarmFailoverConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlarmFailoverConfig) ProtoMessage() {}

func (x *AlarmFailoverConfig) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlarmFailoverConfig.ProtoReflect.Descriptor instead.
func (*AlarmFailoverConfig) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{34}
}

func (x *AlarmFailoverConfig) GetConsecutiveFailureThreshold() int32 {
	if x != nil {
		return x.ConsecutiveFailureThreshold
	}
	return 0
}

func (x *AlarmFailoverConfig) GetFailbackProbeIntervalSeconds() int32 {
	if x != nil {
		return x.FailbackProbeIntervalSeconds
	}
	return 0
}

func (x *AlarmFailoverConfig) GetFailbackStableProbes() int32 {
	if x != nil {
		return x.FailbackStableProbes
	}
	return 0
}

// Acknowledge a single alarm by its GUID. Operator identity fields are
// recorded atomically with the ack transition in the alarm-history log.
// The reply's hresult / native_status surfaces AVEVA's
// AlarmAckByGUID return code.
type AcknowledgeAlarmCommand struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Canonical 8-4-4-4-12 GUID string (e.g. "BCC47053-9542-4D65-BDAA-BCDEA6A32A73").
	AlarmGuid        string `protobuf:"bytes,1,opt,name=alarm_guid,json=alarmGuid,proto3" json:"alarm_guid,omitempty"`
	Comment          string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"`
	OperatorUser     string `protobuf:"bytes,3,opt,name=operator_user,json=operatorUser,proto3" json:"operator_user,omitempty"`
	OperatorNode     string `protobuf:"bytes,4,opt,name=operator_node,json=operatorNode,proto3" json:"operator_node,omitempty"`
	OperatorDomain   string `protobuf:"bytes,5,opt,name=operator_domain,json=operatorDomain,proto3" json:"operator_domain,omitempty"`
	OperatorFullName string `protobuf:"bytes,6,opt,name=operator_full_name,json=operatorFullName,proto3" json:"operator_full_name,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *AcknowledgeAlarmCommand) Reset() {
	*x = AcknowledgeAlarmCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AcknowledgeAlarmCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcknowledgeAlarmCommand) ProtoMessage() {}

func (x *AcknowledgeAlarmCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcknowledgeAlarmCommand.ProtoReflect.Descriptor instead.
func (*AcknowledgeAlarmCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{35}
}

func (x *AcknowledgeAlarmCommand) GetAlarmGuid() string {
	if x != nil {
		return x.AlarmGuid
	}
	return ""
}

func (x *AcknowledgeAlarmCommand) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *AcknowledgeAlarmCommand) GetOperatorUser() string {
	if x != nil {
		return x.OperatorUser
	}
	return ""
}

func (x *AcknowledgeAlarmCommand) GetOperatorNode() string {
	if x != nil {
		return x.OperatorNode
	}
	return ""
}

func (x *AcknowledgeAlarmCommand) GetOperatorDomain() string {
	if x != nil {
		return x.OperatorDomain
	}
	return ""
}

func (x *AcknowledgeAlarmCommand) GetOperatorFullName() string {
	if x != nil {
		return x.OperatorFullName
	}
	return ""
}

// Snapshot the currently-active alarm set. Optional filter prefix scopes
// the snapshot to alarms whose alarm_full_reference starts with the
// supplied string (matches QueryActiveAlarmsRequest.alarm_filter_prefix).
type QueryActiveAlarmsCommand struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	AlarmFilterPrefix string                 `protobuf:"bytes,1,opt,name=alarm_filter_prefix,json=alarmFilterPrefix,proto3" json:"alarm_filter_prefix,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *QueryActiveAlarmsCommand) Reset() {
	*x = QueryActiveAlarmsCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryActiveAlarmsCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryActiveAlarmsCommand) ProtoMessage() {}

func (x *QueryActiveAlarmsCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryActiveAlarmsCommand.ProtoReflect.Descriptor instead.
func (*QueryActiveAlarmsCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{36}
}

func (x *QueryActiveAlarmsCommand) GetAlarmFilterPrefix() string {
	if x != nil {
		return x.AlarmFilterPrefix
	}
	return ""
}

// Acknowledge a single alarm by its (name, provider, group) tuple. Used
// when the public RPC's AlarmFullReference (Provider!Group.Tag) cannot
// be resolved to a GUID directly. The worker invokes
// wwAlarmConsumerClass.AlarmAckByName which reaches the same alarm
// history path as AlarmAckByGUID.
type AcknowledgeAlarmByNameCommand struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Tag/alarm name (e.g. "TestMachine_001.TestAlarm001"). Tag itself
	// may contain dots; the gateway-side parser splits on the first dot
	// after the '!' separator.
	AlarmName string `protobuf:"bytes,1,opt,name=alarm_name,json=alarmName,proto3" json:"alarm_name,omitempty"`
	// AVEVA alarm-provider name (literal "Galaxy" for ArchestrA Galaxies).
	ProviderName string `protobuf:"bytes,2,opt,name=provider_name,json=providerName,proto3" json:"provider_name,omitempty"`
	// Area/group name (e.g. "TestArea").
	GroupName        string `protobuf:"bytes,3,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
	Comment          string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"`
	OperatorUser     string `protobuf:"bytes,5,opt,name=operator_user,json=operatorUser,proto3" json:"operator_user,omitempty"`
	OperatorNode     string `protobuf:"bytes,6,opt,name=operator_node,json=operatorNode,proto3" json:"operator_node,omitempty"`
	OperatorDomain   string `protobuf:"bytes,7,opt,name=operator_domain,json=operatorDomain,proto3" json:"operator_domain,omitempty"`
	OperatorFullName string `protobuf:"bytes,8,opt,name=operator_full_name,json=operatorFullName,proto3" json:"operator_full_name,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *AcknowledgeAlarmByNameCommand) Reset() {
	*x = AcknowledgeAlarmByNameCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AcknowledgeAlarmByNameCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcknowledgeAlarmByNameCommand) ProtoMessage() {}

func (x *AcknowledgeAlarmByNameCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcknowledgeAlarmByNameCommand.ProtoReflect.Descriptor instead.
func (*AcknowledgeAlarmByNameCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{37}
}

func (x *AcknowledgeAlarmByNameCommand) GetAlarmName() string {
	if x != nil {
		return x.AlarmName
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetProviderName() string {
	if x != nil {
		return x.ProviderName
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetGroupName() string {
	if x != nil {
		return x.GroupName
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetOperatorUser() string {
	if x != nil {
		return x.OperatorUser
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetOperatorNode() string {
	if x != nil {
		return x.OperatorNode
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetOperatorDomain() string {
	if x != nil {
		return x.OperatorDomain
	}
	return ""
}

func (x *AcknowledgeAlarmByNameCommand) GetOperatorFullName() string {
	if x != nil {
		return x.OperatorFullName
	}
	return ""
}

type UnsubscribeBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandles   []int32                `protobuf:"varint,2,rep,packed,name=item_handles,json=itemHandles,proto3" json:"item_handles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnsubscribeBulkCommand) Reset() {
	*x = UnsubscribeBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnsubscribeBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnsubscribeBulkCommand) ProtoMessage() {}

func (x *UnsubscribeBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnsubscribeBulkCommand.ProtoReflect.Descriptor instead.
func (*UnsubscribeBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{38}
}

func (x *UnsubscribeBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *UnsubscribeBulkCommand) GetItemHandles() []int32 {
	if x != nil {
		return x.ItemHandles
	}
	return nil
}

// Bulk Write — sequential MXAccess Write per entry, on the worker's STA.
// MXAccess has no native bulk write; each entry round-trips through the same
// single-item Write path the gateway uses today. Per-item failures appear as
// BulkWriteResult entries with `was_successful = false` and never throw.
type WriteBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	Entries       []*WriteBulkEntry      `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteBulkCommand) Reset() {
	*x = WriteBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteBulkCommand) ProtoMessage() {}

func (x *WriteBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteBulkCommand.ProtoReflect.Descriptor instead.
func (*WriteBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{39}
}

func (x *WriteBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteBulkCommand) GetEntries() []*WriteBulkEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

type WriteBulkEntry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle    int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	Value         *MxValue               `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	UserId        int32                  `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteBulkEntry) Reset() {
	*x = WriteBulkEntry{}
	mi := &file_mxaccess_gateway_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteBulkEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteBulkEntry) ProtoMessage() {}

func (x *WriteBulkEntry) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteBulkEntry.ProtoReflect.Descriptor instead.
func (*WriteBulkEntry) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{40}
}

func (x *WriteBulkEntry) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteBulkEntry) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *WriteBulkEntry) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// Bulk Write2 — sequential MXAccess Write2 (timestamped) per entry.
type Write2BulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	Entries       []*Write2BulkEntry     `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Write2BulkCommand) Reset() {
	*x = Write2BulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Write2BulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Write2BulkCommand) ProtoMessage() {}

func (x *Write2BulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Write2BulkCommand.ProtoReflect.Descriptor instead.
func (*Write2BulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{41}
}

func (x *Write2BulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *Write2BulkCommand) GetEntries() []*Write2BulkEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

type Write2BulkEntry struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle     int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	Value          *MxValue               `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	TimestampValue *MxValue               `protobuf:"bytes,3,opt,name=timestamp_value,json=timestampValue,proto3" json:"timestamp_value,omitempty"`
	UserId         int32                  `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Write2BulkEntry) Reset() {
	*x = Write2BulkEntry{}
	mi := &file_mxaccess_gateway_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Write2BulkEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Write2BulkEntry) ProtoMessage() {}

func (x *Write2BulkEntry) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Write2BulkEntry.ProtoReflect.Descriptor instead.
func (*Write2BulkEntry) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{42}
}

func (x *Write2BulkEntry) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *Write2BulkEntry) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *Write2BulkEntry) GetTimestampValue() *MxValue {
	if x != nil {
		return x.TimestampValue
	}
	return nil
}

func (x *Write2BulkEntry) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// Bulk WriteSecured — sequential MXAccess WriteSecured per entry.
// Credential-sensitive values (`value`) MUST be kept out of logs, metrics
// labels, command lines, and diagnostics — same redaction rules as the
// single-item WriteSecured contract.
type WriteSecuredBulkCommand struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	ServerHandle  int32                    `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	Entries       []*WriteSecuredBulkEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteSecuredBulkCommand) Reset() {
	*x = WriteSecuredBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecuredBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecuredBulkCommand) ProtoMessage() {}

func (x *WriteSecuredBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecuredBulkCommand.ProtoReflect.Descriptor instead.
func (*WriteSecuredBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{43}
}

func (x *WriteSecuredBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteSecuredBulkCommand) GetEntries() []*WriteSecuredBulkEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

type WriteSecuredBulkEntry struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle     int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	CurrentUserId  int32                  `protobuf:"varint,2,opt,name=current_user_id,json=currentUserId,proto3" json:"current_user_id,omitempty"`
	VerifierUserId int32                  `protobuf:"varint,3,opt,name=verifier_user_id,json=verifierUserId,proto3" json:"verifier_user_id,omitempty"`
	// Credential-sensitive write value. Implementations must not log this field
	// unless an explicit redacted value-logging path is enabled.
	Value         *MxValue `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteSecuredBulkEntry) Reset() {
	*x = WriteSecuredBulkEntry{}
	mi := &file_mxaccess_gateway_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecuredBulkEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecuredBulkEntry) ProtoMessage() {}

func (x *WriteSecuredBulkEntry) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecuredBulkEntry.ProtoReflect.Descriptor instead.
func (*WriteSecuredBulkEntry) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{44}
}

func (x *WriteSecuredBulkEntry) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteSecuredBulkEntry) GetCurrentUserId() int32 {
	if x != nil {
		return x.CurrentUserId
	}
	return 0
}

func (x *WriteSecuredBulkEntry) GetVerifierUserId() int32 {
	if x != nil {
		return x.VerifierUserId
	}
	return 0
}

func (x *WriteSecuredBulkEntry) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

// Bulk WriteSecured2 — sequential MXAccess WriteSecured2 (timestamped) per
// entry. Same redaction rules apply.
type WriteSecured2BulkCommand struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	ServerHandle  int32                     `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	Entries       []*WriteSecured2BulkEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteSecured2BulkCommand) Reset() {
	*x = WriteSecured2BulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecured2BulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecured2BulkCommand) ProtoMessage() {}

func (x *WriteSecured2BulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecured2BulkCommand.ProtoReflect.Descriptor instead.
func (*WriteSecured2BulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{45}
}

func (x *WriteSecured2BulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *WriteSecured2BulkCommand) GetEntries() []*WriteSecured2BulkEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

type WriteSecured2BulkEntry struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle     int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	CurrentUserId  int32                  `protobuf:"varint,2,opt,name=current_user_id,json=currentUserId,proto3" json:"current_user_id,omitempty"`
	VerifierUserId int32                  `protobuf:"varint,3,opt,name=verifier_user_id,json=verifierUserId,proto3" json:"verifier_user_id,omitempty"`
	// Credential-sensitive write value. Implementations must not log this field
	// unless an explicit redacted value-logging path is enabled.
	Value          *MxValue `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	TimestampValue *MxValue `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3" json:"timestamp_value,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *WriteSecured2BulkEntry) Reset() {
	*x = WriteSecured2BulkEntry{}
	mi := &file_mxaccess_gateway_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteSecured2BulkEntry) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteSecured2BulkEntry) ProtoMessage() {}

func (x *WriteSecured2BulkEntry) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteSecured2BulkEntry.ProtoReflect.Descriptor instead.
func (*WriteSecured2BulkEntry) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{46}
}

func (x *WriteSecured2BulkEntry) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *WriteSecured2BulkEntry) GetCurrentUserId() int32 {
	if x != nil {
		return x.CurrentUserId
	}
	return 0
}

func (x *WriteSecured2BulkEntry) GetVerifierUserId() int32 {
	if x != nil {
		return x.VerifierUserId
	}
	return 0
}

func (x *WriteSecured2BulkEntry) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *WriteSecured2BulkEntry) GetTimestampValue() *MxValue {
	if x != nil {
		return x.TimestampValue
	}
	return nil
}

// Bulk Read — snapshot the current value for each requested tag. MXAccess COM
// has no synchronous Read; the worker implements ReadBulk as:
//
//   - If the tag is already in the session's item registry AND that item is
//     currently advised AND the worker has a cached OnDataChange for it, the
//     reply returns the cached value WITHOUT modifying the existing
//     subscription (was_cached = true).
//   - Otherwise the worker takes the snapshot lifecycle itself: AddItem +
//     Advise, wait up to `timeout_ms` for the first OnDataChange, then
//     UnAdvise + RemoveItem before returning. The session is left exactly
//     as it was before the call (was_cached = false).
//
// `timeout_ms == 0` uses the gateway-configured default (1000 ms).
type ReadBulkCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	TagAddresses  []string               `protobuf:"bytes,2,rep,name=tag_addresses,json=tagAddresses,proto3" json:"tag_addresses,omitempty"`
	TimeoutMs     uint32                 `protobuf:"varint,3,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadBulkCommand) Reset() {
	*x = ReadBulkCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadBulkCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadBulkCommand) ProtoMessage() {}

func (x *ReadBulkCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadBulkCommand.ProtoReflect.Descriptor instead.
func (*ReadBulkCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{47}
}

func (x *ReadBulkCommand) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *ReadBulkCommand) GetTagAddresses() []string {
	if x != nil {
		return x.TagAddresses
	}
	return nil
}

func (x *ReadBulkCommand) GetTimeoutMs() uint32 {
	if x != nil {
		return x.TimeoutMs
	}
	return 0
}

type PingCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Message       string                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingCommand) Reset() {
	*x = PingCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PingCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PingCommand) ProtoMessage() {}

func (x *PingCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PingCommand.ProtoReflect.Descriptor instead.
func (*PingCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{48}
}

func (x *PingCommand) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type GetSessionStateCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSessionStateCommand) Reset() {
	*x = GetSessionStateCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSessionStateCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSessionStateCommand) ProtoMessage() {}

func (x *GetSessionStateCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSessionStateCommand.ProtoReflect.Descriptor instead.
func (*GetSessionStateCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{49}
}

type GetWorkerInfoCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWorkerInfoCommand) Reset() {
	*x = GetWorkerInfoCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWorkerInfoCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerInfoCommand) ProtoMessage() {}

func (x *GetWorkerInfoCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetWorkerInfoCommand.ProtoReflect.Descriptor instead.
func (*GetWorkerInfoCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{50}
}

type DrainEventsCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MaxEvents     uint32                 `protobuf:"varint,1,opt,name=max_events,json=maxEvents,proto3" json:"max_events,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DrainEventsCommand) Reset() {
	*x = DrainEventsCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DrainEventsCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DrainEventsCommand) ProtoMessage() {}

func (x *DrainEventsCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DrainEventsCommand.ProtoReflect.Descriptor instead.
func (*DrainEventsCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{51}
}

func (x *DrainEventsCommand) GetMaxEvents() uint32 {
	if x != nil {
		return x.MaxEvents
	}
	return 0
}

type ShutdownWorkerCommand struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GracePeriod   *durationpb.Duration   `protobuf:"bytes,1,opt,name=grace_period,json=gracePeriod,proto3" json:"grace_period,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ShutdownWorkerCommand) Reset() {
	*x = ShutdownWorkerCommand{}
	mi := &file_mxaccess_gateway_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ShutdownWorkerCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ShutdownWorkerCommand) ProtoMessage() {}

func (x *ShutdownWorkerCommand) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ShutdownWorkerCommand.ProtoReflect.Descriptor instead.
func (*ShutdownWorkerCommand) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{52}
}

func (x *ShutdownWorkerCommand) GetGracePeriod() *durationpb.Duration {
	if x != nil {
		return x.GracePeriod
	}
	return nil
}

type MxCommandReply struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	SessionId      string                 `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	CorrelationId  string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	Kind           MxCommandKind          `protobuf:"varint,3,opt,name=kind,proto3,enum=mxaccess_gateway.v1.MxCommandKind" json:"kind,omitempty"`
	ProtocolStatus *ProtocolStatus        `protobuf:"bytes,4,opt,name=protocol_status,json=protocolStatus,proto3" json:"protocol_status,omitempty"`
	// HRESULT captured from MXAccess or a COM exception. This remains separate
	// from gateway protocol status so MXAccess parity details are not hidden by
	// transport failures.
	Hresult     *int32   `protobuf:"varint,5,opt,name=hresult,proto3,oneof" json:"hresult,omitempty"`
	ReturnValue *MxValue `protobuf:"bytes,6,opt,name=return_value,json=returnValue,proto3" json:"return_value,omitempty"`
	// Correlated per-item outcome rows. For WRITE / WRITE2 / WRITE_SECURED /
	// WRITE_SECURED2 replies the worker holds the reply for a bounded window
	// (default 1.5 s, MXGATEWAY_WORKER_WRITE_COMPLETION_WAIT_MS) waiting for
	// the matching MXAccess OnWriteComplete callback and copies its status rows
	// here, so statuses[0] carries the real MXAccess commit outcome (success OR
	// failure) while protocol_status/hresult still describe command acceptance
	// only. Empty statuses on a write reply means the completion did not arrive
	// within the window — the write is unconfirmed, not failed. Correlation is
	// best-effort per (server_handle, item_handle): MXAccess's callback carries
	// no transaction id, so concurrent writes to the same item within the
	// window can swap rows. The OnWriteComplete event still flows on the event
	// stream unchanged. Bulk write kinds and all non-write kinds leave this
	// field as before.
	Statuses          []*MxStatusProxy `protobuf:"bytes,7,rep,name=statuses,proto3" json:"statuses,omitempty"`
	DiagnosticMessage string           `protobuf:"bytes,8,opt,name=diagnostic_message,json=diagnosticMessage,proto3" json:"diagnostic_message,omitempty"`
	// Types that are valid to be assigned to Payload:
	//
	//	*MxCommandReply_Register
	//	*MxCommandReply_AddItem
	//	*MxCommandReply_AddItem2
	//	*MxCommandReply_AddBufferedItem
	//	*MxCommandReply_Suspend
	//	*MxCommandReply_Activate
	//	*MxCommandReply_AuthenticateUser
	//	*MxCommandReply_ArchestraUserToId
	//	*MxCommandReply_AddItemBulk
	//	*MxCommandReply_AdviseItemBulk
	//	*MxCommandReply_RemoveItemBulk
	//	*MxCommandReply_UnAdviseItemBulk
	//	*MxCommandReply_SubscribeBulk
	//	*MxCommandReply_UnsubscribeBulk
	//	*MxCommandReply_AcknowledgeAlarm
	//	*MxCommandReply_QueryActiveAlarms
	//	*MxCommandReply_WriteBulk
	//	*MxCommandReply_Write2Bulk
	//	*MxCommandReply_WriteSecuredBulk
	//	*MxCommandReply_WriteSecured2Bulk
	//	*MxCommandReply_ReadBulk
	//	*MxCommandReply_SessionState
	//	*MxCommandReply_WorkerInfo
	//	*MxCommandReply_DrainEvents
	Payload       isMxCommandReply_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxCommandReply) Reset() {
	*x = MxCommandReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxCommandReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxCommandReply) ProtoMessage() {}

func (x *MxCommandReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxCommandReply.ProtoReflect.Descriptor instead.
func (*MxCommandReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{53}
}

func (x *MxCommandReply) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *MxCommandReply) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

func (x *MxCommandReply) GetKind() MxCommandKind {
	if x != nil {
		return x.Kind
	}
	return MxCommandKind_MX_COMMAND_KIND_UNSPECIFIED
}

func (x *MxCommandReply) GetProtocolStatus() *ProtocolStatus {
	if x != nil {
		return x.ProtocolStatus
	}
	return nil
}

func (x *MxCommandReply) GetHresult() int32 {
	if x != nil && x.Hresult != nil {
		return *x.Hresult
	}
	return 0
}

func (x *MxCommandReply) GetReturnValue() *MxValue {
	if x != nil {
		return x.ReturnValue
	}
	return nil
}

func (x *MxCommandReply) GetStatuses() []*MxStatusProxy {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *MxCommandReply) GetDiagnosticMessage() string {
	if x != nil {
		return x.DiagnosticMessage
	}
	return ""
}

func (x *MxCommandReply) GetPayload() isMxCommandReply_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *MxCommandReply) GetRegister() *RegisterReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_Register); ok {
			return x.Register
		}
	}
	return nil
}

func (x *MxCommandReply) GetAddItem() *AddItemReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AddItem); ok {
			return x.AddItem
		}
	}
	return nil
}

func (x *MxCommandReply) GetAddItem2() *AddItem2Reply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AddItem2); ok {
			return x.AddItem2
		}
	}
	return nil
}

func (x *MxCommandReply) GetAddBufferedItem() *AddBufferedItemReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AddBufferedItem); ok {
			return x.AddBufferedItem
		}
	}
	return nil
}

func (x *MxCommandReply) GetSuspend() *SuspendReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_Suspend); ok {
			return x.Suspend
		}
	}
	return nil
}

func (x *MxCommandReply) GetActivate() *ActivateReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_Activate); ok {
			return x.Activate
		}
	}
	return nil
}

func (x *MxCommandReply) GetAuthenticateUser() *AuthenticateUserReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AuthenticateUser); ok {
			return x.AuthenticateUser
		}
	}
	return nil
}

func (x *MxCommandReply) GetArchestraUserToId() *ArchestrAUserToIdReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_ArchestraUserToId); ok {
			return x.ArchestraUserToId
		}
	}
	return nil
}

func (x *MxCommandReply) GetAddItemBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AddItemBulk); ok {
			return x.AddItemBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetAdviseItemBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AdviseItemBulk); ok {
			return x.AdviseItemBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetRemoveItemBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_RemoveItemBulk); ok {
			return x.RemoveItemBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetUnAdviseItemBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_UnAdviseItemBulk); ok {
			return x.UnAdviseItemBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetSubscribeBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_SubscribeBulk); ok {
			return x.SubscribeBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetUnsubscribeBulk() *BulkSubscribeReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_UnsubscribeBulk); ok {
			return x.UnsubscribeBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetAcknowledgeAlarm() *AcknowledgeAlarmReplyPayload {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_AcknowledgeAlarm); ok {
			return x.AcknowledgeAlarm
		}
	}
	return nil
}

func (x *MxCommandReply) GetQueryActiveAlarms() *QueryActiveAlarmsReplyPayload {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_QueryActiveAlarms); ok {
			return x.QueryActiveAlarms
		}
	}
	return nil
}

func (x *MxCommandReply) GetWriteBulk() *BulkWriteReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_WriteBulk); ok {
			return x.WriteBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetWrite2Bulk() *BulkWriteReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_Write2Bulk); ok {
			return x.Write2Bulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetWriteSecuredBulk() *BulkWriteReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_WriteSecuredBulk); ok {
			return x.WriteSecuredBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetWriteSecured2Bulk() *BulkWriteReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_WriteSecured2Bulk); ok {
			return x.WriteSecured2Bulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetReadBulk() *BulkReadReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_ReadBulk); ok {
			return x.ReadBulk
		}
	}
	return nil
}

func (x *MxCommandReply) GetSessionState() *SessionStateReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_SessionState); ok {
			return x.SessionState
		}
	}
	return nil
}

func (x *MxCommandReply) GetWorkerInfo() *WorkerInfoReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_WorkerInfo); ok {
			return x.WorkerInfo
		}
	}
	return nil
}

func (x *MxCommandReply) GetDrainEvents() *DrainEventsReply {
	if x != nil {
		if x, ok := x.Payload.(*MxCommandReply_DrainEvents); ok {
			return x.DrainEvents
		}
	}
	return nil
}

type isMxCommandReply_Payload interface {
	isMxCommandReply_Payload()
}

type MxCommandReply_Register struct {
	Register *RegisterReply `protobuf:"bytes,20,opt,name=register,proto3,oneof"`
}

type MxCommandReply_AddItem struct {
	AddItem *AddItemReply `protobuf:"bytes,21,opt,name=add_item,json=addItem,proto3,oneof"`
}

type MxCommandReply_AddItem2 struct {
	AddItem2 *AddItem2Reply `protobuf:"bytes,22,opt,name=add_item2,json=addItem2,proto3,oneof"`
}

type MxCommandReply_AddBufferedItem struct {
	AddBufferedItem *AddBufferedItemReply `protobuf:"bytes,23,opt,name=add_buffered_item,json=addBufferedItem,proto3,oneof"`
}

type MxCommandReply_Suspend struct {
	Suspend *SuspendReply `protobuf:"bytes,24,opt,name=suspend,proto3,oneof"`
}

type MxCommandReply_Activate struct {
	Activate *ActivateReply `protobuf:"bytes,25,opt,name=activate,proto3,oneof"`
}

type MxCommandReply_AuthenticateUser struct {
	AuthenticateUser *AuthenticateUserReply `protobuf:"bytes,26,opt,name=authenticate_user,json=authenticateUser,proto3,oneof"`
}

type MxCommandReply_ArchestraUserToId struct {
	ArchestraUserToId *ArchestrAUserToIdReply `protobuf:"bytes,27,opt,name=archestra_user_to_id,json=archestraUserToId,proto3,oneof"`
}

type MxCommandReply_AddItemBulk struct {
	AddItemBulk *BulkSubscribeReply `protobuf:"bytes,28,opt,name=add_item_bulk,json=addItemBulk,proto3,oneof"`
}

type MxCommandReply_AdviseItemBulk struct {
	AdviseItemBulk *BulkSubscribeReply `protobuf:"bytes,29,opt,name=advise_item_bulk,json=adviseItemBulk,proto3,oneof"`
}

type MxCommandReply_RemoveItemBulk struct {
	RemoveItemBulk *BulkSubscribeReply `protobuf:"bytes,30,opt,name=remove_item_bulk,json=removeItemBulk,proto3,oneof"`
}

type MxCommandReply_UnAdviseItemBulk struct {
	UnAdviseItemBulk *BulkSubscribeReply `protobuf:"bytes,31,opt,name=un_advise_item_bulk,json=unAdviseItemBulk,proto3,oneof"`
}

type MxCommandReply_SubscribeBulk struct {
	SubscribeBulk *BulkSubscribeReply `protobuf:"bytes,32,opt,name=subscribe_bulk,json=subscribeBulk,proto3,oneof"`
}

type MxCommandReply_UnsubscribeBulk struct {
	UnsubscribeBulk *BulkSubscribeReply `protobuf:"bytes,33,opt,name=unsubscribe_bulk,json=unsubscribeBulk,proto3,oneof"`
}

type MxCommandReply_AcknowledgeAlarm struct {
	// Reply payload for BOTH MX_COMMAND_KIND_ACKNOWLEDGE_ALARM (by GUID)
	// and MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME. There is intentionally
	// no by-name-specific reply case: the by-name ack carries no outcome
	// detail beyond the native ack return code, so the worker reuses this
	// `acknowledge_alarm` payload for both command kinds (the worker's
	// MxAccessCommandExecutor sets `acknowledge_alarm` for the by-name arm
	// too). Consumers must dispatch on MxCommandReply.kind, not on the
	// payload case, to tell the two acks apart. The top-level `hresult`
	// mirrors AcknowledgeAlarmReplyPayload.native_status and is preferred.
	AcknowledgeAlarm *AcknowledgeAlarmReplyPayload `protobuf:"bytes,34,opt,name=acknowledge_alarm,json=acknowledgeAlarm,proto3,oneof"`
}

type MxCommandReply_QueryActiveAlarms struct {
	QueryActiveAlarms *QueryActiveAlarmsReplyPayload `protobuf:"bytes,35,opt,name=query_active_alarms,json=queryActiveAlarms,proto3,oneof"`
}

type MxCommandReply_WriteBulk struct {
	WriteBulk *BulkWriteReply `protobuf:"bytes,36,opt,name=write_bulk,json=writeBulk,proto3,oneof"`
}

type MxCommandReply_Write2Bulk struct {
	Write2Bulk *BulkWriteReply `protobuf:"bytes,37,opt,name=write2_bulk,json=write2Bulk,proto3,oneof"`
}

type MxCommandReply_WriteSecuredBulk struct {
	WriteSecuredBulk *BulkWriteReply `protobuf:"bytes,38,opt,name=write_secured_bulk,json=writeSecuredBulk,proto3,oneof"`
}

type MxCommandReply_WriteSecured2Bulk struct {
	WriteSecured2Bulk *BulkWriteReply `protobuf:"bytes,39,opt,name=write_secured2_bulk,json=writeSecured2Bulk,proto3,oneof"`
}

type MxCommandReply_ReadBulk struct {
	ReadBulk *BulkReadReply `protobuf:"bytes,40,opt,name=read_bulk,json=readBulk,proto3,oneof"`
}

type MxCommandReply_SessionState struct {
	SessionState *SessionStateReply `protobuf:"bytes,100,opt,name=session_state,json=sessionState,proto3,oneof"`
}

type MxCommandReply_WorkerInfo struct {
	WorkerInfo *WorkerInfoReply `protobuf:"bytes,101,opt,name=worker_info,json=workerInfo,proto3,oneof"`
}

type MxCommandReply_DrainEvents struct {
	DrainEvents *DrainEventsReply `protobuf:"bytes,102,opt,name=drain_events,json=drainEvents,proto3,oneof"`
}

func (*MxCommandReply_Register) isMxCommandReply_Payload() {}

func (*MxCommandReply_AddItem) isMxCommandReply_Payload() {}

func (*MxCommandReply_AddItem2) isMxCommandReply_Payload() {}

func (*MxCommandReply_AddBufferedItem) isMxCommandReply_Payload() {}

func (*MxCommandReply_Suspend) isMxCommandReply_Payload() {}

func (*MxCommandReply_Activate) isMxCommandReply_Payload() {}

func (*MxCommandReply_AuthenticateUser) isMxCommandReply_Payload() {}

func (*MxCommandReply_ArchestraUserToId) isMxCommandReply_Payload() {}

func (*MxCommandReply_AddItemBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_AdviseItemBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_RemoveItemBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_UnAdviseItemBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_SubscribeBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_UnsubscribeBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_AcknowledgeAlarm) isMxCommandReply_Payload() {}

func (*MxCommandReply_QueryActiveAlarms) isMxCommandReply_Payload() {}

func (*MxCommandReply_WriteBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_Write2Bulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_WriteSecuredBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_WriteSecured2Bulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_ReadBulk) isMxCommandReply_Payload() {}

func (*MxCommandReply_SessionState) isMxCommandReply_Payload() {}

func (*MxCommandReply_WorkerInfo) isMxCommandReply_Payload() {}

func (*MxCommandReply_DrainEvents) isMxCommandReply_Payload() {}

type RegisterReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegisterReply) Reset() {
	*x = RegisterReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RegisterReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RegisterReply) ProtoMessage() {}

func (x *RegisterReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RegisterReply.ProtoReflect.Descriptor instead.
func (*RegisterReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{54}
}

func (x *RegisterReply) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

type AddItemReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle    int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddItemReply) Reset() {
	*x = AddItemReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddItemReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddItemReply) ProtoMessage() {}

func (x *AddItemReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddItemReply.ProtoReflect.Descriptor instead.
func (*AddItemReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{55}
}

func (x *AddItemReply) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type AddItem2Reply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle    int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddItem2Reply) Reset() {
	*x = AddItem2Reply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddItem2Reply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddItem2Reply) ProtoMessage() {}

func (x *AddItem2Reply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddItem2Reply.ProtoReflect.Descriptor instead.
func (*AddItem2Reply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{56}
}

func (x *AddItem2Reply) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type AddBufferedItemReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ItemHandle    int32                  `protobuf:"varint,1,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddBufferedItemReply) Reset() {
	*x = AddBufferedItemReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddBufferedItemReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddBufferedItemReply) ProtoMessage() {}

func (x *AddBufferedItemReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddBufferedItemReply.ProtoReflect.Descriptor instead.
func (*AddBufferedItemReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{57}
}

func (x *AddBufferedItemReply) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

type SuspendReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *MxStatusProxy         `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SuspendReply) Reset() {
	*x = SuspendReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SuspendReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SuspendReply) ProtoMessage() {}

func (x *SuspendReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SuspendReply.ProtoReflect.Descriptor instead.
func (*SuspendReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{58}
}

func (x *SuspendReply) GetStatus() *MxStatusProxy {
	if x != nil {
		return x.Status
	}
	return nil
}

type ActivateReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        *MxStatusProxy         `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ActivateReply) Reset() {
	*x = ActivateReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ActivateReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivateReply) ProtoMessage() {}

func (x *ActivateReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivateReply.ProtoReflect.Descriptor instead.
func (*ActivateReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{59}
}

func (x *ActivateReply) GetStatus() *MxStatusProxy {
	if x != nil {
		return x.Status
	}
	return nil
}

type AuthenticateUserReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int32                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AuthenticateUserReply) Reset() {
	*x = AuthenticateUserReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AuthenticateUserReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AuthenticateUserReply) ProtoMessage() {}

func (x *AuthenticateUserReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AuthenticateUserReply.ProtoReflect.Descriptor instead.
func (*AuthenticateUserReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{60}
}

func (x *AuthenticateUserReply) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type ArchestrAUserToIdReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int32                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArchestrAUserToIdReply) Reset() {
	*x = ArchestrAUserToIdReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArchestrAUserToIdReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArchestrAUserToIdReply) ProtoMessage() {}

func (x *ArchestrAUserToIdReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArchestrAUserToIdReply.ProtoReflect.Descriptor instead.
func (*ArchestrAUserToIdReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{61}
}

func (x *ArchestrAUserToIdReply) GetUserId() int32 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type SubscribeResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	TagAddress    string                 `protobuf:"bytes,2,opt,name=tag_address,json=tagAddress,proto3" json:"tag_address,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,3,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	WasSuccessful bool                   `protobuf:"varint,4,opt,name=was_successful,json=wasSuccessful,proto3" json:"was_successful,omitempty"`
	ErrorMessage  string                 `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubscribeResult) Reset() {
	*x = SubscribeResult{}
	mi := &file_mxaccess_gateway_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubscribeResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubscribeResult) ProtoMessage() {}

func (x *SubscribeResult) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubscribeResult.ProtoReflect.Descriptor instead.
func (*SubscribeResult) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{62}
}

func (x *SubscribeResult) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *SubscribeResult) GetTagAddress() string {
	if x != nil {
		return x.TagAddress
	}
	return ""
}

func (x *SubscribeResult) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *SubscribeResult) GetWasSuccessful() bool {
	if x != nil {
		return x.WasSuccessful
	}
	return false
}

func (x *SubscribeResult) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

type BulkSubscribeReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Results       []*SubscribeResult     `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BulkSubscribeReply) Reset() {
	*x = BulkSubscribeReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BulkSubscribeReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BulkSubscribeReply) ProtoMessage() {}

func (x *BulkSubscribeReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BulkSubscribeReply.ProtoReflect.Descriptor instead.
func (*BulkSubscribeReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{63}
}

func (x *BulkSubscribeReply) GetResults() []*SubscribeResult {
	if x != nil {
		return x.Results
	}
	return nil
}

// Per-item result for the four bulk write families. `item_handle` mirrors the
// request entry's item_handle so callers can correlate inputs to outputs even
// when the gateway's per-entry `IConstraintEnforcer.CheckWriteHandleAsync`
// filter (see `MxAccessGatewayService.ReplaceWriteBulkEntries` and
// `docs/Authorization.md`) dropped some entries before reaching the worker.
// Per-item failures populate `error_message` + `hresult` and never raise —
// callers iterate and inspect each entry.
type BulkWriteResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle  int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle    int32                  `protobuf:"varint,2,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	WasSuccessful bool                   `protobuf:"varint,3,opt,name=was_successful,json=wasSuccessful,proto3" json:"was_successful,omitempty"`
	Hresult       *int32                 `protobuf:"varint,4,opt,name=hresult,proto3,oneof" json:"hresult,omitempty"`
	Statuses      []*MxStatusProxy       `protobuf:"bytes,5,rep,name=statuses,proto3" json:"statuses,omitempty"`
	ErrorMessage  string                 `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BulkWriteResult) Reset() {
	*x = BulkWriteResult{}
	mi := &file_mxaccess_gateway_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BulkWriteResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BulkWriteResult) ProtoMessage() {}

func (x *BulkWriteResult) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BulkWriteResult.ProtoReflect.Descriptor instead.
func (*BulkWriteResult) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{64}
}

func (x *BulkWriteResult) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *BulkWriteResult) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *BulkWriteResult) GetWasSuccessful() bool {
	if x != nil {
		return x.WasSuccessful
	}
	return false
}

func (x *BulkWriteResult) GetHresult() int32 {
	if x != nil && x.Hresult != nil {
		return *x.Hresult
	}
	return 0
}

func (x *BulkWriteResult) GetStatuses() []*MxStatusProxy {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *BulkWriteResult) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

type BulkWriteReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Results       []*BulkWriteResult     `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BulkWriteReply) Reset() {
	*x = BulkWriteReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BulkWriteReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BulkWriteReply) ProtoMessage() {}

func (x *BulkWriteReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BulkWriteReply.ProtoReflect.Descriptor instead.
func (*BulkWriteReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{65}
}

func (x *BulkWriteReply) GetResults() []*BulkWriteResult {
	if x != nil {
		return x.Results
	}
	return nil
}

// Per-tag result for ReadBulk. `was_cached` is true when the value came from
// an existing live subscription's last OnDataChange (the worker did not touch
// the subscription); false when the worker took the AddItem + Advise + wait +
// UnAdvise + RemoveItem snapshot lifecycle itself.
//
// On `was_successful = true`, `value`, `quality`, `source_timestamp`, and
// `statuses` carry the read data (from the cached subscription or the snapshot
// lifecycle, depending on `was_cached`) and `error_message` is empty. On
// `was_successful = false`, only `server_handle`, `tag_address`, `item_handle`
// (when allocated), `was_cached`, and `error_message` are populated; `value`,
// `quality`, `source_timestamp`, and `statuses` are left at their proto3
// defaults (null / 0 / null / empty) and must not be read as data — they are
// wire-indistinguishable from "value is null with quality bad" data and serve
// only as absent markers. ReadBulk has no `hresult` field by design (its
// outcomes are timeout / cache / lifecycle states, not MXAccess COM return
// codes — see `docs/DesignDecisions.md` "Bulk Command Family"). Per-tag
// failures populate `error_message` and never raise — callers iterate and
// inspect each entry.
type BulkReadResult struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ServerHandle    int32                  `protobuf:"varint,1,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	TagAddress      string                 `protobuf:"bytes,2,opt,name=tag_address,json=tagAddress,proto3" json:"tag_address,omitempty"`
	ItemHandle      int32                  `protobuf:"varint,3,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	WasSuccessful   bool                   `protobuf:"varint,4,opt,name=was_successful,json=wasSuccessful,proto3" json:"was_successful,omitempty"`
	WasCached       bool                   `protobuf:"varint,5,opt,name=was_cached,json=wasCached,proto3" json:"was_cached,omitempty"`
	Value           *MxValue               `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
	Quality         int32                  `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
	SourceTimestamp *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=source_timestamp,json=sourceTimestamp,proto3" json:"source_timestamp,omitempty"`
	Statuses        []*MxStatusProxy       `protobuf:"bytes,9,rep,name=statuses,proto3" json:"statuses,omitempty"`
	ErrorMessage    string                 `protobuf:"bytes,10,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *BulkReadResult) Reset() {
	*x = BulkReadResult{}
	mi := &file_mxaccess_gateway_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BulkReadResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BulkReadResult) ProtoMessage() {}

func (x *BulkReadResult) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BulkReadResult.ProtoReflect.Descriptor instead.
func (*BulkReadResult) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{66}
}

func (x *BulkReadResult) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *BulkReadResult) GetTagAddress() string {
	if x != nil {
		return x.TagAddress
	}
	return ""
}

func (x *BulkReadResult) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *BulkReadResult) GetWasSuccessful() bool {
	if x != nil {
		return x.WasSuccessful
	}
	return false
}

func (x *BulkReadResult) GetWasCached() bool {
	if x != nil {
		return x.WasCached
	}
	return false
}

func (x *BulkReadResult) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *BulkReadResult) GetQuality() int32 {
	if x != nil {
		return x.Quality
	}
	return 0
}

func (x *BulkReadResult) GetSourceTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.SourceTimestamp
	}
	return nil
}

func (x *BulkReadResult) GetStatuses() []*MxStatusProxy {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *BulkReadResult) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

type BulkReadReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Results       []*BulkReadResult      `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BulkReadReply) Reset() {
	*x = BulkReadReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BulkReadReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BulkReadReply) ProtoMessage() {}

func (x *BulkReadReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BulkReadReply.ProtoReflect.Descriptor instead.
func (*BulkReadReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{67}
}

func (x *BulkReadReply) GetResults() []*BulkReadResult {
	if x != nil {
		return x.Results
	}
	return nil
}

type SessionStateReply struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	State         SessionState           `protobuf:"varint,1,opt,name=state,proto3,enum=mxaccess_gateway.v1.SessionState" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SessionStateReply) Reset() {
	*x = SessionStateReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SessionStateReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SessionStateReply) ProtoMessage() {}

func (x *SessionStateReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SessionStateReply.ProtoReflect.Descriptor instead.
func (*SessionStateReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{68}
}

func (x *SessionStateReply) GetState() SessionState {
	if x != nil {
		return x.State
	}
	return SessionState_SESSION_STATE_UNSPECIFIED
}

type WorkerInfoReply struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	WorkerProcessId int32                  `protobuf:"varint,1,opt,name=worker_process_id,json=workerProcessId,proto3" json:"worker_process_id,omitempty"`
	WorkerVersion   string                 `protobuf:"bytes,2,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"`
	MxaccessProgid  string                 `protobuf:"bytes,3,opt,name=mxaccess_progid,json=mxaccessProgid,proto3" json:"mxaccess_progid,omitempty"`
	MxaccessClsid   string                 `protobuf:"bytes,4,opt,name=mxaccess_clsid,json=mxaccessClsid,proto3" json:"mxaccess_clsid,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *WorkerInfoReply) Reset() {
	*x = WorkerInfoReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkerInfoReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerInfoReply) ProtoMessage() {}

func (x *WorkerInfoReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkerInfoReply.ProtoReflect.Descriptor instead.
func (*WorkerInfoReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{69}
}

func (x *WorkerInfoReply) GetWorkerProcessId() int32 {
	if x != nil {
		return x.WorkerProcessId
	}
	return 0
}

func (x *WorkerInfoReply) GetWorkerVersion() string {
	if x != nil {
		return x.WorkerVersion
	}
	return ""
}

func (x *WorkerInfoReply) GetMxaccessProgid() string {
	if x != nil {
		return x.MxaccessProgid
	}
	return ""
}

func (x *WorkerInfoReply) GetMxaccessClsid() string {
	if x != nil {
		return x.MxaccessClsid
	}
	return ""
}

type DrainEventsReply struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The reply is bounded by both a server-side count cap and the negotiated
	// worker-frame byte cap; a reply may therefore carry fewer events than
	// `max_events` and fewer than are queued. Callers drain iteratively until an
	// empty reply.
	Events        []*MxEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DrainEventsReply) Reset() {
	*x = DrainEventsReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DrainEventsReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DrainEventsReply) ProtoMessage() {}

func (x *DrainEventsReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DrainEventsReply.ProtoReflect.Descriptor instead.
func (*DrainEventsReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{70}
}

func (x *DrainEventsReply) GetEvents() []*MxEvent {
	if x != nil {
		return x.Events
	}
	return nil
}

// Reply payload for AcknowledgeAlarmCommand AND
// AcknowledgeAlarmByNameCommand — both ack command kinds reuse this
// payload case (`MxCommandReply.acknowledge_alarm`); there is no
// dedicated by-name reply case. Surfaces AVEVA's native ack return
// code (AlarmAckByGUID for the GUID arm, AlarmAckByName for the
// by-name arm); 0 means success. The MxCommandReply's hresult field
// carries the same value and is preferred for protocol consumers —
// this payload exists so the gateway-side WorkerAlarmRpcDispatcher
// can echo native_status into AcknowledgeAlarmReply.hresult without
// unpacking the outer envelope.
type AcknowledgeAlarmReplyPayload struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NativeStatus  int32                  `protobuf:"varint,1,opt,name=native_status,json=nativeStatus,proto3" json:"native_status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AcknowledgeAlarmReplyPayload) Reset() {
	*x = AcknowledgeAlarmReplyPayload{}
	mi := &file_mxaccess_gateway_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AcknowledgeAlarmReplyPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcknowledgeAlarmReplyPayload) ProtoMessage() {}

func (x *AcknowledgeAlarmReplyPayload) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcknowledgeAlarmReplyPayload.ProtoReflect.Descriptor instead.
func (*AcknowledgeAlarmReplyPayload) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{71}
}

func (x *AcknowledgeAlarmReplyPayload) GetNativeStatus() int32 {
	if x != nil {
		return x.NativeStatus
	}
	return 0
}

// Reply payload for QueryActiveAlarmsCommand. The worker walks
// IMxAccessAlarmConsumer.SnapshotActiveAlarms and packs each record as
// an ActiveAlarmSnapshot proto for the gateway-side ConditionRefresh
// stream.
type QueryActiveAlarmsReplyPayload struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	Snapshots []*ActiveAlarmSnapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
	// True when the provider fetch backing this reply came back holding the
	// per-fetch cap (MxGateway:Alarms:MaxAlarmsPerFetch). The reply may then omit
	// active alarms, and the worker suspends its absence-implies-Clear inference
	// for that poll — so a reference missing from `snapshots` is not evidence the
	// alarm cleared. Carried on the payload as well as per-record because a
	// truncated fetch that filters down to zero records still has to say so.
	SnapshotTruncated bool `protobuf:"varint,2,opt,name=snapshot_truncated,json=snapshotTruncated,proto3" json:"snapshot_truncated,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *QueryActiveAlarmsReplyPayload) Reset() {
	*x = QueryActiveAlarmsReplyPayload{}
	mi := &file_mxaccess_gateway_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryActiveAlarmsReplyPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryActiveAlarmsReplyPayload) ProtoMessage() {}

func (x *QueryActiveAlarmsReplyPayload) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryActiveAlarmsReplyPayload.ProtoReflect.Descriptor instead.
func (*QueryActiveAlarmsReplyPayload) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{72}
}

func (x *QueryActiveAlarmsReplyPayload) GetSnapshots() []*ActiveAlarmSnapshot {
	if x != nil {
		return x.Snapshots
	}
	return nil
}

func (x *QueryActiveAlarmsReplyPayload) GetSnapshotTruncated() bool {
	if x != nil {
		return x.SnapshotTruncated
	}
	return false
}

type MxEvent struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	Family                  MxEventFamily          `protobuf:"varint,1,opt,name=family,proto3,enum=mxaccess_gateway.v1.MxEventFamily" json:"family,omitempty"`
	SessionId               string                 `protobuf:"bytes,2,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	ServerHandle            int32                  `protobuf:"varint,3,opt,name=server_handle,json=serverHandle,proto3" json:"server_handle,omitempty"`
	ItemHandle              int32                  `protobuf:"varint,4,opt,name=item_handle,json=itemHandle,proto3" json:"item_handle,omitempty"`
	Value                   *MxValue               `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
	Quality                 int32                  `protobuf:"varint,6,opt,name=quality,proto3" json:"quality,omitempty"`
	SourceTimestamp         *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=source_timestamp,json=sourceTimestamp,proto3" json:"source_timestamp,omitempty"`
	Statuses                []*MxStatusProxy       `protobuf:"bytes,8,rep,name=statuses,proto3" json:"statuses,omitempty"`
	WorkerSequence          uint64                 `protobuf:"varint,9,opt,name=worker_sequence,json=workerSequence,proto3" json:"worker_sequence,omitempty"`
	WorkerTimestamp         *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=worker_timestamp,json=workerTimestamp,proto3" json:"worker_timestamp,omitempty"`
	GatewayReceiveTimestamp *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=gateway_receive_timestamp,json=gatewayReceiveTimestamp,proto3" json:"gateway_receive_timestamp,omitempty"`
	Hresult                 *int32                 `protobuf:"varint,12,opt,name=hresult,proto3,oneof" json:"hresult,omitempty"`
	RawStatus               string                 `protobuf:"bytes,13,opt,name=raw_status,json=rawStatus,proto3" json:"raw_status,omitempty"`
	// Gateway-synthesized reconnect-replay gap signal. Set ONLY on the single
	// sentinel MxEvent the gateway emits at the head of a StreamEvents stream
	// that was resumed via StreamEventsRequest.after_worker_sequence when the
	// requested sequence is older than the oldest event still retained in the
	// session replay ring (i.e. events were evicted and cannot be replayed).
	// On that sentinel, `family` is UNSPECIFIED, the `body` oneof is unset, and
	// no per-item fields (server_handle/item_handle/value/...) are populated;
	// clients MUST treat a present `replay_gap` as "you missed events — discard
	// local state and re-snapshot" and read `requested_after_sequence` /
	// `oldest_available_sequence` from it. Unset on every normal MXAccess event.
	// This field is ONLY ever set on events returned from the StreamEvents server
	// stream; it is ALWAYS unset on events in DrainEventsReply (the diagnostic
	// drain path never emits the sentinel).
	// Additive (proto3): existing clients that ignore this field continue to
	// deserialize the stream unchanged.
	ReplayGap *ReplayGap `protobuf:"bytes,14,opt,name=replay_gap,json=replayGap,proto3,oneof" json:"replay_gap,omitempty"`
	// Types that are valid to be assigned to Body:
	//
	//	*MxEvent_OnDataChange
	//	*MxEvent_OnWriteComplete
	//	*MxEvent_OperationComplete
	//	*MxEvent_OnBufferedDataChange
	//	*MxEvent_OnAlarmTransition
	//	*MxEvent_OnAlarmProviderModeChanged
	Body          isMxEvent_Body `protobuf_oneof:"body"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxEvent) Reset() {
	*x = MxEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxEvent) ProtoMessage() {}

func (x *MxEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxEvent.ProtoReflect.Descriptor instead.
func (*MxEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{73}
}

func (x *MxEvent) GetFamily() MxEventFamily {
	if x != nil {
		return x.Family
	}
	return MxEventFamily_MX_EVENT_FAMILY_UNSPECIFIED
}

func (x *MxEvent) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *MxEvent) GetServerHandle() int32 {
	if x != nil {
		return x.ServerHandle
	}
	return 0
}

func (x *MxEvent) GetItemHandle() int32 {
	if x != nil {
		return x.ItemHandle
	}
	return 0
}

func (x *MxEvent) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *MxEvent) GetQuality() int32 {
	if x != nil {
		return x.Quality
	}
	return 0
}

func (x *MxEvent) GetSourceTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.SourceTimestamp
	}
	return nil
}

func (x *MxEvent) GetStatuses() []*MxStatusProxy {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *MxEvent) GetWorkerSequence() uint64 {
	if x != nil {
		return x.WorkerSequence
	}
	return 0
}

func (x *MxEvent) GetWorkerTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.WorkerTimestamp
	}
	return nil
}

func (x *MxEvent) GetGatewayReceiveTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.GatewayReceiveTimestamp
	}
	return nil
}

func (x *MxEvent) GetHresult() int32 {
	if x != nil && x.Hresult != nil {
		return *x.Hresult
	}
	return 0
}

func (x *MxEvent) GetRawStatus() string {
	if x != nil {
		return x.RawStatus
	}
	return ""
}

func (x *MxEvent) GetReplayGap() *ReplayGap {
	if x != nil {
		return x.ReplayGap
	}
	return nil
}

func (x *MxEvent) GetBody() isMxEvent_Body {
	if x != nil {
		return x.Body
	}
	return nil
}

func (x *MxEvent) GetOnDataChange() *OnDataChangeEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OnDataChange); ok {
			return x.OnDataChange
		}
	}
	return nil
}

func (x *MxEvent) GetOnWriteComplete() *OnWriteCompleteEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OnWriteComplete); ok {
			return x.OnWriteComplete
		}
	}
	return nil
}

func (x *MxEvent) GetOperationComplete() *OperationCompleteEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OperationComplete); ok {
			return x.OperationComplete
		}
	}
	return nil
}

func (x *MxEvent) GetOnBufferedDataChange() *OnBufferedDataChangeEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OnBufferedDataChange); ok {
			return x.OnBufferedDataChange
		}
	}
	return nil
}

func (x *MxEvent) GetOnAlarmTransition() *OnAlarmTransitionEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OnAlarmTransition); ok {
			return x.OnAlarmTransition
		}
	}
	return nil
}

func (x *MxEvent) GetOnAlarmProviderModeChanged() *OnAlarmProviderModeChangedEvent {
	if x != nil {
		if x, ok := x.Body.(*MxEvent_OnAlarmProviderModeChanged); ok {
			return x.OnAlarmProviderModeChanged
		}
	}
	return nil
}

type isMxEvent_Body interface {
	isMxEvent_Body()
}

type MxEvent_OnDataChange struct {
	OnDataChange *OnDataChangeEvent `protobuf:"bytes,20,opt,name=on_data_change,json=onDataChange,proto3,oneof"`
}

type MxEvent_OnWriteComplete struct {
	OnWriteComplete *OnWriteCompleteEvent `protobuf:"bytes,21,opt,name=on_write_complete,json=onWriteComplete,proto3,oneof"`
}

type MxEvent_OperationComplete struct {
	OperationComplete *OperationCompleteEvent `protobuf:"bytes,22,opt,name=operation_complete,json=operationComplete,proto3,oneof"`
}

type MxEvent_OnBufferedDataChange struct {
	OnBufferedDataChange *OnBufferedDataChangeEvent `protobuf:"bytes,23,opt,name=on_buffered_data_change,json=onBufferedDataChange,proto3,oneof"`
}

type MxEvent_OnAlarmTransition struct {
	OnAlarmTransition *OnAlarmTransitionEvent `protobuf:"bytes,24,opt,name=on_alarm_transition,json=onAlarmTransition,proto3,oneof"`
}

type MxEvent_OnAlarmProviderModeChanged struct {
	OnAlarmProviderModeChanged *OnAlarmProviderModeChangedEvent `protobuf:"bytes,25,opt,name=on_alarm_provider_mode_changed,json=onAlarmProviderModeChanged,proto3,oneof"`
}

func (*MxEvent_OnDataChange) isMxEvent_Body() {}

func (*MxEvent_OnWriteComplete) isMxEvent_Body() {}

func (*MxEvent_OperationComplete) isMxEvent_Body() {}

func (*MxEvent_OnBufferedDataChange) isMxEvent_Body() {}

func (*MxEvent_OnAlarmTransition) isMxEvent_Body() {}

func (*MxEvent_OnAlarmProviderModeChanged) isMxEvent_Body() {}

// Reconnect-replay gap signal carried by a sentinel MxEvent (MxEvent.replay_gap)
// when a client resumes StreamEvents via after_worker_sequence but the requested
// sequence predates the oldest event still held in the session replay ring.
// The events in the open interval (requested_after_sequence, oldest_available_sequence)
// were evicted from the ring and cannot be replayed, so the client must
// re-snapshot rather than assume a contiguous event history.
type ReplayGap struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The worker_sequence the client asked to resume after
	// (StreamEventsRequest.after_worker_sequence).
	RequestedAfterSequence uint64 `protobuf:"varint,1,opt,name=requested_after_sequence,json=requestedAfterSequence,proto3" json:"requested_after_sequence,omitempty"`
	// The oldest worker_sequence still retained in the replay ring and available
	// for replay. Events with worker_sequence in the open interval
	// (requested_after_sequence, oldest_available_sequence) were evicted and are
	// unrecoverable. oldest_available_sequence itself IS still retained: a client
	// that wishes to resume without incurring another gap MUST set
	// after_worker_sequence = oldest_available_sequence - 1 in the next
	// StreamEventsRequest, which will cause the server to replay starting at
	// oldest_available_sequence (the first retained event).
	// When nothing is retained (the replay ring is empty), this is the next sequence
	// that can be delivered — `highest observed + 1` — and the `oldest - 1` resume
	// formula remains valid: it resolves to the highest sequence already seen, so the
	// follow-up resume replays nothing, reports no gap, and every newer live event
	// passes. The interval evicted is unchanged.
	OldestAvailableSequence uint64 `protobuf:"varint,2,opt,name=oldest_available_sequence,json=oldestAvailableSequence,proto3" json:"oldest_available_sequence,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *ReplayGap) Reset() {
	*x = ReplayGap{}
	mi := &file_mxaccess_gateway_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReplayGap) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReplayGap) ProtoMessage() {}

func (x *ReplayGap) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReplayGap.ProtoReflect.Descriptor instead.
func (*ReplayGap) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{74}
}

func (x *ReplayGap) GetRequestedAfterSequence() uint64 {
	if x != nil {
		return x.RequestedAfterSequence
	}
	return 0
}

func (x *ReplayGap) GetOldestAvailableSequence() uint64 {
	if x != nil {
		return x.OldestAvailableSequence
	}
	return 0
}

type OnDataChangeEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnDataChangeEvent) Reset() {
	*x = OnDataChangeEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnDataChangeEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnDataChangeEvent) ProtoMessage() {}

func (x *OnDataChangeEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnDataChangeEvent.ProtoReflect.Descriptor instead.
func (*OnDataChangeEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{75}
}

type OnWriteCompleteEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnWriteCompleteEvent) Reset() {
	*x = OnWriteCompleteEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnWriteCompleteEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnWriteCompleteEvent) ProtoMessage() {}

func (x *OnWriteCompleteEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnWriteCompleteEvent.ProtoReflect.Descriptor instead.
func (*OnWriteCompleteEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{76}
}

type OperationCompleteEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OperationCompleteEvent) Reset() {
	*x = OperationCompleteEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OperationCompleteEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OperationCompleteEvent) ProtoMessage() {}

func (x *OperationCompleteEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OperationCompleteEvent.ProtoReflect.Descriptor instead.
func (*OperationCompleteEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{77}
}

type OnBufferedDataChangeEvent struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	DataType        MxDataType             `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=mxaccess_gateway.v1.MxDataType" json:"data_type,omitempty"`
	QualityValues   *MxArray               `protobuf:"bytes,2,opt,name=quality_values,json=qualityValues,proto3" json:"quality_values,omitempty"`
	TimestampValues *MxArray               `protobuf:"bytes,3,opt,name=timestamp_values,json=timestampValues,proto3" json:"timestamp_values,omitempty"`
	RawDataType     int32                  `protobuf:"varint,4,opt,name=raw_data_type,json=rawDataType,proto3" json:"raw_data_type,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *OnBufferedDataChangeEvent) Reset() {
	*x = OnBufferedDataChangeEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnBufferedDataChangeEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnBufferedDataChangeEvent) ProtoMessage() {}

func (x *OnBufferedDataChangeEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnBufferedDataChangeEvent.ProtoReflect.Descriptor instead.
func (*OnBufferedDataChangeEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{78}
}

func (x *OnBufferedDataChangeEvent) GetDataType() MxDataType {
	if x != nil {
		return x.DataType
	}
	return MxDataType_MX_DATA_TYPE_UNSPECIFIED
}

func (x *OnBufferedDataChangeEvent) GetQualityValues() *MxArray {
	if x != nil {
		return x.QualityValues
	}
	return nil
}

func (x *OnBufferedDataChangeEvent) GetTimestampValues() *MxArray {
	if x != nil {
		return x.TimestampValues
	}
	return nil
}

func (x *OnBufferedDataChangeEvent) GetRawDataType() int32 {
	if x != nil {
		return x.RawDataType
	}
	return 0
}

// Carries a single MXAccess alarm transition (raise / acknowledge / clear /
// re-trigger) in native MXAccess terms. The Part 9 state machine + ACL +
// multi-source aggregation lives in lmxopcua's AlarmConditionService; the
// gateway is UA-agnostic and forwards the raw payload.
type OnAlarmTransitionEvent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Fully-qualified alarm reference (e.g. "Tank01.Level.HiHi"). Stable across
	// transitions of the same condition; used by the lmxopcua side to correlate
	// raise/ack/clear into a single Part 9 condition.
	AlarmFullReference string `protobuf:"bytes,1,opt,name=alarm_full_reference,json=alarmFullReference,proto3" json:"alarm_full_reference,omitempty"`
	// Galaxy-side source object reference (e.g. "Tank01"). Empty for alarms
	// that do not bind to a Galaxy object.
	SourceObjectReference string `protobuf:"bytes,2,opt,name=source_object_reference,json=sourceObjectReference,proto3" json:"source_object_reference,omitempty"`
	// MxAccess alarm-type qualifier (e.g. "AnalogLimitAlarm.HiHi", "DiscAlarm").
	AlarmTypeName string `protobuf:"bytes,3,opt,name=alarm_type_name,json=alarmTypeName,proto3" json:"alarm_type_name,omitempty"`
	// What kind of state change this event represents.
	TransitionKind AlarmTransitionKind `protobuf:"varint,4,opt,name=transition_kind,json=transitionKind,proto3,enum=mxaccess_gateway.v1.AlarmTransitionKind" json:"transition_kind,omitempty"`
	// Raw MXAccess severity value. Mapping to OPC UA 0-1000 happens server-side
	// in lmxopcua via MxAccessSeverityMapper; the gateway preserves the native
	// MXAccess scale.
	Severity int32 `protobuf:"varint,5,opt,name=severity,proto3" json:"severity,omitempty"`
	// When the alarm originally entered the active state. Preserved across
	// acknowledge transitions so the Part 9 condition keeps the original raise
	// time. Unset on retrigger from a previously-cleared condition.
	OriginalRaiseTimestamp *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=original_raise_timestamp,json=originalRaiseTimestamp,proto3" json:"original_raise_timestamp,omitempty"`
	// When this specific transition occurred (raise time on Raise, ack time on
	// Acknowledge, clear time on Clear).
	TransitionTimestamp *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=transition_timestamp,json=transitionTimestamp,proto3" json:"transition_timestamp,omitempty"`
	// Operator principal recorded by MXAccess on Acknowledge transitions.
	// Empty on raise / clear.
	OperatorUser string `protobuf:"bytes,8,opt,name=operator_user,json=operatorUser,proto3" json:"operator_user,omitempty"`
	// Operator-supplied comment recorded by MXAccess on Acknowledge transitions.
	// Empty on raise / clear or when no comment was supplied.
	OperatorComment string `protobuf:"bytes,9,opt,name=operator_comment,json=operatorComment,proto3" json:"operator_comment,omitempty"`
	// MxAccess alarm category (taxonomy bucket configured in the Galaxy
	// template, e.g. "Process", "Safety", "Diagnostics").
	Category string `protobuf:"bytes,10,opt,name=category,proto3" json:"category,omitempty"`
	// Human-readable alarm description from the MxAccess alarm definition.
	Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"`
	// Current alarm value (the value of the source attribute at the moment of
	// transition). Optional; populated when MxAccess surfaces it.
	CurrentValue *MxValue `protobuf:"bytes,12,opt,name=current_value,json=currentValue,proto3" json:"current_value,omitempty"`
	// Limit/threshold value that triggered the transition for limit alarms.
	// Optional; populated for AnalogLimitAlarm-family transitions.
	LimitValue *MxValue `protobuf:"bytes,13,opt,name=limit_value,json=limitValue,proto3" json:"limit_value,omitempty"`
	// True when this transition came from the subtag-monitoring fallback rather
	// than the native alarmmgr provider — synthesized from data changes, reduced
	// fidelity (synthetic GUID, no native raise time).
	Degraded bool `protobuf:"varint,14,opt,name=degraded,proto3" json:"degraded,omitempty"`
	// Which provider produced this transition.
	SourceProvider AlarmProviderMode `protobuf:"varint,15,opt,name=source_provider,json=sourceProvider,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"source_provider,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *OnAlarmTransitionEvent) Reset() {
	*x = OnAlarmTransitionEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnAlarmTransitionEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnAlarmTransitionEvent) ProtoMessage() {}

func (x *OnAlarmTransitionEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnAlarmTransitionEvent.ProtoReflect.Descriptor instead.
func (*OnAlarmTransitionEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{79}
}

func (x *OnAlarmTransitionEvent) GetAlarmFullReference() string {
	if x != nil {
		return x.AlarmFullReference
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetSourceObjectReference() string {
	if x != nil {
		return x.SourceObjectReference
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetAlarmTypeName() string {
	if x != nil {
		return x.AlarmTypeName
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetTransitionKind() AlarmTransitionKind {
	if x != nil {
		return x.TransitionKind
	}
	return AlarmTransitionKind_ALARM_TRANSITION_KIND_UNSPECIFIED
}

func (x *OnAlarmTransitionEvent) GetSeverity() int32 {
	if x != nil {
		return x.Severity
	}
	return 0
}

func (x *OnAlarmTransitionEvent) GetOriginalRaiseTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.OriginalRaiseTimestamp
	}
	return nil
}

func (x *OnAlarmTransitionEvent) GetTransitionTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.TransitionTimestamp
	}
	return nil
}

func (x *OnAlarmTransitionEvent) GetOperatorUser() string {
	if x != nil {
		return x.OperatorUser
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetOperatorComment() string {
	if x != nil {
		return x.OperatorComment
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *OnAlarmTransitionEvent) GetCurrentValue() *MxValue {
	if x != nil {
		return x.CurrentValue
	}
	return nil
}

func (x *OnAlarmTransitionEvent) GetLimitValue() *MxValue {
	if x != nil {
		return x.LimitValue
	}
	return nil
}

func (x *OnAlarmTransitionEvent) GetDegraded() bool {
	if x != nil {
		return x.Degraded
	}
	return false
}

func (x *OnAlarmTransitionEvent) GetSourceProvider() AlarmProviderMode {
	if x != nil {
		return x.SourceProvider
	}
	return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED
}

type OnAlarmProviderModeChangedEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mode          AlarmProviderMode      `protobuf:"varint,1,opt,name=mode,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"mode,omitempty"`
	Reason        string                 `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	Hresult       int32                  `protobuf:"varint,3,opt,name=hresult,proto3" json:"hresult,omitempty"` // COM HRESULT that triggered failover; 0 on failback
	At            *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=at,proto3" json:"at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OnAlarmProviderModeChangedEvent) Reset() {
	*x = OnAlarmProviderModeChangedEvent{}
	mi := &file_mxaccess_gateway_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OnAlarmProviderModeChangedEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OnAlarmProviderModeChangedEvent) ProtoMessage() {}

func (x *OnAlarmProviderModeChangedEvent) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OnAlarmProviderModeChangedEvent.ProtoReflect.Descriptor instead.
func (*OnAlarmProviderModeChangedEvent) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{80}
}

func (x *OnAlarmProviderModeChangedEvent) GetMode() AlarmProviderMode {
	if x != nil {
		return x.Mode
	}
	return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED
}

func (x *OnAlarmProviderModeChangedEvent) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *OnAlarmProviderModeChangedEvent) GetHresult() int32 {
	if x != nil {
		return x.Hresult
	}
	return 0
}

func (x *OnAlarmProviderModeChangedEvent) GetAt() *timestamppb.Timestamp {
	if x != nil {
		return x.At
	}
	return nil
}

// Snapshot of a currently-active MXAccess alarm condition, returned from a
// QueryActiveAlarms ConditionRefresh stream.
type ActiveAlarmSnapshot struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	AlarmFullReference     string                 `protobuf:"bytes,1,opt,name=alarm_full_reference,json=alarmFullReference,proto3" json:"alarm_full_reference,omitempty"`
	SourceObjectReference  string                 `protobuf:"bytes,2,opt,name=source_object_reference,json=sourceObjectReference,proto3" json:"source_object_reference,omitempty"`
	AlarmTypeName          string                 `protobuf:"bytes,3,opt,name=alarm_type_name,json=alarmTypeName,proto3" json:"alarm_type_name,omitempty"`
	Severity               int32                  `protobuf:"varint,4,opt,name=severity,proto3" json:"severity,omitempty"`
	OriginalRaiseTimestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=original_raise_timestamp,json=originalRaiseTimestamp,proto3" json:"original_raise_timestamp,omitempty"`
	CurrentState           AlarmConditionState    `protobuf:"varint,6,opt,name=current_state,json=currentState,proto3,enum=mxaccess_gateway.v1.AlarmConditionState" json:"current_state,omitempty"`
	Category               string                 `protobuf:"bytes,7,opt,name=category,proto3" json:"category,omitempty"`
	Description            string                 `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
	// When the most recent state transition occurred (last raise, last ack,
	// last clear).
	LastTransitionTimestamp *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_transition_timestamp,json=lastTransitionTimestamp,proto3" json:"last_transition_timestamp,omitempty"`
	// Operator who acknowledged the alarm if the current state is ActiveAcked.
	// Empty otherwise.
	OperatorUser string `protobuf:"bytes,10,opt,name=operator_user,json=operatorUser,proto3" json:"operator_user,omitempty"`
	// Operator comment recorded with the most recent acknowledge if the current
	// state is ActiveAcked. Empty otherwise.
	OperatorComment string   `protobuf:"bytes,11,opt,name=operator_comment,json=operatorComment,proto3" json:"operator_comment,omitempty"`
	CurrentValue    *MxValue `protobuf:"bytes,12,opt,name=current_value,json=currentValue,proto3" json:"current_value,omitempty"`
	LimitValue      *MxValue `protobuf:"bytes,13,opt,name=limit_value,json=limitValue,proto3" json:"limit_value,omitempty"`
	// True when this snapshot came from the subtag-monitoring fallback rather
	// than the native alarmmgr provider — synthesized from data changes, reduced
	// fidelity (synthetic GUID, no native raise time). Mirrors
	// OnAlarmTransitionEvent.degraded.
	Degraded bool `protobuf:"varint,14,opt,name=degraded,proto3" json:"degraded,omitempty"`
	// Which provider produced this snapshot. Mirrors
	// OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
	// wire (never UNSPECIFIED).
	SourceProvider AlarmProviderMode `protobuf:"varint,15,opt,name=source_provider,json=sourceProvider,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"source_provider,omitempty"`
	// True when the provider fetch that produced this snapshot hit the per-fetch
	// cap: the snapshot set may omit active alarms, and the worker suspended its
	// absence-implies-Clear inference for that poll. Says nothing about THIS
	// record's fidelity — the record is as accurate as any other; it flags that
	// the set it belongs to is possibly incomplete. QueryActiveAlarms returns a
	// bare `stream ActiveAlarmSnapshot` with no envelope message, so a per-record
	// boolean is the only additive way to carry set-level degraded status on that
	// RPC. Distinct from `degraded`, which is about the subtag fallback provider.
	// Additive (proto3): clients that ignore it deserialize the stream unchanged.
	FromTruncatedSnapshot bool `protobuf:"varint,16,opt,name=from_truncated_snapshot,json=fromTruncatedSnapshot,proto3" json:"from_truncated_snapshot,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *ActiveAlarmSnapshot) Reset() {
	*x = ActiveAlarmSnapshot{}
	mi := &file_mxaccess_gateway_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ActiveAlarmSnapshot) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActiveAlarmSnapshot) ProtoMessage() {}

func (x *ActiveAlarmSnapshot) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActiveAlarmSnapshot.ProtoReflect.Descriptor instead.
func (*ActiveAlarmSnapshot) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{81}
}

func (x *ActiveAlarmSnapshot) GetAlarmFullReference() string {
	if x != nil {
		return x.AlarmFullReference
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetSourceObjectReference() string {
	if x != nil {
		return x.SourceObjectReference
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetAlarmTypeName() string {
	if x != nil {
		return x.AlarmTypeName
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetSeverity() int32 {
	if x != nil {
		return x.Severity
	}
	return 0
}

func (x *ActiveAlarmSnapshot) GetOriginalRaiseTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.OriginalRaiseTimestamp
	}
	return nil
}

func (x *ActiveAlarmSnapshot) GetCurrentState() AlarmConditionState {
	if x != nil {
		return x.CurrentState
	}
	return AlarmConditionState_ALARM_CONDITION_STATE_UNSPECIFIED
}

func (x *ActiveAlarmSnapshot) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetLastTransitionTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.LastTransitionTimestamp
	}
	return nil
}

func (x *ActiveAlarmSnapshot) GetOperatorUser() string {
	if x != nil {
		return x.OperatorUser
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetOperatorComment() string {
	if x != nil {
		return x.OperatorComment
	}
	return ""
}

func (x *ActiveAlarmSnapshot) GetCurrentValue() *MxValue {
	if x != nil {
		return x.CurrentValue
	}
	return nil
}

func (x *ActiveAlarmSnapshot) GetLimitValue() *MxValue {
	if x != nil {
		return x.LimitValue
	}
	return nil
}

func (x *ActiveAlarmSnapshot) GetDegraded() bool {
	if x != nil {
		return x.Degraded
	}
	return false
}

func (x *ActiveAlarmSnapshot) GetSourceProvider() AlarmProviderMode {
	if x != nil {
		return x.SourceProvider
	}
	return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED
}

func (x *ActiveAlarmSnapshot) GetFromTruncatedSnapshot() bool {
	if x != nil {
		return x.FromTruncatedSnapshot
	}
	return false
}

type AcknowledgeAlarmRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ClientCorrelationId string                 `protobuf:"bytes,2,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	// Fully-qualified alarm reference matching OnAlarmTransitionEvent.alarm_full_reference.
	AlarmFullReference string `protobuf:"bytes,3,opt,name=alarm_full_reference,json=alarmFullReference,proto3" json:"alarm_full_reference,omitempty"`
	// Operator-supplied comment forwarded to MXAccess.
	Comment string `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment,omitempty"`
	// Operator principal performing the acknowledgement. The lmxopcua side
	// resolves this from the OPC UA session prior to invoking the RPC.
	OperatorUser  string `protobuf:"bytes,5,opt,name=operator_user,json=operatorUser,proto3" json:"operator_user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AcknowledgeAlarmRequest) Reset() {
	*x = AcknowledgeAlarmRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AcknowledgeAlarmRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcknowledgeAlarmRequest) ProtoMessage() {}

func (x *AcknowledgeAlarmRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcknowledgeAlarmRequest.ProtoReflect.Descriptor instead.
func (*AcknowledgeAlarmRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{82}
}

func (x *AcknowledgeAlarmRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

func (x *AcknowledgeAlarmRequest) GetAlarmFullReference() string {
	if x != nil {
		return x.AlarmFullReference
	}
	return ""
}

func (x *AcknowledgeAlarmRequest) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *AcknowledgeAlarmRequest) GetOperatorUser() string {
	if x != nil {
		return x.OperatorUser
	}
	return ""
}

type AcknowledgeAlarmReply struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	CorrelationId  string                 `protobuf:"bytes,2,opt,name=correlation_id,json=correlationId,proto3" json:"correlation_id,omitempty"`
	ProtocolStatus *ProtocolStatus        `protobuf:"bytes,3,opt,name=protocol_status,json=protocolStatus,proto3" json:"protocol_status,omitempty"`
	// Native ack return code echoed from the worker. The worker carries the
	// ack outcome as a single int32 (AcknowledgeAlarmReplyPayload.native_status,
	// = AlarmAckByName / AlarmAckByGUID return code; 0 = success); the gateway's
	// WorkerAlarmRpcDispatcher copies that value here. This is the authoritative
	// ack-outcome field for the public RPC. Absent only when the worker reply
	// omitted the value entirely (a protocol violation).
	Hresult *int32 `protobuf:"varint,4,opt,name=hresult,proto3,oneof" json:"hresult,omitempty"`
	// Reserved for a structured MxStatusProxy view of the ack outcome. The
	// worker by-name/by-GUID ack path produces only the int32 return code
	// (see `hresult`), so the current gateway leaves this field UNSET on every
	// reply. Clients must read `hresult` (and `protocol_status`) for the ack
	// result and must not depend on `status` being populated.
	Status            *MxStatusProxy `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	DiagnosticMessage string         `protobuf:"bytes,6,opt,name=diagnostic_message,json=diagnosticMessage,proto3" json:"diagnostic_message,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AcknowledgeAlarmReply) Reset() {
	*x = AcknowledgeAlarmReply{}
	mi := &file_mxaccess_gateway_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AcknowledgeAlarmReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AcknowledgeAlarmReply) ProtoMessage() {}

func (x *AcknowledgeAlarmReply) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AcknowledgeAlarmReply.ProtoReflect.Descriptor instead.
func (*AcknowledgeAlarmReply) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{83}
}

func (x *AcknowledgeAlarmReply) GetCorrelationId() string {
	if x != nil {
		return x.CorrelationId
	}
	return ""
}

func (x *AcknowledgeAlarmReply) GetProtocolStatus() *ProtocolStatus {
	if x != nil {
		return x.ProtocolStatus
	}
	return nil
}

func (x *AcknowledgeAlarmReply) GetHresult() int32 {
	if x != nil && x.Hresult != nil {
		return *x.Hresult
	}
	return 0
}

func (x *AcknowledgeAlarmReply) GetStatus() *MxStatusProxy {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *AcknowledgeAlarmReply) GetDiagnosticMessage() string {
	if x != nil {
		return x.DiagnosticMessage
	}
	return ""
}

// Request to attach to the gateway's central alarm feed (StreamAlarms).
type StreamAlarmsRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ClientCorrelationId string                 `protobuf:"bytes,1,opt,name=client_correlation_id,json=clientCorrelationId,proto3" json:"client_correlation_id,omitempty"`
	// Optional alarm-reference prefix scoping the feed to an equipment
	// sub-tree. Empty streams every active alarm.
	AlarmFilterPrefix string `protobuf:"bytes,2,opt,name=alarm_filter_prefix,json=alarmFilterPrefix,proto3" json:"alarm_filter_prefix,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *StreamAlarmsRequest) Reset() {
	*x = StreamAlarmsRequest{}
	mi := &file_mxaccess_gateway_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamAlarmsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamAlarmsRequest) ProtoMessage() {}

func (x *StreamAlarmsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamAlarmsRequest.ProtoReflect.Descriptor instead.
func (*StreamAlarmsRequest) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{84}
}

func (x *StreamAlarmsRequest) GetClientCorrelationId() string {
	if x != nil {
		return x.ClientCorrelationId
	}
	return ""
}

func (x *StreamAlarmsRequest) GetAlarmFilterPrefix() string {
	if x != nil {
		return x.AlarmFilterPrefix
	}
	return ""
}

// One message on the StreamAlarms feed. The stream opens with a
// `provider_status` (the current provider mode), then a `snapshot_status`
// (whether the cached active set may be incomplete), then one `active_alarm`
// per currently-active alarm, then a single `snapshot_complete`. After that
// come the live frames: a `transition` for every subsequent alarm change,
// interleaved with a further `provider_status` on each failover/failback and a
// further `snapshot_status` on each change of the truncation verdict.
type AlarmFeedMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Payload:
	//
	//	*AlarmFeedMessage_ActiveAlarm
	//	*AlarmFeedMessage_SnapshotComplete
	//	*AlarmFeedMessage_Transition
	//	*AlarmFeedMessage_ProviderStatus
	//	*AlarmFeedMessage_SnapshotStatus
	Payload       isAlarmFeedMessage_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AlarmFeedMessage) Reset() {
	*x = AlarmFeedMessage{}
	mi := &file_mxaccess_gateway_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AlarmFeedMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlarmFeedMessage) ProtoMessage() {}

func (x *AlarmFeedMessage) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlarmFeedMessage.ProtoReflect.Descriptor instead.
func (*AlarmFeedMessage) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{85}
}

func (x *AlarmFeedMessage) GetPayload() isAlarmFeedMessage_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *AlarmFeedMessage) GetActiveAlarm() *ActiveAlarmSnapshot {
	if x != nil {
		if x, ok := x.Payload.(*AlarmFeedMessage_ActiveAlarm); ok {
			return x.ActiveAlarm
		}
	}
	return nil
}

func (x *AlarmFeedMessage) GetSnapshotComplete() bool {
	if x != nil {
		if x, ok := x.Payload.(*AlarmFeedMessage_SnapshotComplete); ok {
			return x.SnapshotComplete
		}
	}
	return false
}

func (x *AlarmFeedMessage) GetTransition() *OnAlarmTransitionEvent {
	if x != nil {
		if x, ok := x.Payload.(*AlarmFeedMessage_Transition); ok {
			return x.Transition
		}
	}
	return nil
}

func (x *AlarmFeedMessage) GetProviderStatus() *AlarmProviderStatus {
	if x != nil {
		if x, ok := x.Payload.(*AlarmFeedMessage_ProviderStatus); ok {
			return x.ProviderStatus
		}
	}
	return nil
}

func (x *AlarmFeedMessage) GetSnapshotStatus() *AlarmSnapshotStatus {
	if x != nil {
		if x, ok := x.Payload.(*AlarmFeedMessage_SnapshotStatus); ok {
			return x.SnapshotStatus
		}
	}
	return nil
}

type isAlarmFeedMessage_Payload interface {
	isAlarmFeedMessage_Payload()
}

type AlarmFeedMessage_ActiveAlarm struct {
	// Part of the initial active-alarm snapshot (ConditionRefresh).
	ActiveAlarm *ActiveAlarmSnapshot `protobuf:"bytes,1,opt,name=active_alarm,json=activeAlarm,proto3,oneof"`
}

type AlarmFeedMessage_SnapshotComplete struct {
	// Sentinel: the initial snapshot is fully delivered and `transition`
	// messages follow. Always true when present.
	SnapshotComplete bool `protobuf:"varint,2,opt,name=snapshot_complete,json=snapshotComplete,proto3,oneof"`
}

type AlarmFeedMessage_Transition struct {
	// A live alarm state change (raise / acknowledge / clear).
	Transition *OnAlarmTransitionEvent `protobuf:"bytes,3,opt,name=transition,proto3,oneof"`
}

type AlarmFeedMessage_ProviderStatus struct {
	// Provider-mode status. Emitted once on stream open and again on every
	// failover/failback so late joiners learn the current mode immediately.
	ProviderStatus *AlarmProviderStatus `protobuf:"bytes,4,opt,name=provider_status,json=providerStatus,proto3,oneof"`
}

type AlarmFeedMessage_SnapshotStatus struct {
	// Snapshot-completeness status. Emitted once on stream open and again on
	// every change of the truncation verdict, so late joiners learn whether the
	// feed's active-alarm set may be incomplete.
	SnapshotStatus *AlarmSnapshotStatus `protobuf:"bytes,5,opt,name=snapshot_status,json=snapshotStatus,proto3,oneof"`
}

func (*AlarmFeedMessage_ActiveAlarm) isAlarmFeedMessage_Payload() {}

func (*AlarmFeedMessage_SnapshotComplete) isAlarmFeedMessage_Payload() {}

func (*AlarmFeedMessage_Transition) isAlarmFeedMessage_Payload() {}

func (*AlarmFeedMessage_ProviderStatus) isAlarmFeedMessage_Payload() {}

func (*AlarmFeedMessage_SnapshotStatus) isAlarmFeedMessage_Payload() {}

type AlarmProviderStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mode          AlarmProviderMode      `protobuf:"varint,1,opt,name=mode,proto3,enum=mxaccess_gateway.v1.AlarmProviderMode" json:"mode,omitempty"`
	Degraded      bool                   `protobuf:"varint,2,opt,name=degraded,proto3" json:"degraded,omitempty"` // true whenever mode == SUBTAG
	Reason        string                 `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`      // human-readable switch reason
	Since         *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=since,proto3" json:"since,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AlarmProviderStatus) Reset() {
	*x = AlarmProviderStatus{}
	mi := &file_mxaccess_gateway_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AlarmProviderStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlarmProviderStatus) ProtoMessage() {}

func (x *AlarmProviderStatus) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlarmProviderStatus.ProtoReflect.Descriptor instead.
func (*AlarmProviderStatus) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{86}
}

func (x *AlarmProviderStatus) GetMode() AlarmProviderMode {
	if x != nil {
		return x.Mode
	}
	return AlarmProviderMode_ALARM_PROVIDER_MODE_UNSPECIFIED
}

func (x *AlarmProviderStatus) GetDegraded() bool {
	if x != nil {
		return x.Degraded
	}
	return false
}

func (x *AlarmProviderStatus) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *AlarmProviderStatus) GetSince() *timestamppb.Timestamp {
	if x != nil {
		return x.Since
	}
	return nil
}

// Feed-level snapshot-completeness status. Emitted once on StreamAlarms open
// (after the initial provider_status frame, before the cached active_alarm
// frames) so late joiners learn the current verdict, and again on every change
// of the truncation verdict — when a reconcile reports a different verdict, and
// when the gateway's alarm monitor restarts and drops a truncated verdict with
// the cache generation it described (feed subscribers outlive that monitor
// session, so they are sent the clearing frame). Mirrors the per-record
// ActiveAlarmSnapshot.from_truncated_snapshot caveat at feed level so live
// consumers can reason about completeness without polling QueryActiveAlarms.
type AlarmSnapshotStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// True while the monitor's cached active-alarm set derives from a truncated
	// (capped) worker fetch — the set may be missing alarms. Distinct from
	// provider degradation (AlarmProviderStatus.degraded), which describes the
	// fidelity of the records rather than the completeness of the set.
	Truncated     bool `protobuf:"varint,1,opt,name=truncated,proto3" json:"truncated,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AlarmSnapshotStatus) Reset() {
	*x = AlarmSnapshotStatus{}
	mi := &file_mxaccess_gateway_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AlarmSnapshotStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AlarmSnapshotStatus) ProtoMessage() {}

func (x *AlarmSnapshotStatus) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AlarmSnapshotStatus.ProtoReflect.Descriptor instead.
func (*AlarmSnapshotStatus) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{87}
}

func (x *AlarmSnapshotStatus) GetTruncated() bool {
	if x != nil {
		return x.Truncated
	}
	return false
}

type MxStatusProxy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Mirrors the `success` member of the MXAccess MXSTATUS_PROXY struct
	// (a 16-bit signed value in the COM struct, widened to int32 on the
	// wire). Despite the name it is NOT a boolean — it is the raw numeric
	// indicator the worker reads off the COM struct without reinterpretation.
	// It is carried verbatim for diagnostics; the authoritative success/
	// failure of the operation is `category` (MX_STATUS_CATEGORY_OK marks
	// success), with `detail`, `diagnostic_text`, `raw_category`, and
	// `raw_detected_by` describing any non-OK outcome. Clients should branch
	// on `category`, not on a specific `success` value.
	Success        int32            `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Category       MxStatusCategory `protobuf:"varint,2,opt,name=category,proto3,enum=mxaccess_gateway.v1.MxStatusCategory" json:"category,omitempty"`
	DetectedBy     MxStatusSource   `protobuf:"varint,3,opt,name=detected_by,json=detectedBy,proto3,enum=mxaccess_gateway.v1.MxStatusSource" json:"detected_by,omitempty"`
	Detail         int32            `protobuf:"varint,4,opt,name=detail,proto3" json:"detail,omitempty"`
	RawCategory    int32            `protobuf:"varint,5,opt,name=raw_category,json=rawCategory,proto3" json:"raw_category,omitempty"`
	RawDetectedBy  int32            `protobuf:"varint,6,opt,name=raw_detected_by,json=rawDetectedBy,proto3" json:"raw_detected_by,omitempty"`
	DiagnosticText string           `protobuf:"bytes,7,opt,name=diagnostic_text,json=diagnosticText,proto3" json:"diagnostic_text,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MxStatusProxy) Reset() {
	*x = MxStatusProxy{}
	mi := &file_mxaccess_gateway_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxStatusProxy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxStatusProxy) ProtoMessage() {}

func (x *MxStatusProxy) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxStatusProxy.ProtoReflect.Descriptor instead.
func (*MxStatusProxy) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{88}
}

func (x *MxStatusProxy) GetSuccess() int32 {
	if x != nil {
		return x.Success
	}
	return 0
}

func (x *MxStatusProxy) GetCategory() MxStatusCategory {
	if x != nil {
		return x.Category
	}
	return MxStatusCategory_MX_STATUS_CATEGORY_UNSPECIFIED
}

func (x *MxStatusProxy) GetDetectedBy() MxStatusSource {
	if x != nil {
		return x.DetectedBy
	}
	return MxStatusSource_MX_STATUS_SOURCE_UNSPECIFIED
}

func (x *MxStatusProxy) GetDetail() int32 {
	if x != nil {
		return x.Detail
	}
	return 0
}

func (x *MxStatusProxy) GetRawCategory() int32 {
	if x != nil {
		return x.RawCategory
	}
	return 0
}

func (x *MxStatusProxy) GetRawDetectedBy() int32 {
	if x != nil {
		return x.RawDetectedBy
	}
	return 0
}

func (x *MxStatusProxy) GetDiagnosticText() string {
	if x != nil {
		return x.DiagnosticText
	}
	return ""
}

type MxValue struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DataType      MxDataType             `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=mxaccess_gateway.v1.MxDataType" json:"data_type,omitempty"`
	VariantType   string                 `protobuf:"bytes,2,opt,name=variant_type,json=variantType,proto3" json:"variant_type,omitempty"`
	IsNull        bool                   `protobuf:"varint,3,opt,name=is_null,json=isNull,proto3" json:"is_null,omitempty"`
	RawDiagnostic string                 `protobuf:"bytes,4,opt,name=raw_diagnostic,json=rawDiagnostic,proto3" json:"raw_diagnostic,omitempty"`
	RawDataType   int32                  `protobuf:"varint,5,opt,name=raw_data_type,json=rawDataType,proto3" json:"raw_data_type,omitempty"`
	// Types that are valid to be assigned to Kind:
	//
	//	*MxValue_BoolValue
	//	*MxValue_Int32Value
	//	*MxValue_Int64Value
	//	*MxValue_FloatValue
	//	*MxValue_DoubleValue
	//	*MxValue_StringValue
	//	*MxValue_TimestampValue
	//	*MxValue_ArrayValue
	//	*MxValue_RawValue
	//	*MxValue_SparseArrayValue
	Kind          isMxValue_Kind `protobuf_oneof:"kind"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxValue) Reset() {
	*x = MxValue{}
	mi := &file_mxaccess_gateway_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxValue) ProtoMessage() {}

func (x *MxValue) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxValue.ProtoReflect.Descriptor instead.
func (*MxValue) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{89}
}

func (x *MxValue) GetDataType() MxDataType {
	if x != nil {
		return x.DataType
	}
	return MxDataType_MX_DATA_TYPE_UNSPECIFIED
}

func (x *MxValue) GetVariantType() string {
	if x != nil {
		return x.VariantType
	}
	return ""
}

func (x *MxValue) GetIsNull() bool {
	if x != nil {
		return x.IsNull
	}
	return false
}

func (x *MxValue) GetRawDiagnostic() string {
	if x != nil {
		return x.RawDiagnostic
	}
	return ""
}

func (x *MxValue) GetRawDataType() int32 {
	if x != nil {
		return x.RawDataType
	}
	return 0
}

func (x *MxValue) GetKind() isMxValue_Kind {
	if x != nil {
		return x.Kind
	}
	return nil
}

func (x *MxValue) GetBoolValue() bool {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_BoolValue); ok {
			return x.BoolValue
		}
	}
	return false
}

func (x *MxValue) GetInt32Value() int32 {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_Int32Value); ok {
			return x.Int32Value
		}
	}
	return 0
}

func (x *MxValue) GetInt64Value() int64 {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_Int64Value); ok {
			return x.Int64Value
		}
	}
	return 0
}

func (x *MxValue) GetFloatValue() float32 {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_FloatValue); ok {
			return x.FloatValue
		}
	}
	return 0
}

func (x *MxValue) GetDoubleValue() float64 {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_DoubleValue); ok {
			return x.DoubleValue
		}
	}
	return 0
}

func (x *MxValue) GetStringValue() string {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_StringValue); ok {
			return x.StringValue
		}
	}
	return ""
}

func (x *MxValue) GetTimestampValue() *timestamppb.Timestamp {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_TimestampValue); ok {
			return x.TimestampValue
		}
	}
	return nil
}

func (x *MxValue) GetArrayValue() *MxArray {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_ArrayValue); ok {
			return x.ArrayValue
		}
	}
	return nil
}

func (x *MxValue) GetRawValue() []byte {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_RawValue); ok {
			return x.RawValue
		}
	}
	return nil
}

func (x *MxValue) GetSparseArrayValue() *MxSparseArray {
	if x != nil {
		if x, ok := x.Kind.(*MxValue_SparseArrayValue); ok {
			return x.SparseArrayValue
		}
	}
	return nil
}

type isMxValue_Kind interface {
	isMxValue_Kind()
}

type MxValue_BoolValue struct {
	BoolValue bool `protobuf:"varint,10,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type MxValue_Int32Value struct {
	Int32Value int32 `protobuf:"varint,11,opt,name=int32_value,json=int32Value,proto3,oneof"`
}

type MxValue_Int64Value struct {
	Int64Value int64 `protobuf:"varint,12,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

type MxValue_FloatValue struct {
	FloatValue float32 `protobuf:"fixed32,13,opt,name=float_value,json=floatValue,proto3,oneof"`
}

type MxValue_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,14,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

type MxValue_StringValue struct {
	StringValue string `protobuf:"bytes,15,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type MxValue_TimestampValue struct {
	TimestampValue *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}

type MxValue_ArrayValue struct {
	ArrayValue *MxArray `protobuf:"bytes,17,opt,name=array_value,json=arrayValue,proto3,oneof"`
}

type MxValue_RawValue struct {
	RawValue []byte `protobuf:"bytes,18,opt,name=raw_value,json=rawValue,proto3,oneof"`
}

type MxValue_SparseArrayValue struct {
	SparseArrayValue *MxSparseArray `protobuf:"bytes,19,opt,name=sparse_array_value,json=sparseArrayValue,proto3,oneof"`
}

func (*MxValue_BoolValue) isMxValue_Kind() {}

func (*MxValue_Int32Value) isMxValue_Kind() {}

func (*MxValue_Int64Value) isMxValue_Kind() {}

func (*MxValue_FloatValue) isMxValue_Kind() {}

func (*MxValue_DoubleValue) isMxValue_Kind() {}

func (*MxValue_StringValue) isMxValue_Kind() {}

func (*MxValue_TimestampValue) isMxValue_Kind() {}

func (*MxValue_ArrayValue) isMxValue_Kind() {}

func (*MxValue_RawValue) isMxValue_Kind() {}

func (*MxValue_SparseArrayValue) isMxValue_Kind() {}

type MxArray struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	ElementDataType    MxDataType             `protobuf:"varint,1,opt,name=element_data_type,json=elementDataType,proto3,enum=mxaccess_gateway.v1.MxDataType" json:"element_data_type,omitempty"`
	VariantType        string                 `protobuf:"bytes,2,opt,name=variant_type,json=variantType,proto3" json:"variant_type,omitempty"`
	Dimensions         []uint32               `protobuf:"varint,3,rep,packed,name=dimensions,proto3" json:"dimensions,omitempty"`
	RawDiagnostic      string                 `protobuf:"bytes,4,opt,name=raw_diagnostic,json=rawDiagnostic,proto3" json:"raw_diagnostic,omitempty"`
	RawElementDataType int32                  `protobuf:"varint,5,opt,name=raw_element_data_type,json=rawElementDataType,proto3" json:"raw_element_data_type,omitempty"`
	// Types that are valid to be assigned to Values:
	//
	//	*MxArray_BoolValues
	//	*MxArray_Int32Values
	//	*MxArray_Int64Values
	//	*MxArray_FloatValues
	//	*MxArray_DoubleValues
	//	*MxArray_StringValues
	//	*MxArray_TimestampValues
	//	*MxArray_RawValues
	Values        isMxArray_Values `protobuf_oneof:"values"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxArray) Reset() {
	*x = MxArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxArray) ProtoMessage() {}

func (x *MxArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxArray.ProtoReflect.Descriptor instead.
func (*MxArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{90}
}

func (x *MxArray) GetElementDataType() MxDataType {
	if x != nil {
		return x.ElementDataType
	}
	return MxDataType_MX_DATA_TYPE_UNSPECIFIED
}

func (x *MxArray) GetVariantType() string {
	if x != nil {
		return x.VariantType
	}
	return ""
}

func (x *MxArray) GetDimensions() []uint32 {
	if x != nil {
		return x.Dimensions
	}
	return nil
}

func (x *MxArray) GetRawDiagnostic() string {
	if x != nil {
		return x.RawDiagnostic
	}
	return ""
}

func (x *MxArray) GetRawElementDataType() int32 {
	if x != nil {
		return x.RawElementDataType
	}
	return 0
}

func (x *MxArray) GetValues() isMxArray_Values {
	if x != nil {
		return x.Values
	}
	return nil
}

func (x *MxArray) GetBoolValues() *BoolArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_BoolValues); ok {
			return x.BoolValues
		}
	}
	return nil
}

func (x *MxArray) GetInt32Values() *Int32Array {
	if x != nil {
		if x, ok := x.Values.(*MxArray_Int32Values); ok {
			return x.Int32Values
		}
	}
	return nil
}

func (x *MxArray) GetInt64Values() *Int64Array {
	if x != nil {
		if x, ok := x.Values.(*MxArray_Int64Values); ok {
			return x.Int64Values
		}
	}
	return nil
}

func (x *MxArray) GetFloatValues() *FloatArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_FloatValues); ok {
			return x.FloatValues
		}
	}
	return nil
}

func (x *MxArray) GetDoubleValues() *DoubleArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_DoubleValues); ok {
			return x.DoubleValues
		}
	}
	return nil
}

func (x *MxArray) GetStringValues() *StringArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_StringValues); ok {
			return x.StringValues
		}
	}
	return nil
}

func (x *MxArray) GetTimestampValues() *TimestampArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_TimestampValues); ok {
			return x.TimestampValues
		}
	}
	return nil
}

func (x *MxArray) GetRawValues() *RawArray {
	if x != nil {
		if x, ok := x.Values.(*MxArray_RawValues); ok {
			return x.RawValues
		}
	}
	return nil
}

type isMxArray_Values interface {
	isMxArray_Values()
}

type MxArray_BoolValues struct {
	BoolValues *BoolArray `protobuf:"bytes,10,opt,name=bool_values,json=boolValues,proto3,oneof"`
}

type MxArray_Int32Values struct {
	Int32Values *Int32Array `protobuf:"bytes,11,opt,name=int32_values,json=int32Values,proto3,oneof"`
}

type MxArray_Int64Values struct {
	Int64Values *Int64Array `protobuf:"bytes,12,opt,name=int64_values,json=int64Values,proto3,oneof"`
}

type MxArray_FloatValues struct {
	FloatValues *FloatArray `protobuf:"bytes,13,opt,name=float_values,json=floatValues,proto3,oneof"`
}

type MxArray_DoubleValues struct {
	DoubleValues *DoubleArray `protobuf:"bytes,14,opt,name=double_values,json=doubleValues,proto3,oneof"`
}

type MxArray_StringValues struct {
	StringValues *StringArray `protobuf:"bytes,15,opt,name=string_values,json=stringValues,proto3,oneof"`
}

type MxArray_TimestampValues struct {
	TimestampValues *TimestampArray `protobuf:"bytes,16,opt,name=timestamp_values,json=timestampValues,proto3,oneof"`
}

type MxArray_RawValues struct {
	RawValues *RawArray `protobuf:"bytes,17,opt,name=raw_values,json=rawValues,proto3,oneof"`
}

func (*MxArray_BoolValues) isMxArray_Values() {}

func (*MxArray_Int32Values) isMxArray_Values() {}

func (*MxArray_Int64Values) isMxArray_Values() {}

func (*MxArray_FloatValues) isMxArray_Values() {}

func (*MxArray_DoubleValues) isMxArray_Values() {}

func (*MxArray_StringValues) isMxArray_Values() {}

func (*MxArray_TimestampValues) isMxArray_Values() {}

func (*MxArray_RawValues) isMxArray_Values() {}

// Write-only sparse array value. The gateway expands this into a full,
// default-filled MxArray before forwarding to the worker; the worker never
// receives or produces it. Unmentioned indices take the element type's
// default (reset, NOT preserved).
type MxSparseArray struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ElementDataType MxDataType             `protobuf:"varint,1,opt,name=element_data_type,json=elementDataType,proto3,enum=mxaccess_gateway.v1.MxDataType" json:"element_data_type,omitempty"`
	TotalLength     uint32                 `protobuf:"varint,2,opt,name=total_length,json=totalLength,proto3" json:"total_length,omitempty"`
	Elements        []*MxSparseElement     `protobuf:"bytes,3,rep,name=elements,proto3" json:"elements,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MxSparseArray) Reset() {
	*x = MxSparseArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxSparseArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxSparseArray) ProtoMessage() {}

func (x *MxSparseArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxSparseArray.ProtoReflect.Descriptor instead.
func (*MxSparseArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{91}
}

func (x *MxSparseArray) GetElementDataType() MxDataType {
	if x != nil {
		return x.ElementDataType
	}
	return MxDataType_MX_DATA_TYPE_UNSPECIFIED
}

func (x *MxSparseArray) GetTotalLength() uint32 {
	if x != nil {
		return x.TotalLength
	}
	return 0
}

func (x *MxSparseArray) GetElements() []*MxSparseElement {
	if x != nil {
		return x.Elements
	}
	return nil
}

type MxSparseElement struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Index         uint32                 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Value         *MxValue               `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // scalar
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MxSparseElement) Reset() {
	*x = MxSparseElement{}
	mi := &file_mxaccess_gateway_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MxSparseElement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MxSparseElement) ProtoMessage() {}

func (x *MxSparseElement) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[92]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MxSparseElement.ProtoReflect.Descriptor instead.
func (*MxSparseElement) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{92}
}

func (x *MxSparseElement) GetIndex() uint32 {
	if x != nil {
		return x.Index
	}
	return 0
}

func (x *MxSparseElement) GetValue() *MxValue {
	if x != nil {
		return x.Value
	}
	return nil
}

type BoolArray struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []bool                 `protobuf:"varint,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BoolArray) Reset() {
	*x = BoolArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BoolArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BoolArray) ProtoMessage() {}

func (x *BoolArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BoolArray.ProtoReflect.Descriptor instead.
func (*BoolArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{93}
}

func (x *BoolArray) GetValues() []bool {
	if x != nil {
		return x.Values
	}
	return nil
}

type Int32Array struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []int32                `protobuf:"varint,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Int32Array) Reset() {
	*x = Int32Array{}
	mi := &file_mxaccess_gateway_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Int32Array) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Int32Array) ProtoMessage() {}

func (x *Int32Array) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Int32Array.ProtoReflect.Descriptor instead.
func (*Int32Array) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{94}
}

func (x *Int32Array) GetValues() []int32 {
	if x != nil {
		return x.Values
	}
	return nil
}

type Int64Array struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []int64                `protobuf:"varint,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Int64Array) Reset() {
	*x = Int64Array{}
	mi := &file_mxaccess_gateway_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Int64Array) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Int64Array) ProtoMessage() {}

func (x *Int64Array) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Int64Array.ProtoReflect.Descriptor instead.
func (*Int64Array) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{95}
}

func (x *Int64Array) GetValues() []int64 {
	if x != nil {
		return x.Values
	}
	return nil
}

type FloatArray struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []float32              `protobuf:"fixed32,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FloatArray) Reset() {
	*x = FloatArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FloatArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FloatArray) ProtoMessage() {}

func (x *FloatArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[96]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FloatArray.ProtoReflect.Descriptor instead.
func (*FloatArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{96}
}

func (x *FloatArray) GetValues() []float32 {
	if x != nil {
		return x.Values
	}
	return nil
}

type DoubleArray struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []float64              `protobuf:"fixed64,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DoubleArray) Reset() {
	*x = DoubleArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DoubleArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DoubleArray) ProtoMessage() {}

func (x *DoubleArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DoubleArray.ProtoReflect.Descriptor instead.
func (*DoubleArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{97}
}

func (x *DoubleArray) GetValues() []float64 {
	if x != nil {
		return x.Values
	}
	return nil
}

type StringArray struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        []string               `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StringArray) Reset() {
	*x = StringArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StringArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StringArray) ProtoMessage() {}

func (x *StringArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StringArray.ProtoReflect.Descriptor instead.
func (*StringArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{98}
}

func (x *StringArray) GetValues() []string {
	if x != nil {
		return x.Values
	}
	return nil
}

type TimestampArray struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Values        []*timestamppb.Timestamp `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TimestampArray) Reset() {
	*x = TimestampArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TimestampArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TimestampArray) ProtoMessage() {}

func (x *TimestampArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TimestampArray.ProtoReflect.Descriptor instead.
func (*TimestampArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{99}
}

func (x *TimestampArray) GetValues() []*timestamppb.Timestamp {
	if x != nil {
		return x.Values
	}
	return nil
}

type RawArray struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Values        [][]byte               `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RawArray) Reset() {
	*x = RawArray{}
	mi := &file_mxaccess_gateway_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RawArray) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RawArray) ProtoMessage() {}

func (x *RawArray) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RawArray.ProtoReflect.Descriptor instead.
func (*RawArray) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{100}
}

func (x *RawArray) GetValues() [][]byte {
	if x != nil {
		return x.Values
	}
	return nil
}

type ProtocolStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          ProtocolStatusCode     `protobuf:"varint,1,opt,name=code,proto3,enum=mxaccess_gateway.v1.ProtocolStatusCode" json:"code,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProtocolStatus) Reset() {
	*x = ProtocolStatus{}
	mi := &file_mxaccess_gateway_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProtocolStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProtocolStatus) ProtoMessage() {}

func (x *ProtocolStatus) ProtoReflect() protoreflect.Message {
	mi := &file_mxaccess_gateway_proto_msgTypes[101]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProtocolStatus.ProtoReflect.Descriptor instead.
func (*ProtocolStatus) Descriptor() ([]byte, []int) {
	return file_mxaccess_gateway_proto_rawDescGZIP(), []int{101}
}

func (x *ProtocolStatus) GetCode() ProtocolStatusCode {
	if x != nil {
		return x.Code
	}
	return ProtocolStatusCode_PROTOCOL_STATUS_CODE_UNSPECIFIED
}

func (x *ProtocolStatus) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

var File_mxaccess_gateway_proto protoreflect.FileDescriptor

const file_mxaccess_gateway_proto_rawDesc = "" +
	"\n" +
	"\x16mxaccess_gateway.proto\x12\x13mxaccess_gateway.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9d\x01\n" +
	"\x18QueryActiveAlarmsRequest\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x122\n" +
	"\x15client_correlation_id\x18\x02 \x01(\tR\x13clientCorrelationId\x12.\n" +
	"\x13alarm_filter_prefix\x18\x03 \x01(\tR\x11alarmFilterPrefix\"\xe9\x01\n" +
	"\x12OpenSessionRequest\x12+\n" +
	"\x11requested_backend\x18\x01 \x01(\tR\x10requestedBackend\x12.\n" +
	"\x13client_session_name\x18\x02 \x01(\tR\x11clientSessionName\x122\n" +
	"\x15client_correlation_id\x18\x03 \x01(\tR\x13clientCorrelationId\x12B\n" +
	"\x0fcommand_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x0ecommandTimeout\"\xb7\x03\n" +
	"\x10OpenSessionReply\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x12!\n" +
	"\fbackend_name\x18\x02 \x01(\tR\vbackendName\x12*\n" +
	"\x11worker_process_id\x18\x03 \x01(\x05R\x0fworkerProcessId\x126\n" +
	"\x17worker_protocol_version\x18\x04 \x01(\rR\x15workerProtocolVersion\x12\"\n" +
	"\fcapabilities\x18\x05 \x03(\tR\fcapabilities\x12Q\n" +
	"\x17default_command_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x15defaultCommandTimeout\x12L\n" +
	"\x0fprotocol_status\x18\a \x01(\v2#.mxaccess_gateway.v1.ProtocolStatusR\x0eprotocolStatus\x128\n" +
	"\x18gateway_protocol_version\x18\b \x01(\rR\x16gatewayProtocolVersion\"h\n" +
	"\x13CloseSessionRequest\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x122\n" +
	"\x15client_correlation_id\x18\x02 \x01(\tR\x13clientCorrelationId\"\xc4\x01\n" +
	"\x11CloseSessionReply\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x12B\n" +
	"\vfinal_state\x18\x02 \x01(\x0e2!.mxaccess_gateway.v1.SessionStateR\n" +
	"finalState\x12L\n" +
	"\x0fprotocol_status\x18\x03 \x01(\v2#.mxaccess_gateway.v1.ProtocolStatusR\x0eprotocolStatus\"h\n" +
	"\x13StreamEventsRequest\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x122\n" +
	"\x15after_worker_sequence\x18\x02 \x01(\x04R\x13afterWorkerSequence\"\x9f\x01\n" +
	"\x10MxCommandRequest\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x122\n" +
	"\x15client_correlation_id\x18\x02 \x01(\tR\x13clientCorrelationId\x128\n" +
	"\acommand\x18\x03 \x01(\v2\x1e.mxaccess_gateway.v1.MxCommandR\acommand\"\x8e\x1a\n" +
	"\tMxCommand\x126\n" +
	"\x04kind\x18\x01 \x01(\x0e2\".mxaccess_gateway.v1.MxCommandKindR\x04kind\x12B\n" +
	"\bregister\x18\n" +
	" \x01(\v2$.mxaccess_gateway.v1.RegisterCommandH\x00R\bregister\x12H\n" +
	"\n" +
	"unregister\x18\v \x01(\v2&.mxaccess_gateway.v1.UnregisterCommandH\x00R\n" +
	"unregister\x12@\n" +
	"\badd_item\x18\f \x01(\v2#.mxaccess_gateway.v1.AddItemCommandH\x00R\aaddItem\x12C\n" +
	"\tadd_item2\x18\r \x01(\v2$.mxaccess_gateway.v1.AddItem2CommandH\x00R\baddItem2\x12I\n" +
	"\vremove_item\x18\x0e \x01(\v2&.mxaccess_gateway.v1.RemoveItemCommandH\x00R\n" +
	"removeItem\x12<\n" +
	"\x06advise\x18\x0f \x01(\v2\".mxaccess_gateway.v1.AdviseCommandH\x00R\x06advise\x12C\n" +
	"\tun_advise\x18\x10 \x01(\v2$.mxaccess_gateway.v1.UnAdviseCommandH\x00R\bunAdvise\x12^\n" +
	"\x12advise_supervisory\x18\x11 \x01(\v2-.mxaccess_gateway.v1.AdviseSupervisoryCommandH\x00R\x11adviseSupervisory\x12Y\n" +
	"\x11add_buffered_item\x18\x12 \x01(\v2+.mxaccess_gateway.v1.AddBufferedItemCommandH\x00R\x0faddBufferedItem\x12x\n" +
	"\x1cset_buffered_update_interval\x18\x13 \x01(\v25.mxaccess_gateway.v1.SetBufferedUpdateIntervalCommandH\x00R\x19setBufferedUpdateInterval\x12?\n" +
	"\asuspend\x18\x14 \x01(\v2#.mxaccess_gateway.v1.SuspendCommandH\x00R\asuspend\x12B\n" +
	"\bactivate\x18\x15 \x01(\v2$.mxaccess_gateway.v1.ActivateCommandH\x00R\bactivate\x129\n" +
	"\x05write\x18\x16 \x01(\v2!.mxaccess_gateway.v1.WriteCommandH\x00R\x05write\x12<\n" +
	"\x06write2\x18\x17 \x01(\v2\".mxaccess_gateway.v1.Write2CommandH\x00R\x06write2\x12O\n" +
	"\rwrite_secured\x18\x18 \x01(\v2(.mxaccess_gateway.v1.WriteSecuredCommandH\x00R\fwriteSecured\x12R\n" +
	"\x0ewrite_secured2\x18\x19 \x01(\v2).mxaccess_gateway.v1.WriteSecured2CommandH\x00R\rwriteSecured2\x12[\n" +
	"\x11authenticate_user\x18\x1a \x01(\v2,.mxaccess_gateway.v1.AuthenticateUserCommandH\x00R\x10authenticateUser\x12`\n" +
	"\x14archestra_user_to_id\x18\x1b \x01(\v2-.mxaccess_gateway.v1.ArchestrAUserToIdCommandH\x00R\x11archestraUserToId\x12M\n" +
	"\radd_item_bulk\x18\x1c \x01(\v2'.mxaccess_gateway.v1.AddItemBulkCommandH\x00R\vaddItemBulk\x12V\n" +
	"\x10advise_item_bulk\x18\x1d \x01(\v2*.mxaccess_gateway.v1.AdviseItemBulkCommandH\x00R\x0eadviseItemBulk\x12V\n" +
	"\x10remove_item_bulk\x18\x1e \x01(\v2*.mxaccess_gateway.v1.RemoveItemBulkCommandH\x00R\x0eremoveItemBulk\x12]\n" +
	"\x13un_advise_item_bulk\x18\x1f \x01(\v2,.mxaccess_gateway.v1.UnAdviseItemBulkCommandH\x00R\x10unAdviseItemBulk\x12R\n" +
	"\x0esubscribe_bulk\x18  \x01(\v2).mxaccess_gateway.v1.SubscribeBulkCommandH\x00R\rsubscribeBulk\x12X\n" +
	"\x10unsubscribe_bulk\x18! \x01(\v2+.mxaccess_gateway.v1.UnsubscribeBulkCommandH\x00R\x0funsubscribeBulk\x12X\n" +
	"\x10subscribe_alarms\x18\" \x01(\v2+.mxaccess_gateway.v1.SubscribeAlarmsCommandH\x00R\x0fsubscribeAlarms\x12^\n" +
	"\x12unsubscribe_alarms\x18# \x01(\v2-.mxaccess_gateway.v1.UnsubscribeAlarmsCommandH\x00R\x11unsubscribeAlarms\x12j\n" +
	"\x19acknowledge_alarm_command\x18$ \x01(\v2,.mxaccess_gateway.v1.AcknowledgeAlarmCommandH\x00R\x17acknowledgeAlarmCommand\x12n\n" +
	"\x1bquery_active_alarms_command\x18% \x01(\v2-.mxaccess_gateway.v1.QueryActiveAlarmsCommandH\x00R\x18queryActiveAlarmsCommand\x12~\n" +
	"!acknowledge_alarm_by_name_command\x18& \x01(\v22.mxaccess_gateway.v1.AcknowledgeAlarmByNameCommandH\x00R\x1dacknowledgeAlarmByNameCommand\x12F\n" +
	"\n" +
	"write_bulk\x18' \x01(\v2%.mxaccess_gateway.v1.WriteBulkCommandH\x00R\twriteBulk\x12I\n" +
	"\vwrite2_bulk\x18( \x01(\v2&.mxaccess_gateway.v1.Write2BulkCommandH\x00R\n" +
	"write2Bulk\x12\\\n" +
	"\x12write_secured_bulk\x18) \x01(\v2,.mxaccess_gateway.v1.WriteSecuredBulkCommandH\x00R\x10writeSecuredBulk\x12_\n" +
	"\x13write_secured2_bulk\x18* \x01(\v2-.mxaccess_gateway.v1.WriteSecured2BulkCommandH\x00R\x11writeSecured2Bulk\x12C\n" +
	"\tread_bulk\x18+ \x01(\v2$.mxaccess_gateway.v1.ReadBulkCommandH\x00R\breadBulk\x126\n" +
	"\x04ping\x18d \x01(\v2 .mxaccess_gateway.v1.PingCommandH\x00R\x04ping\x12Y\n" +
	"\x11get_session_state\x18e \x01(\v2+.mxaccess_gateway.v1.GetSessionStateCommandH\x00R\x0fgetSessionState\x12S\n" +
	"\x0fget_worker_info\x18f \x01(\v2).mxaccess_gateway.v1.GetWorkerInfoCommandH\x00R\rgetWorkerInfo\x12L\n" +
	"\fdrain_events\x18g \x01(\v2'.mxaccess_gateway.v1.DrainEventsCommandH\x00R\vdrainEvents\x12U\n" +
	"\x0fshutdown_worker\x18h \x01(\v2*.mxaccess_gateway.v1.ShutdownWorkerCommandH\x00R\x0eshutdownWorkerB\t\n" +
	"\apayload\"2\n" +
	"\x0fRegisterCommand\x12\x1f\n" +
	"\vclient_name\x18\x01 \x01(\tR\n" +
	"clientName\"8\n" +
	"\x11UnregisterCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\"^\n" +
	"\x0eAddItemCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12'\n" +
	"\x0fitem_definition\x18\x02 \x01(\tR\x0eitemDefinition\"\x82\x01\n" +
	"\x0fAddItem2Command\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12'\n" +
	"\x0fitem_definition\x18\x02 \x01(\tR\x0eitemDefinition\x12!\n" +
	"\fitem_context\x18\x03 \x01(\tR\vitemContext\"Y\n" +
	"\x11RemoveItemCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"U\n" +
	"\rAdviseCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"W\n" +
	"\x0fUnAdviseCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"`\n" +
	"\x18AdviseSupervisoryCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"\x89\x01\n" +
	"\x16AddBufferedItemCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12'\n" +
	"\x0fitem_definition\x18\x02 \x01(\tR\x0eitemDefinition\x12!\n" +
	"\fitem_context\x18\x03 \x01(\tR\vitemContext\"\x89\x01\n" +
	" SetBufferedUpdateIntervalCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12@\n" +
	"\x1cupdate_interval_milliseconds\x18\x02 \x01(\x05R\x1aupdateIntervalMilliseconds\"V\n" +
	"\x0eSuspendCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"W\n" +
	"\x0fActivateCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\"\xa1\x01\n" +
	"\fWriteCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\x122\n" +
	"\x05value\x18\x03 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12\x17\n" +
	"\auser_id\x18\x04 \x01(\x05R\x06userId\"\xe9\x01\n" +
	"\rWrite2Command\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\x122\n" +
	"\x05value\x18\x03 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12E\n" +
	"\x0ftimestamp_value\x18\x04 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x0etimestampValue\x12\x17\n" +
	"\auser_id\x18\x05 \x01(\x05R\x06userId\"\xe1\x01\n" +
	"\x13WriteSecuredCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\x12&\n" +
	"\x0fcurrent_user_id\x18\x03 \x01(\x05R\rcurrentUserId\x12(\n" +
	"\x10verifier_user_id\x18\x04 \x01(\x05R\x0everifierUserId\x122\n" +
	"\x05value\x18\x05 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\"\xa9\x02\n" +
	"\x14WriteSecured2Command\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\x12&\n" +
	"\x0fcurrent_user_id\x18\x03 \x01(\x05R\rcurrentUserId\x12(\n" +
	"\x10verifier_user_id\x18\x04 \x01(\x05R\x0everifierUserId\x122\n" +
	"\x05value\x18\x05 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12E\n" +
	"\x0ftimestamp_value\x18\x06 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x0etimestampValue\"\x91\x01\n" +
	"\x17AuthenticateUserCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vverify_user\x18\x02 \x01(\tR\n" +
	"verifyUser\x120\n" +
	"\x14verify_user_password\x18\x03 \x01(\tR\x12verifyUserPassword\"a\n" +
	"\x18ArchestrAUserToIdCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12 \n" +
	"\fuser_id_guid\x18\x02 \x01(\tR\n" +
	"userIdGuid\"^\n" +
	"\x12AddItemBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12#\n" +
	"\rtag_addresses\x18\x02 \x03(\tR\ftagAddresses\"_\n" +
	"\x15AdviseItemBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12!\n" +
	"\fitem_handles\x18\x02 \x03(\x05R\vitemHandles\"_\n" +
	"\x15RemoveItemBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12!\n" +
	"\fitem_handles\x18\x02 \x03(\x05R\vitemHandles\"a\n" +
	"\x17UnAdviseItemBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12!\n" +
	"\fitem_handles\x18\x02 \x03(\x05R\vitemHandles\"`\n" +
	"\x14SubscribeBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12#\n" +
	"\rtag_addresses\x18\x02 \x03(\tR\ftagAddresses\"\xa7\x02\n" +
	"\x16SubscribeAlarmsCommand\x127\n" +
	"\x17subscription_expression\x18\x01 \x01(\tR\x16subscriptionExpression\x12G\n" +
	"\vforced_mode\x18\x02 \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\n" +
	"forcedMode\x12E\n" +
	"\n" +
	"watch_list\x18\x03 \x03(\v2&.mxaccess_gateway.v1.AlarmSubtagTargetR\twatchList\x12D\n" +
	"\bfailover\x18\x04 \x01(\v2(.mxaccess_gateway.v1.AlarmFailoverConfigR\bfailover\"\x1a\n" +
	"\x18UnsubscribeAlarmsCommand\"\x9c\x02\n" +
	"\x11AlarmSubtagTarget\x120\n" +
	"\x14alarm_full_reference\x18\x01 \x01(\tR\x12alarmFullReference\x126\n" +
	"\x17source_object_reference\x18\x02 \x01(\tR\x15sourceObjectReference\x12#\n" +
	"\ractive_subtag\x18\x03 \x01(\tR\factiveSubtag\x12!\n" +
	"\facked_subtag\x18\x04 \x01(\tR\vackedSubtag\x12,\n" +
	"\x12ack_comment_subtag\x18\x05 \x01(\tR\x10ackCommentSubtag\x12'\n" +
	"\x0fpriority_subtag\x18\x06 \x01(\tR\x0eprioritySubtag\"\xd6\x01\n" +
	"\x13AlarmFailoverConfig\x12B\n" +
	"\x1dconsecutive_failure_threshold\x18\x01 \x01(\x05R\x1bconsecutiveFailureThreshold\x12E\n" +
	"\x1ffailback_probe_interval_seconds\x18\x02 \x01(\x05R\x1cfailbackProbeIntervalSeconds\x124\n" +
	"\x16failback_stable_probes\x18\x03 \x01(\x05R\x14failbackStableProbes\"\xf3\x01\n" +
	"\x17AcknowledgeAlarmCommand\x12\x1d\n" +
	"\n" +
	"alarm_guid\x18\x01 \x01(\tR\talarmGuid\x12\x18\n" +
	"\acomment\x18\x02 \x01(\tR\acomment\x12#\n" +
	"\roperator_user\x18\x03 \x01(\tR\foperatorUser\x12#\n" +
	"\roperator_node\x18\x04 \x01(\tR\foperatorNode\x12'\n" +
	"\x0foperator_domain\x18\x05 \x01(\tR\x0eoperatorDomain\x12,\n" +
	"\x12operator_full_name\x18\x06 \x01(\tR\x10operatorFullName\"J\n" +
	"\x18QueryActiveAlarmsCommand\x12.\n" +
	"\x13alarm_filter_prefix\x18\x01 \x01(\tR\x11alarmFilterPrefix\"\xbd\x02\n" +
	"\x1dAcknowledgeAlarmByNameCommand\x12\x1d\n" +
	"\n" +
	"alarm_name\x18\x01 \x01(\tR\talarmName\x12#\n" +
	"\rprovider_name\x18\x02 \x01(\tR\fproviderName\x12\x1d\n" +
	"\n" +
	"group_name\x18\x03 \x01(\tR\tgroupName\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12#\n" +
	"\roperator_user\x18\x05 \x01(\tR\foperatorUser\x12#\n" +
	"\roperator_node\x18\x06 \x01(\tR\foperatorNode\x12'\n" +
	"\x0foperator_domain\x18\a \x01(\tR\x0eoperatorDomain\x12,\n" +
	"\x12operator_full_name\x18\b \x01(\tR\x10operatorFullName\"`\n" +
	"\x16UnsubscribeBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12!\n" +
	"\fitem_handles\x18\x02 \x03(\x05R\vitemHandles\"v\n" +
	"\x10WriteBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12=\n" +
	"\aentries\x18\x02 \x03(\v2#.mxaccess_gateway.v1.WriteBulkEntryR\aentries\"~\n" +
	"\x0eWriteBulkEntry\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\x122\n" +
	"\x05value\x18\x02 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\x05R\x06userId\"x\n" +
	"\x11Write2BulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12>\n" +
	"\aentries\x18\x02 \x03(\v2$.mxaccess_gateway.v1.Write2BulkEntryR\aentries\"\xc6\x01\n" +
	"\x0fWrite2BulkEntry\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\x122\n" +
	"\x05value\x18\x02 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12E\n" +
	"\x0ftimestamp_value\x18\x03 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x0etimestampValue\x12\x17\n" +
	"\auser_id\x18\x04 \x01(\x05R\x06userId\"\x84\x01\n" +
	"\x17WriteSecuredBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12D\n" +
	"\aentries\x18\x02 \x03(\v2*.mxaccess_gateway.v1.WriteSecuredBulkEntryR\aentries\"\xbe\x01\n" +
	"\x15WriteSecuredBulkEntry\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\x12&\n" +
	"\x0fcurrent_user_id\x18\x02 \x01(\x05R\rcurrentUserId\x12(\n" +
	"\x10verifier_user_id\x18\x03 \x01(\x05R\x0everifierUserId\x122\n" +
	"\x05value\x18\x04 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\"\x86\x01\n" +
	"\x18WriteSecured2BulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12E\n" +
	"\aentries\x18\x02 \x03(\v2+.mxaccess_gateway.v1.WriteSecured2BulkEntryR\aentries\"\x86\x02\n" +
	"\x16WriteSecured2BulkEntry\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\x12&\n" +
	"\x0fcurrent_user_id\x18\x02 \x01(\x05R\rcurrentUserId\x12(\n" +
	"\x10verifier_user_id\x18\x03 \x01(\x05R\x0everifierUserId\x122\n" +
	"\x05value\x18\x04 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12E\n" +
	"\x0ftimestamp_value\x18\x05 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x0etimestampValue\"z\n" +
	"\x0fReadBulkCommand\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12#\n" +
	"\rtag_addresses\x18\x02 \x03(\tR\ftagAddresses\x12\x1d\n" +
	"\n" +
	"timeout_ms\x18\x03 \x01(\rR\ttimeoutMs\"'\n" +
	"\vPingCommand\x12\x18\n" +
	"\amessage\x18\x01 \x01(\tR\amessage\"\x18\n" +
	"\x16GetSessionStateCommand\"\x16\n" +
	"\x14GetWorkerInfoCommand\"3\n" +
	"\x12DrainEventsCommand\x12\x1d\n" +
	"\n" +
	"max_events\x18\x01 \x01(\rR\tmaxEvents\"U\n" +
	"\x15ShutdownWorkerCommand\x12<\n" +
	"\fgrace_period\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\vgracePeriod\"\xc0\x12\n" +
	"\x0eMxCommandReply\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\tR\tsessionId\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x126\n" +
	"\x04kind\x18\x03 \x01(\x0e2\".mxaccess_gateway.v1.MxCommandKindR\x04kind\x12L\n" +
	"\x0fprotocol_status\x18\x04 \x01(\v2#.mxaccess_gateway.v1.ProtocolStatusR\x0eprotocolStatus\x12\x1d\n" +
	"\ahresult\x18\x05 \x01(\x05H\x01R\ahresult\x88\x01\x01\x12?\n" +
	"\freturn_value\x18\x06 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\vreturnValue\x12>\n" +
	"\bstatuses\x18\a \x03(\v2\".mxaccess_gateway.v1.MxStatusProxyR\bstatuses\x12-\n" +
	"\x12diagnostic_message\x18\b \x01(\tR\x11diagnosticMessage\x12@\n" +
	"\bregister\x18\x14 \x01(\v2\".mxaccess_gateway.v1.RegisterReplyH\x00R\bregister\x12>\n" +
	"\badd_item\x18\x15 \x01(\v2!.mxaccess_gateway.v1.AddItemReplyH\x00R\aaddItem\x12A\n" +
	"\tadd_item2\x18\x16 \x01(\v2\".mxaccess_gateway.v1.AddItem2ReplyH\x00R\baddItem2\x12W\n" +
	"\x11add_buffered_item\x18\x17 \x01(\v2).mxaccess_gateway.v1.AddBufferedItemReplyH\x00R\x0faddBufferedItem\x12=\n" +
	"\asuspend\x18\x18 \x01(\v2!.mxaccess_gateway.v1.SuspendReplyH\x00R\asuspend\x12@\n" +
	"\bactivate\x18\x19 \x01(\v2\".mxaccess_gateway.v1.ActivateReplyH\x00R\bactivate\x12Y\n" +
	"\x11authenticate_user\x18\x1a \x01(\v2*.mxaccess_gateway.v1.AuthenticateUserReplyH\x00R\x10authenticateUser\x12^\n" +
	"\x14archestra_user_to_id\x18\x1b \x01(\v2+.mxaccess_gateway.v1.ArchestrAUserToIdReplyH\x00R\x11archestraUserToId\x12M\n" +
	"\radd_item_bulk\x18\x1c \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\vaddItemBulk\x12S\n" +
	"\x10advise_item_bulk\x18\x1d \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\x0eadviseItemBulk\x12S\n" +
	"\x10remove_item_bulk\x18\x1e \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\x0eremoveItemBulk\x12X\n" +
	"\x13un_advise_item_bulk\x18\x1f \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\x10unAdviseItemBulk\x12P\n" +
	"\x0esubscribe_bulk\x18  \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\rsubscribeBulk\x12T\n" +
	"\x10unsubscribe_bulk\x18! \x01(\v2'.mxaccess_gateway.v1.BulkSubscribeReplyH\x00R\x0funsubscribeBulk\x12`\n" +
	"\x11acknowledge_alarm\x18\" \x01(\v21.mxaccess_gateway.v1.AcknowledgeAlarmReplyPayloadH\x00R\x10acknowledgeAlarm\x12d\n" +
	"\x13query_active_alarms\x18# \x01(\v22.mxaccess_gateway.v1.QueryActiveAlarmsReplyPayloadH\x00R\x11queryActiveAlarms\x12D\n" +
	"\n" +
	"write_bulk\x18$ \x01(\v2#.mxaccess_gateway.v1.BulkWriteReplyH\x00R\twriteBulk\x12F\n" +
	"\vwrite2_bulk\x18% \x01(\v2#.mxaccess_gateway.v1.BulkWriteReplyH\x00R\n" +
	"write2Bulk\x12S\n" +
	"\x12write_secured_bulk\x18& \x01(\v2#.mxaccess_gateway.v1.BulkWriteReplyH\x00R\x10writeSecuredBulk\x12U\n" +
	"\x13write_secured2_bulk\x18' \x01(\v2#.mxaccess_gateway.v1.BulkWriteReplyH\x00R\x11writeSecured2Bulk\x12A\n" +
	"\tread_bulk\x18( \x01(\v2\".mxaccess_gateway.v1.BulkReadReplyH\x00R\breadBulk\x12M\n" +
	"\rsession_state\x18d \x01(\v2&.mxaccess_gateway.v1.SessionStateReplyH\x00R\fsessionState\x12G\n" +
	"\vworker_info\x18e \x01(\v2$.mxaccess_gateway.v1.WorkerInfoReplyH\x00R\n" +
	"workerInfo\x12J\n" +
	"\fdrain_events\x18f \x01(\v2%.mxaccess_gateway.v1.DrainEventsReplyH\x00R\vdrainEventsB\t\n" +
	"\apayloadB\n" +
	"\n" +
	"\b_hresult\"4\n" +
	"\rRegisterReply\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\"/\n" +
	"\fAddItemReply\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\"0\n" +
	"\rAddItem2Reply\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\"7\n" +
	"\x14AddBufferedItemReply\x12\x1f\n" +
	"\vitem_handle\x18\x01 \x01(\x05R\n" +
	"itemHandle\"J\n" +
	"\fSuspendReply\x12:\n" +
	"\x06status\x18\x01 \x01(\v2\".mxaccess_gateway.v1.MxStatusProxyR\x06status\"K\n" +
	"\rActivateReply\x12:\n" +
	"\x06status\x18\x01 \x01(\v2\".mxaccess_gateway.v1.MxStatusProxyR\x06status\"0\n" +
	"\x15AuthenticateUserReply\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x05R\x06userId\"1\n" +
	"\x16ArchestrAUserToIdReply\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x05R\x06userId\"\xc4\x01\n" +
	"\x0fSubscribeResult\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vtag_address\x18\x02 \x01(\tR\n" +
	"tagAddress\x12\x1f\n" +
	"\vitem_handle\x18\x03 \x01(\x05R\n" +
	"itemHandle\x12%\n" +
	"\x0ewas_successful\x18\x04 \x01(\bR\rwasSuccessful\x12#\n" +
	"\rerror_message\x18\x05 \x01(\tR\ferrorMessage\"T\n" +
	"\x12BulkSubscribeReply\x12>\n" +
	"\aresults\x18\x01 \x03(\v2$.mxaccess_gateway.v1.SubscribeResultR\aresults\"\x8e\x02\n" +
	"\x0fBulkWriteResult\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x02 \x01(\x05R\n" +
	"itemHandle\x12%\n" +
	"\x0ewas_successful\x18\x03 \x01(\bR\rwasSuccessful\x12\x1d\n" +
	"\ahresult\x18\x04 \x01(\x05H\x00R\ahresult\x88\x01\x01\x12>\n" +
	"\bstatuses\x18\x05 \x03(\v2\".mxaccess_gateway.v1.MxStatusProxyR\bstatuses\x12#\n" +
	"\rerror_message\x18\x06 \x01(\tR\ferrorMessageB\n" +
	"\n" +
	"\b_hresult\"P\n" +
	"\x0eBulkWriteReply\x12>\n" +
	"\aresults\x18\x01 \x03(\v2$.mxaccess_gateway.v1.BulkWriteResultR\aresults\"\xb7\x03\n" +
	"\x0eBulkReadResult\x12#\n" +
	"\rserver_handle\x18\x01 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vtag_address\x18\x02 \x01(\tR\n" +
	"tagAddress\x12\x1f\n" +
	"\vitem_handle\x18\x03 \x01(\x05R\n" +
	"itemHandle\x12%\n" +
	"\x0ewas_successful\x18\x04 \x01(\bR\rwasSuccessful\x12\x1d\n" +
	"\n" +
	"was_cached\x18\x05 \x01(\bR\twasCached\x122\n" +
	"\x05value\x18\x06 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12\x18\n" +
	"\aquality\x18\a \x01(\x05R\aquality\x12E\n" +
	"\x10source_timestamp\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0fsourceTimestamp\x12>\n" +
	"\bstatuses\x18\t \x03(\v2\".mxaccess_gateway.v1.MxStatusProxyR\bstatuses\x12#\n" +
	"\rerror_message\x18\n" +
	" \x01(\tR\ferrorMessage\"N\n" +
	"\rBulkReadReply\x12=\n" +
	"\aresults\x18\x01 \x03(\v2#.mxaccess_gateway.v1.BulkReadResultR\aresults\"L\n" +
	"\x11SessionStateReply\x127\n" +
	"\x05state\x18\x01 \x01(\x0e2!.mxaccess_gateway.v1.SessionStateR\x05state\"\xb4\x01\n" +
	"\x0fWorkerInfoReply\x12*\n" +
	"\x11worker_process_id\x18\x01 \x01(\x05R\x0fworkerProcessId\x12%\n" +
	"\x0eworker_version\x18\x02 \x01(\tR\rworkerVersion\x12'\n" +
	"\x0fmxaccess_progid\x18\x03 \x01(\tR\x0emxaccessProgid\x12%\n" +
	"\x0emxaccess_clsid\x18\x04 \x01(\tR\rmxaccessClsid\"H\n" +
	"\x10DrainEventsReply\x124\n" +
	"\x06events\x18\x01 \x03(\v2\x1c.mxaccess_gateway.v1.MxEventR\x06events\"C\n" +
	"\x1cAcknowledgeAlarmReplyPayload\x12#\n" +
	"\rnative_status\x18\x01 \x01(\x05R\fnativeStatus\"\x96\x01\n" +
	"\x1dQueryActiveAlarmsReplyPayload\x12F\n" +
	"\tsnapshots\x18\x01 \x03(\v2(.mxaccess_gateway.v1.ActiveAlarmSnapshotR\tsnapshots\x12-\n" +
	"\x12snapshot_truncated\x18\x02 \x01(\bR\x11snapshotTruncated\"\xb7\n" +
	"\n" +
	"\aMxEvent\x12:\n" +
	"\x06family\x18\x01 \x01(\x0e2\".mxaccess_gateway.v1.MxEventFamilyR\x06family\x12\x1d\n" +
	"\n" +
	"session_id\x18\x02 \x01(\tR\tsessionId\x12#\n" +
	"\rserver_handle\x18\x03 \x01(\x05R\fserverHandle\x12\x1f\n" +
	"\vitem_handle\x18\x04 \x01(\x05R\n" +
	"itemHandle\x122\n" +
	"\x05value\x18\x05 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\x12\x18\n" +
	"\aquality\x18\x06 \x01(\x05R\aquality\x12E\n" +
	"\x10source_timestamp\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x0fsourceTimestamp\x12>\n" +
	"\bstatuses\x18\b \x03(\v2\".mxaccess_gateway.v1.MxStatusProxyR\bstatuses\x12'\n" +
	"\x0fworker_sequence\x18\t \x01(\x04R\x0eworkerSequence\x12E\n" +
	"\x10worker_timestamp\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\x0fworkerTimestamp\x12V\n" +
	"\x19gateway_receive_timestamp\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\x17gatewayReceiveTimestamp\x12\x1d\n" +
	"\ahresult\x18\f \x01(\x05H\x01R\ahresult\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"raw_status\x18\r \x01(\tR\trawStatus\x12B\n" +
	"\n" +
	"replay_gap\x18\x0e \x01(\v2\x1e.mxaccess_gateway.v1.ReplayGapH\x02R\treplayGap\x88\x01\x01\x12N\n" +
	"\x0eon_data_change\x18\x14 \x01(\v2&.mxaccess_gateway.v1.OnDataChangeEventH\x00R\fonDataChange\x12W\n" +
	"\x11on_write_complete\x18\x15 \x01(\v2).mxaccess_gateway.v1.OnWriteCompleteEventH\x00R\x0fonWriteComplete\x12\\\n" +
	"\x12operation_complete\x18\x16 \x01(\v2+.mxaccess_gateway.v1.OperationCompleteEventH\x00R\x11operationComplete\x12g\n" +
	"\x17on_buffered_data_change\x18\x17 \x01(\v2..mxaccess_gateway.v1.OnBufferedDataChangeEventH\x00R\x14onBufferedDataChange\x12]\n" +
	"\x13on_alarm_transition\x18\x18 \x01(\v2+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00R\x11onAlarmTransition\x12z\n" +
	"\x1eon_alarm_provider_mode_changed\x18\x19 \x01(\v24.mxaccess_gateway.v1.OnAlarmProviderModeChangedEventH\x00R\x1aonAlarmProviderModeChangedB\x06\n" +
	"\x04bodyB\n" +
	"\n" +
	"\b_hresultB\r\n" +
	"\v_replay_gap\"\x81\x01\n" +
	"\tReplayGap\x128\n" +
	"\x18requested_after_sequence\x18\x01 \x01(\x04R\x16requestedAfterSequence\x12:\n" +
	"\x19oldest_available_sequence\x18\x02 \x01(\x04R\x17oldestAvailableSequence\"\x13\n" +
	"\x11OnDataChangeEvent\"\x16\n" +
	"\x14OnWriteCompleteEvent\"\x18\n" +
	"\x16OperationCompleteEvent\"\x8b\x02\n" +
	"\x19OnBufferedDataChangeEvent\x12<\n" +
	"\tdata_type\x18\x01 \x01(\x0e2\x1f.mxaccess_gateway.v1.MxDataTypeR\bdataType\x12C\n" +
	"\x0equality_values\x18\x02 \x01(\v2\x1c.mxaccess_gateway.v1.MxArrayR\rqualityValues\x12G\n" +
	"\x10timestamp_values\x18\x03 \x01(\v2\x1c.mxaccess_gateway.v1.MxArrayR\x0ftimestampValues\x12\"\n" +
	"\rraw_data_type\x18\x04 \x01(\x05R\vrawDataType\"\xbb\x06\n" +
	"\x16OnAlarmTransitionEvent\x120\n" +
	"\x14alarm_full_reference\x18\x01 \x01(\tR\x12alarmFullReference\x126\n" +
	"\x17source_object_reference\x18\x02 \x01(\tR\x15sourceObjectReference\x12&\n" +
	"\x0falarm_type_name\x18\x03 \x01(\tR\ralarmTypeName\x12Q\n" +
	"\x0ftransition_kind\x18\x04 \x01(\x0e2(.mxaccess_gateway.v1.AlarmTransitionKindR\x0etransitionKind\x12\x1a\n" +
	"\bseverity\x18\x05 \x01(\x05R\bseverity\x12T\n" +
	"\x18original_raise_timestamp\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x16originalRaiseTimestamp\x12M\n" +
	"\x14transition_timestamp\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x13transitionTimestamp\x12#\n" +
	"\roperator_user\x18\b \x01(\tR\foperatorUser\x12)\n" +
	"\x10operator_comment\x18\t \x01(\tR\x0foperatorComment\x12\x1a\n" +
	"\bcategory\x18\n" +
	" \x01(\tR\bcategory\x12 \n" +
	"\vdescription\x18\v \x01(\tR\vdescription\x12A\n" +
	"\rcurrent_value\x18\f \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\fcurrentValue\x12=\n" +
	"\vlimit_value\x18\r \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\n" +
	"limitValue\x12\x1a\n" +
	"\bdegraded\x18\x0e \x01(\bR\bdegraded\x12O\n" +
	"\x0fsource_provider\x18\x0f \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x0esourceProvider\"\xbb\x01\n" +
	"\x1fOnAlarmProviderModeChangedEvent\x12:\n" +
	"\x04mode\x18\x01 \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x04mode\x12\x16\n" +
	"\x06reason\x18\x02 \x01(\tR\x06reason\x12\x18\n" +
	"\ahresult\x18\x03 \x01(\x05R\ahresult\x12*\n" +
	"\x02at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x02at\"\xf5\x06\n" +
	"\x13ActiveAlarmSnapshot\x120\n" +
	"\x14alarm_full_reference\x18\x01 \x01(\tR\x12alarmFullReference\x126\n" +
	"\x17source_object_reference\x18\x02 \x01(\tR\x15sourceObjectReference\x12&\n" +
	"\x0falarm_type_name\x18\x03 \x01(\tR\ralarmTypeName\x12\x1a\n" +
	"\bseverity\x18\x04 \x01(\x05R\bseverity\x12T\n" +
	"\x18original_raise_timestamp\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x16originalRaiseTimestamp\x12M\n" +
	"\rcurrent_state\x18\x06 \x01(\x0e2(.mxaccess_gateway.v1.AlarmConditionStateR\fcurrentState\x12\x1a\n" +
	"\bcategory\x18\a \x01(\tR\bcategory\x12 \n" +
	"\vdescription\x18\b \x01(\tR\vdescription\x12V\n" +
	"\x19last_transition_timestamp\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x17lastTransitionTimestamp\x12#\n" +
	"\roperator_user\x18\n" +
	" \x01(\tR\foperatorUser\x12)\n" +
	"\x10operator_comment\x18\v \x01(\tR\x0foperatorComment\x12A\n" +
	"\rcurrent_value\x18\f \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\fcurrentValue\x12=\n" +
	"\vlimit_value\x18\r \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\n" +
	"limitValue\x12\x1a\n" +
	"\bdegraded\x18\x0e \x01(\bR\bdegraded\x12O\n" +
	"\x0fsource_provider\x18\x0f \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x0esourceProvider\x126\n" +
	"\x17from_truncated_snapshot\x18\x10 \x01(\bR\x15fromTruncatedSnapshot\"\xd0\x01\n" +
	"\x17AcknowledgeAlarmRequest\x122\n" +
	"\x15client_correlation_id\x18\x02 \x01(\tR\x13clientCorrelationId\x120\n" +
	"\x14alarm_full_reference\x18\x03 \x01(\tR\x12alarmFullReference\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12#\n" +
	"\roperator_user\x18\x05 \x01(\tR\foperatorUserJ\x04\b\x01\x10\x02R\n" +
	"session_id\"\xb4\x02\n" +
	"\x15AcknowledgeAlarmReply\x12%\n" +
	"\x0ecorrelation_id\x18\x02 \x01(\tR\rcorrelationId\x12L\n" +
	"\x0fprotocol_status\x18\x03 \x01(\v2#.mxaccess_gateway.v1.ProtocolStatusR\x0eprotocolStatus\x12\x1d\n" +
	"\ahresult\x18\x04 \x01(\x05H\x00R\ahresult\x88\x01\x01\x12:\n" +
	"\x06status\x18\x05 \x01(\v2\".mxaccess_gateway.v1.MxStatusProxyR\x06status\x12-\n" +
	"\x12diagnostic_message\x18\x06 \x01(\tR\x11diagnosticMessageB\n" +
	"\n" +
	"\b_hresultJ\x04\b\x01\x10\x02R\n" +
	"session_id\"y\n" +
	"\x13StreamAlarmsRequest\x122\n" +
	"\x15client_correlation_id\x18\x01 \x01(\tR\x13clientCorrelationId\x12.\n" +
	"\x13alarm_filter_prefix\x18\x02 \x01(\tR\x11alarmFilterPrefix\"\x94\x03\n" +
	"\x10AlarmFeedMessage\x12M\n" +
	"\factive_alarm\x18\x01 \x01(\v2(.mxaccess_gateway.v1.ActiveAlarmSnapshotH\x00R\vactiveAlarm\x12-\n" +
	"\x11snapshot_complete\x18\x02 \x01(\bH\x00R\x10snapshotComplete\x12M\n" +
	"\n" +
	"transition\x18\x03 \x01(\v2+.mxaccess_gateway.v1.OnAlarmTransitionEventH\x00R\n" +
	"transition\x12S\n" +
	"\x0fprovider_status\x18\x04 \x01(\v2(.mxaccess_gateway.v1.AlarmProviderStatusH\x00R\x0eproviderStatus\x12S\n" +
	"\x0fsnapshot_status\x18\x05 \x01(\v2(.mxaccess_gateway.v1.AlarmSnapshotStatusH\x00R\x0esnapshotStatusB\t\n" +
	"\apayload\"\xb7\x01\n" +
	"\x13AlarmProviderStatus\x12:\n" +
	"\x04mode\x18\x01 \x01(\x0e2&.mxaccess_gateway.v1.AlarmProviderModeR\x04mode\x12\x1a\n" +
	"\bdegraded\x18\x02 \x01(\bR\bdegraded\x12\x16\n" +
	"\x06reason\x18\x03 \x01(\tR\x06reason\x120\n" +
	"\x05since\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x05since\"3\n" +
	"\x13AlarmSnapshotStatus\x12\x1c\n" +
	"\ttruncated\x18\x01 \x01(\bR\ttruncated\"\xbe\x02\n" +
	"\rMxStatusProxy\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\x05R\asuccess\x12A\n" +
	"\bcategory\x18\x02 \x01(\x0e2%.mxaccess_gateway.v1.MxStatusCategoryR\bcategory\x12D\n" +
	"\vdetected_by\x18\x03 \x01(\x0e2#.mxaccess_gateway.v1.MxStatusSourceR\n" +
	"detectedBy\x12\x16\n" +
	"\x06detail\x18\x04 \x01(\x05R\x06detail\x12!\n" +
	"\fraw_category\x18\x05 \x01(\x05R\vrawCategory\x12&\n" +
	"\x0fraw_detected_by\x18\x06 \x01(\x05R\rrawDetectedBy\x12'\n" +
	"\x0fdiagnostic_text\x18\a \x01(\tR\x0ediagnosticText\"\xa5\x05\n" +
	"\aMxValue\x12<\n" +
	"\tdata_type\x18\x01 \x01(\x0e2\x1f.mxaccess_gateway.v1.MxDataTypeR\bdataType\x12!\n" +
	"\fvariant_type\x18\x02 \x01(\tR\vvariantType\x12\x17\n" +
	"\ais_null\x18\x03 \x01(\bR\x06isNull\x12%\n" +
	"\x0eraw_diagnostic\x18\x04 \x01(\tR\rrawDiagnostic\x12\"\n" +
	"\rraw_data_type\x18\x05 \x01(\x05R\vrawDataType\x12\x1f\n" +
	"\n" +
	"bool_value\x18\n" +
	" \x01(\bH\x00R\tboolValue\x12!\n" +
	"\vint32_value\x18\v \x01(\x05H\x00R\n" +
	"int32Value\x12!\n" +
	"\vint64_value\x18\f \x01(\x03H\x00R\n" +
	"int64Value\x12!\n" +
	"\vfloat_value\x18\r \x01(\x02H\x00R\n" +
	"floatValue\x12#\n" +
	"\fdouble_value\x18\x0e \x01(\x01H\x00R\vdoubleValue\x12#\n" +
	"\fstring_value\x18\x0f \x01(\tH\x00R\vstringValue\x12E\n" +
	"\x0ftimestamp_value\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0etimestampValue\x12?\n" +
	"\varray_value\x18\x11 \x01(\v2\x1c.mxaccess_gateway.v1.MxArrayH\x00R\n" +
	"arrayValue\x12\x1d\n" +
	"\traw_value\x18\x12 \x01(\fH\x00R\brawValue\x12R\n" +
	"\x12sparse_array_value\x18\x13 \x01(\v2\".mxaccess_gateway.v1.MxSparseArrayH\x00R\x10sparseArrayValueB\x06\n" +
	"\x04kind\"\xb6\x06\n" +
	"\aMxArray\x12K\n" +
	"\x11element_data_type\x18\x01 \x01(\x0e2\x1f.mxaccess_gateway.v1.MxDataTypeR\x0felementDataType\x12!\n" +
	"\fvariant_type\x18\x02 \x01(\tR\vvariantType\x12\x1e\n" +
	"\n" +
	"dimensions\x18\x03 \x03(\rR\n" +
	"dimensions\x12%\n" +
	"\x0eraw_diagnostic\x18\x04 \x01(\tR\rrawDiagnostic\x121\n" +
	"\x15raw_element_data_type\x18\x05 \x01(\x05R\x12rawElementDataType\x12A\n" +
	"\vbool_values\x18\n" +
	" \x01(\v2\x1e.mxaccess_gateway.v1.BoolArrayH\x00R\n" +
	"boolValues\x12D\n" +
	"\fint32_values\x18\v \x01(\v2\x1f.mxaccess_gateway.v1.Int32ArrayH\x00R\vint32Values\x12D\n" +
	"\fint64_values\x18\f \x01(\v2\x1f.mxaccess_gateway.v1.Int64ArrayH\x00R\vint64Values\x12D\n" +
	"\ffloat_values\x18\r \x01(\v2\x1f.mxaccess_gateway.v1.FloatArrayH\x00R\vfloatValues\x12G\n" +
	"\rdouble_values\x18\x0e \x01(\v2 .mxaccess_gateway.v1.DoubleArrayH\x00R\fdoubleValues\x12G\n" +
	"\rstring_values\x18\x0f \x01(\v2 .mxaccess_gateway.v1.StringArrayH\x00R\fstringValues\x12P\n" +
	"\x10timestamp_values\x18\x10 \x01(\v2#.mxaccess_gateway.v1.TimestampArrayH\x00R\x0ftimestampValues\x12>\n" +
	"\n" +
	"raw_values\x18\x11 \x01(\v2\x1d.mxaccess_gateway.v1.RawArrayH\x00R\trawValuesB\b\n" +
	"\x06values\"\xc1\x01\n" +
	"\rMxSparseArray\x12K\n" +
	"\x11element_data_type\x18\x01 \x01(\x0e2\x1f.mxaccess_gateway.v1.MxDataTypeR\x0felementDataType\x12!\n" +
	"\ftotal_length\x18\x02 \x01(\rR\vtotalLength\x12@\n" +
	"\belements\x18\x03 \x03(\v2$.mxaccess_gateway.v1.MxSparseElementR\belements\"[\n" +
	"\x0fMxSparseElement\x12\x14\n" +
	"\x05index\x18\x01 \x01(\rR\x05index\x122\n" +
	"\x05value\x18\x02 \x01(\v2\x1c.mxaccess_gateway.v1.MxValueR\x05value\"#\n" +
	"\tBoolArray\x12\x16\n" +
	"\x06values\x18\x01 \x03(\bR\x06values\"$\n" +
	"\n" +
	"Int32Array\x12\x16\n" +
	"\x06values\x18\x01 \x03(\x05R\x06values\"$\n" +
	"\n" +
	"Int64Array\x12\x16\n" +
	"\x06values\x18\x01 \x03(\x03R\x06values\"$\n" +
	"\n" +
	"FloatArray\x12\x16\n" +
	"\x06values\x18\x01 \x03(\x02R\x06values\"%\n" +
	"\vDoubleArray\x12\x16\n" +
	"\x06values\x18\x01 \x03(\x01R\x06values\"%\n" +
	"\vStringArray\x12\x16\n" +
	"\x06values\x18\x01 \x03(\tR\x06values\"D\n" +
	"\x0eTimestampArray\x122\n" +
	"\x06values\x18\x01 \x03(\v2\x1a.google.protobuf.TimestampR\x06values\"\"\n" +
	"\bRawArray\x12\x16\n" +
	"\x06values\x18\x01 \x03(\fR\x06values\"g\n" +
	"\x0eProtocolStatus\x12;\n" +
	"\x04code\x18\x01 \x01(\x0e2'.mxaccess_gateway.v1.ProtocolStatusCodeR\x04code\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage*\x9f\v\n" +
	"\rMxCommandKind\x12\x1f\n" +
	"\x1bMX_COMMAND_KIND_UNSPECIFIED\x10\x00\x12\x1c\n" +
	"\x18MX_COMMAND_KIND_REGISTER\x10\x01\x12\x1e\n" +
	"\x1aMX_COMMAND_KIND_UNREGISTER\x10\x02\x12\x1c\n" +
	"\x18MX_COMMAND_KIND_ADD_ITEM\x10\x03\x12\x1d\n" +
	"\x19MX_COMMAND_KIND_ADD_ITEM2\x10\x04\x12\x1f\n" +
	"\x1bMX_COMMAND_KIND_REMOVE_ITEM\x10\x05\x12\x1a\n" +
	"\x16MX_COMMAND_KIND_ADVISE\x10\x06\x12\x1d\n" +
	"\x19MX_COMMAND_KIND_UN_ADVISE\x10\a\x12&\n" +
	"\"MX_COMMAND_KIND_ADVISE_SUPERVISORY\x10\b\x12%\n" +
	"!MX_COMMAND_KIND_ADD_BUFFERED_ITEM\x10\t\x120\n" +
	",MX_COMMAND_KIND_SET_BUFFERED_UPDATE_INTERVAL\x10\n" +
	"\x12\x1b\n" +
	"\x17MX_COMMAND_KIND_SUSPEND\x10\v\x12\x1c\n" +
	"\x18MX_COMMAND_KIND_ACTIVATE\x10\f\x12\x19\n" +
	"\x15MX_COMMAND_KIND_WRITE\x10\r\x12\x1a\n" +
	"\x16MX_COMMAND_KIND_WRITE2\x10\x0e\x12!\n" +
	"\x1dMX_COMMAND_KIND_WRITE_SECURED\x10\x0f\x12\"\n" +
	"\x1eMX_COMMAND_KIND_WRITE_SECURED2\x10\x10\x12%\n" +
	"!MX_COMMAND_KIND_AUTHENTICATE_USER\x10\x11\x12(\n" +
	"$MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID\x10\x12\x12!\n" +
	"\x1dMX_COMMAND_KIND_ADD_ITEM_BULK\x10\x13\x12$\n" +
	" MX_COMMAND_KIND_ADVISE_ITEM_BULK\x10\x14\x12$\n" +
	" MX_COMMAND_KIND_REMOVE_ITEM_BULK\x10\x15\x12'\n" +
	"#MX_COMMAND_KIND_UN_ADVISE_ITEM_BULK\x10\x16\x12\"\n" +
	"\x1eMX_COMMAND_KIND_SUBSCRIBE_BULK\x10\x17\x12$\n" +
	" MX_COMMAND_KIND_UNSUBSCRIBE_BULK\x10\x18\x12$\n" +
	" MX_COMMAND_KIND_SUBSCRIBE_ALARMS\x10\x19\x12&\n" +
	"\"MX_COMMAND_KIND_UNSUBSCRIBE_ALARMS\x10\x1a\x12%\n" +
	"!MX_COMMAND_KIND_ACKNOWLEDGE_ALARM\x10\x1b\x12'\n" +
	"#MX_COMMAND_KIND_QUERY_ACTIVE_ALARMS\x10\x1c\x12-\n" +
	")MX_COMMAND_KIND_ACKNOWLEDGE_ALARM_BY_NAME\x10\x1d\x12\x1e\n" +
	"\x1aMX_COMMAND_KIND_WRITE_BULK\x10\x1e\x12\x1f\n" +
	"\x1bMX_COMMAND_KIND_WRITE2_BULK\x10\x1f\x12&\n" +
	"\"MX_COMMAND_KIND_WRITE_SECURED_BULK\x10 \x12'\n" +
	"#MX_COMMAND_KIND_WRITE_SECURED2_BULK\x10!\x12\x1d\n" +
	"\x19MX_COMMAND_KIND_READ_BULK\x10\"\x12\x18\n" +
	"\x14MX_COMMAND_KIND_PING\x10d\x12%\n" +
	"!MX_COMMAND_KIND_GET_SESSION_STATE\x10e\x12#\n" +
	"\x1fMX_COMMAND_KIND_GET_WORKER_INFO\x10f\x12 \n" +
	"\x1cMX_COMMAND_KIND_DRAIN_EVENTS\x10g\x12#\n" +
	"\x1fMX_COMMAND_KIND_SHUTDOWN_WORKER\x10h*z\n" +
	"\x11AlarmProviderMode\x12#\n" +
	"\x1fALARM_PROVIDER_MODE_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cALARM_PROVIDER_MODE_ALARMMGR\x10\x01\x12\x1e\n" +
	"\x1aALARM_PROVIDER_MODE_SUBTAG\x10\x02*\xad\x02\n" +
	"\rMxEventFamily\x12\x1f\n" +
	"\x1bMX_EVENT_FAMILY_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eMX_EVENT_FAMILY_ON_DATA_CHANGE\x10\x01\x12%\n" +
	"!MX_EVENT_FAMILY_ON_WRITE_COMPLETE\x10\x02\x12&\n" +
	"\"MX_EVENT_FAMILY_OPERATION_COMPLETE\x10\x03\x12+\n" +
	"'MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE\x10\x04\x12'\n" +
	"#MX_EVENT_FAMILY_ON_ALARM_TRANSITION\x10\x05\x122\n" +
	".MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED\x10\x06*\xca\x01\n" +
	"\x13AlarmTransitionKind\x12%\n" +
	"!ALARM_TRANSITION_KIND_UNSPECIFIED\x10\x00\x12\x1f\n" +
	"\x1bALARM_TRANSITION_KIND_RAISE\x10\x01\x12%\n" +
	"!ALARM_TRANSITION_KIND_ACKNOWLEDGE\x10\x02\x12\x1f\n" +
	"\x1bALARM_TRANSITION_KIND_CLEAR\x10\x03\x12#\n" +
	"\x1fALARM_TRANSITION_KIND_RETRIGGER\x10\x04*\xaa\x01\n" +
	"\x13AlarmConditionState\x12%\n" +
	"!ALARM_CONDITION_STATE_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cALARM_CONDITION_STATE_ACTIVE\x10\x01\x12&\n" +
	"\"ALARM_CONDITION_STATE_ACTIVE_ACKED\x10\x02\x12\"\n" +
	"\x1eALARM_CONDITION_STATE_INACTIVE\x10\x03*\xa5\x03\n" +
	"\x10MxStatusCategory\x12\"\n" +
	"\x1eMX_STATUS_CATEGORY_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aMX_STATUS_CATEGORY_UNKNOWN\x10\x01\x12\x19\n" +
	"\x15MX_STATUS_CATEGORY_OK\x10\x02\x12\x1e\n" +
	"\x1aMX_STATUS_CATEGORY_PENDING\x10\x03\x12\x1e\n" +
	"\x1aMX_STATUS_CATEGORY_WARNING\x10\x04\x12*\n" +
	"&MX_STATUS_CATEGORY_COMMUNICATION_ERROR\x10\x05\x12*\n" +
	"&MX_STATUS_CATEGORY_CONFIGURATION_ERROR\x10\x06\x12(\n" +
	"$MX_STATUS_CATEGORY_OPERATIONAL_ERROR\x10\a\x12%\n" +
	"!MX_STATUS_CATEGORY_SECURITY_ERROR\x10\b\x12%\n" +
	"!MX_STATUS_CATEGORY_SOFTWARE_ERROR\x10\t\x12\"\n" +
	"\x1eMX_STATUS_CATEGORY_OTHER_ERROR\x10\n" +
	"*\xca\x02\n" +
	"\x0eMxStatusSource\x12 \n" +
	"\x1cMX_STATUS_SOURCE_UNSPECIFIED\x10\x00\x12\x1c\n" +
	"\x18MX_STATUS_SOURCE_UNKNOWN\x10\x01\x12#\n" +
	"\x1fMX_STATUS_SOURCE_REQUESTING_LMX\x10\x02\x12#\n" +
	"\x1fMX_STATUS_SOURCE_RESPONDING_LMX\x10\x03\x12#\n" +
	"\x1fMX_STATUS_SOURCE_REQUESTING_NMX\x10\x04\x12#\n" +
	"\x1fMX_STATUS_SOURCE_RESPONDING_NMX\x10\x05\x121\n" +
	"-MX_STATUS_SOURCE_REQUESTING_AUTOMATION_OBJECT\x10\x06\x121\n" +
	"-MX_STATUS_SOURCE_RESPONDING_AUTOMATION_OBJECT\x10\a*\xdd\x04\n" +
	"\n" +
	"MxDataType\x12\x1c\n" +
	"\x18MX_DATA_TYPE_UNSPECIFIED\x10\x00\x12\x18\n" +
	"\x14MX_DATA_TYPE_UNKNOWN\x10\x01\x12\x18\n" +
	"\x14MX_DATA_TYPE_NO_DATA\x10\x02\x12\x18\n" +
	"\x14MX_DATA_TYPE_BOOLEAN\x10\x03\x12\x18\n" +
	"\x14MX_DATA_TYPE_INTEGER\x10\x04\x12\x16\n" +
	"\x12MX_DATA_TYPE_FLOAT\x10\x05\x12\x17\n" +
	"\x13MX_DATA_TYPE_DOUBLE\x10\x06\x12\x17\n" +
	"\x13MX_DATA_TYPE_STRING\x10\a\x12\x15\n" +
	"\x11MX_DATA_TYPE_TIME\x10\b\x12\x1d\n" +
	"\x19MX_DATA_TYPE_ELAPSED_TIME\x10\t\x12\x1f\n" +
	"\x1bMX_DATA_TYPE_REFERENCE_TYPE\x10\n" +
	"\x12\x1c\n" +
	"\x18MX_DATA_TYPE_STATUS_TYPE\x10\v\x12\x15\n" +
	"\x11MX_DATA_TYPE_ENUM\x10\f\x12-\n" +
	")MX_DATA_TYPE_SECURITY_CLASSIFICATION_ENUM\x10\r\x12\"\n" +
	"\x1eMX_DATA_TYPE_DATA_QUALITY_TYPE\x10\x0e\x12\x1f\n" +
	"\x1bMX_DATA_TYPE_QUALIFIED_ENUM\x10\x0f\x12!\n" +
	"\x1dMX_DATA_TYPE_QUALIFIED_STRUCT\x10\x10\x12)\n" +
	"%MX_DATA_TYPE_INTERNATIONALIZED_STRING\x10\x11\x12\x1b\n" +
	"\x17MX_DATA_TYPE_BIG_STRING\x10\x12\x12\x14\n" +
	"\x10MX_DATA_TYPE_END\x10\x13*\xa3\x03\n" +
	"\x12ProtocolStatusCode\x12$\n" +
	" PROTOCOL_STATUS_CODE_UNSPECIFIED\x10\x00\x12\x1b\n" +
	"\x17PROTOCOL_STATUS_CODE_OK\x10\x01\x12(\n" +
	"$PROTOCOL_STATUS_CODE_INVALID_REQUEST\x10\x02\x12*\n" +
	"&PROTOCOL_STATUS_CODE_SESSION_NOT_FOUND\x10\x03\x12*\n" +
	"&PROTOCOL_STATUS_CODE_SESSION_NOT_READY\x10\x04\x12+\n" +
	"'PROTOCOL_STATUS_CODE_WORKER_UNAVAILABLE\x10\x05\x12 \n" +
	"\x1cPROTOCOL_STATUS_CODE_TIMEOUT\x10\x06\x12!\n" +
	"\x1dPROTOCOL_STATUS_CODE_CANCELED\x10\a\x12+\n" +
	"'PROTOCOL_STATUS_CODE_PROTOCOL_VIOLATION\x10\b\x12)\n" +
	"%PROTOCOL_STATUS_CODE_MXACCESS_FAILURE\x10\t*\xbf\x02\n" +
	"\fSessionState\x12\x1d\n" +
	"\x19SESSION_STATE_UNSPECIFIED\x10\x00\x12\x1a\n" +
	"\x16SESSION_STATE_CREATING\x10\x01\x12!\n" +
	"\x1dSESSION_STATE_STARTING_WORKER\x10\x02\x12\"\n" +
	"\x1eSESSION_STATE_WAITING_FOR_PIPE\x10\x03\x12\x1d\n" +
	"\x19SESSION_STATE_HANDSHAKING\x10\x04\x12%\n" +
	"!SESSION_STATE_INITIALIZING_WORKER\x10\x05\x12\x17\n" +
	"\x13SESSION_STATE_READY\x10\x06\x12\x19\n" +
	"\x15SESSION_STATE_CLOSING\x10\a\x12\x18\n" +
	"\x14SESSION_STATE_CLOSED\x10\b\x12\x19\n" +
	"\x15SESSION_STATE_FAULTED\x10\t2\xc3\x05\n" +
	"\x0fMxAccessGateway\x12]\n" +
	"\vOpenSession\x12'.mxaccess_gateway.v1.OpenSessionRequest\x1a%.mxaccess_gateway.v1.OpenSessionReply\x12`\n" +
	"\fCloseSession\x12(.mxaccess_gateway.v1.CloseSessionRequest\x1a&.mxaccess_gateway.v1.CloseSessionReply\x12T\n" +
	"\x06Invoke\x12%.mxaccess_gateway.v1.MxCommandRequest\x1a#.mxaccess_gateway.v1.MxCommandReply\x12X\n" +
	"\fStreamEvents\x12(.mxaccess_gateway.v1.StreamEventsRequest\x1a\x1c.mxaccess_gateway.v1.MxEvent0\x01\x12l\n" +
	"\x10AcknowledgeAlarm\x12,.mxaccess_gateway.v1.AcknowledgeAlarmRequest\x1a*.mxaccess_gateway.v1.AcknowledgeAlarmReply\x12a\n" +
	"\fStreamAlarms\x12(.mxaccess_gateway.v1.StreamAlarmsRequest\x1a%.mxaccess_gateway.v1.AlarmFeedMessage0\x01\x12n\n" +
	"\x11QueryActiveAlarms\x12-.mxaccess_gateway.v1.QueryActiveAlarmsRequest\x1a(.mxaccess_gateway.v1.ActiveAlarmSnapshot0\x01B&\xaa\x02#ZB.MOM.WW.MxGateway.Contracts.Protob\x06proto3"

var (
	file_mxaccess_gateway_proto_rawDescOnce sync.Once
	file_mxaccess_gateway_proto_rawDescData []byte
)

func file_mxaccess_gateway_proto_rawDescGZIP() []byte {
	file_mxaccess_gateway_proto_rawDescOnce.Do(func() {
		file_mxaccess_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mxaccess_gateway_proto_rawDesc), len(file_mxaccess_gateway_proto_rawDesc)))
	})
	return file_mxaccess_gateway_proto_rawDescData
}

var file_mxaccess_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 10)
var file_mxaccess_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 102)
var file_mxaccess_gateway_proto_goTypes = []any{
	(MxCommandKind)(0),                       // 0: mxaccess_gateway.v1.MxCommandKind
	(AlarmProviderMode)(0),                   // 1: mxaccess_gateway.v1.AlarmProviderMode
	(MxEventFamily)(0),                       // 2: mxaccess_gateway.v1.MxEventFamily
	(AlarmTransitionKind)(0),                 // 3: mxaccess_gateway.v1.AlarmTransitionKind
	(AlarmConditionState)(0),                 // 4: mxaccess_gateway.v1.AlarmConditionState
	(MxStatusCategory)(0),                    // 5: mxaccess_gateway.v1.MxStatusCategory
	(MxStatusSource)(0),                      // 6: mxaccess_gateway.v1.MxStatusSource
	(MxDataType)(0),                          // 7: mxaccess_gateway.v1.MxDataType
	(ProtocolStatusCode)(0),                  // 8: mxaccess_gateway.v1.ProtocolStatusCode
	(SessionState)(0),                        // 9: mxaccess_gateway.v1.SessionState
	(*QueryActiveAlarmsRequest)(nil),         // 10: mxaccess_gateway.v1.QueryActiveAlarmsRequest
	(*OpenSessionRequest)(nil),               // 11: mxaccess_gateway.v1.OpenSessionRequest
	(*OpenSessionReply)(nil),                 // 12: mxaccess_gateway.v1.OpenSessionReply
	(*CloseSessionRequest)(nil),              // 13: mxaccess_gateway.v1.CloseSessionRequest
	(*CloseSessionReply)(nil),                // 14: mxaccess_gateway.v1.CloseSessionReply
	(*StreamEventsRequest)(nil),              // 15: mxaccess_gateway.v1.StreamEventsRequest
	(*MxCommandRequest)(nil),                 // 16: mxaccess_gateway.v1.MxCommandRequest
	(*MxCommand)(nil),                        // 17: mxaccess_gateway.v1.MxCommand
	(*RegisterCommand)(nil),                  // 18: mxaccess_gateway.v1.RegisterCommand
	(*UnregisterCommand)(nil),                // 19: mxaccess_gateway.v1.UnregisterCommand
	(*AddItemCommand)(nil),                   // 20: mxaccess_gateway.v1.AddItemCommand
	(*AddItem2Command)(nil),                  // 21: mxaccess_gateway.v1.AddItem2Command
	(*RemoveItemCommand)(nil),                // 22: mxaccess_gateway.v1.RemoveItemCommand
	(*AdviseCommand)(nil),                    // 23: mxaccess_gateway.v1.AdviseCommand
	(*UnAdviseCommand)(nil),                  // 24: mxaccess_gateway.v1.UnAdviseCommand
	(*AdviseSupervisoryCommand)(nil),         // 25: mxaccess_gateway.v1.AdviseSupervisoryCommand
	(*AddBufferedItemCommand)(nil),           // 26: mxaccess_gateway.v1.AddBufferedItemCommand
	(*SetBufferedUpdateIntervalCommand)(nil), // 27: mxaccess_gateway.v1.SetBufferedUpdateIntervalCommand
	(*SuspendCommand)(nil),                   // 28: mxaccess_gateway.v1.SuspendCommand
	(*ActivateCommand)(nil),                  // 29: mxaccess_gateway.v1.ActivateCommand
	(*WriteCommand)(nil),                     // 30: mxaccess_gateway.v1.WriteCommand
	(*Write2Command)(nil),                    // 31: mxaccess_gateway.v1.Write2Command
	(*WriteSecuredCommand)(nil),              // 32: mxaccess_gateway.v1.WriteSecuredCommand
	(*WriteSecured2Command)(nil),             // 33: mxaccess_gateway.v1.WriteSecured2Command
	(*AuthenticateUserCommand)(nil),          // 34: mxaccess_gateway.v1.AuthenticateUserCommand
	(*ArchestrAUserToIdCommand)(nil),         // 35: mxaccess_gateway.v1.ArchestrAUserToIdCommand
	(*AddItemBulkCommand)(nil),               // 36: mxaccess_gateway.v1.AddItemBulkCommand
	(*AdviseItemBulkCommand)(nil),            // 37: mxaccess_gateway.v1.AdviseItemBulkCommand
	(*RemoveItemBulkCommand)(nil),            // 38: mxaccess_gateway.v1.RemoveItemBulkCommand
	(*UnAdviseItemBulkCommand)(nil),          // 39: mxaccess_gateway.v1.UnAdviseItemBulkCommand
	(*SubscribeBulkCommand)(nil),             // 40: mxaccess_gateway.v1.SubscribeBulkCommand
	(*SubscribeAlarmsCommand)(nil),           // 41: mxaccess_gateway.v1.SubscribeAlarmsCommand
	(*UnsubscribeAlarmsCommand)(nil),         // 42: mxaccess_gateway.v1.UnsubscribeAlarmsCommand
	(*AlarmSubtagTarget)(nil),                // 43: mxaccess_gateway.v1.AlarmSubtagTarget
	(*AlarmFailoverConfig)(nil),              // 44: mxaccess_gateway.v1.AlarmFailoverConfig
	(*AcknowledgeAlarmCommand)(nil),          // 45: mxaccess_gateway.v1.AcknowledgeAlarmCommand
	(*QueryActiveAlarmsCommand)(nil),         // 46: mxaccess_gateway.v1.QueryActiveAlarmsCommand
	(*AcknowledgeAlarmByNameCommand)(nil),    // 47: mxaccess_gateway.v1.AcknowledgeAlarmByNameCommand
	(*UnsubscribeBulkCommand)(nil),           // 48: mxaccess_gateway.v1.UnsubscribeBulkCommand
	(*WriteBulkCommand)(nil),                 // 49: mxaccess_gateway.v1.WriteBulkCommand
	(*WriteBulkEntry)(nil),                   // 50: mxaccess_gateway.v1.WriteBulkEntry
	(*Write2BulkCommand)(nil),                // 51: mxaccess_gateway.v1.Write2BulkCommand
	(*Write2BulkEntry)(nil),                  // 52: mxaccess_gateway.v1.Write2BulkEntry
	(*WriteSecuredBulkCommand)(nil),          // 53: mxaccess_gateway.v1.WriteSecuredBulkCommand
	(*WriteSecuredBulkEntry)(nil),            // 54: mxaccess_gateway.v1.WriteSecuredBulkEntry
	(*WriteSecured2BulkCommand)(nil),         // 55: mxaccess_gateway.v1.WriteSecured2BulkCommand
	(*WriteSecured2BulkEntry)(nil),           // 56: mxaccess_gateway.v1.WriteSecured2BulkEntry
	(*ReadBulkCommand)(nil),                  // 57: mxaccess_gateway.v1.ReadBulkCommand
	(*PingCommand)(nil),                      // 58: mxaccess_gateway.v1.PingCommand
	(*GetSessionStateCommand)(nil),           // 59: mxaccess_gateway.v1.GetSessionStateCommand
	(*GetWorkerInfoCommand)(nil),             // 60: mxaccess_gateway.v1.GetWorkerInfoCommand
	(*DrainEventsCommand)(nil),               // 61: mxaccess_gateway.v1.DrainEventsCommand
	(*ShutdownWorkerCommand)(nil),            // 62: mxaccess_gateway.v1.ShutdownWorkerCommand
	(*MxCommandReply)(nil),                   // 63: mxaccess_gateway.v1.MxCommandReply
	(*RegisterReply)(nil),                    // 64: mxaccess_gateway.v1.RegisterReply
	(*AddItemReply)(nil),                     // 65: mxaccess_gateway.v1.AddItemReply
	(*AddItem2Reply)(nil),                    // 66: mxaccess_gateway.v1.AddItem2Reply
	(*AddBufferedItemReply)(nil),             // 67: mxaccess_gateway.v1.AddBufferedItemReply
	(*SuspendReply)(nil),                     // 68: mxaccess_gateway.v1.SuspendReply
	(*ActivateReply)(nil),                    // 69: mxaccess_gateway.v1.ActivateReply
	(*AuthenticateUserReply)(nil),            // 70: mxaccess_gateway.v1.AuthenticateUserReply
	(*ArchestrAUserToIdReply)(nil),           // 71: mxaccess_gateway.v1.ArchestrAUserToIdReply
	(*SubscribeResult)(nil),                  // 72: mxaccess_gateway.v1.SubscribeResult
	(*BulkSubscribeReply)(nil),               // 73: mxaccess_gateway.v1.BulkSubscribeReply
	(*BulkWriteResult)(nil),                  // 74: mxaccess_gateway.v1.BulkWriteResult
	(*BulkWriteReply)(nil),                   // 75: mxaccess_gateway.v1.BulkWriteReply
	(*BulkReadResult)(nil),                   // 76: mxaccess_gateway.v1.BulkReadResult
	(*BulkReadReply)(nil),                    // 77: mxaccess_gateway.v1.BulkReadReply
	(*SessionStateReply)(nil),                // 78: mxaccess_gateway.v1.SessionStateReply
	(*WorkerInfoReply)(nil),                  // 79: mxaccess_gateway.v1.WorkerInfoReply
	(*DrainEventsReply)(nil),                 // 80: mxaccess_gateway.v1.DrainEventsReply
	(*AcknowledgeAlarmReplyPayload)(nil),     // 81: mxaccess_gateway.v1.AcknowledgeAlarmReplyPayload
	(*QueryActiveAlarmsReplyPayload)(nil),    // 82: mxaccess_gateway.v1.QueryActiveAlarmsReplyPayload
	(*MxEvent)(nil),                          // 83: mxaccess_gateway.v1.MxEvent
	(*ReplayGap)(nil),                        // 84: mxaccess_gateway.v1.ReplayGap
	(*OnDataChangeEvent)(nil),                // 85: mxaccess_gateway.v1.OnDataChangeEvent
	(*OnWriteCompleteEvent)(nil),             // 86: mxaccess_gateway.v1.OnWriteCompleteEvent
	(*OperationCompleteEvent)(nil),           // 87: mxaccess_gateway.v1.OperationCompleteEvent
	(*OnBufferedDataChangeEvent)(nil),        // 88: mxaccess_gateway.v1.OnBufferedDataChangeEvent
	(*OnAlarmTransitionEvent)(nil),           // 89: mxaccess_gateway.v1.OnAlarmTransitionEvent
	(*OnAlarmProviderModeChangedEvent)(nil),  // 90: mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent
	(*ActiveAlarmSnapshot)(nil),              // 91: mxaccess_gateway.v1.ActiveAlarmSnapshot
	(*AcknowledgeAlarmRequest)(nil),          // 92: mxaccess_gateway.v1.AcknowledgeAlarmRequest
	(*AcknowledgeAlarmReply)(nil),            // 93: mxaccess_gateway.v1.AcknowledgeAlarmReply
	(*StreamAlarmsRequest)(nil),              // 94: mxaccess_gateway.v1.StreamAlarmsRequest
	(*AlarmFeedMessage)(nil),                 // 95: mxaccess_gateway.v1.AlarmFeedMessage
	(*AlarmProviderStatus)(nil),              // 96: mxaccess_gateway.v1.AlarmProviderStatus
	(*AlarmSnapshotStatus)(nil),              // 97: mxaccess_gateway.v1.AlarmSnapshotStatus
	(*MxStatusProxy)(nil),                    // 98: mxaccess_gateway.v1.MxStatusProxy
	(*MxValue)(nil),                          // 99: mxaccess_gateway.v1.MxValue
	(*MxArray)(nil),                          // 100: mxaccess_gateway.v1.MxArray
	(*MxSparseArray)(nil),                    // 101: mxaccess_gateway.v1.MxSparseArray
	(*MxSparseElement)(nil),                  // 102: mxaccess_gateway.v1.MxSparseElement
	(*BoolArray)(nil),                        // 103: mxaccess_gateway.v1.BoolArray
	(*Int32Array)(nil),                       // 104: mxaccess_gateway.v1.Int32Array
	(*Int64Array)(nil),                       // 105: mxaccess_gateway.v1.Int64Array
	(*FloatArray)(nil),                       // 106: mxaccess_gateway.v1.FloatArray
	(*DoubleArray)(nil),                      // 107: mxaccess_gateway.v1.DoubleArray
	(*StringArray)(nil),                      // 108: mxaccess_gateway.v1.StringArray
	(*TimestampArray)(nil),                   // 109: mxaccess_gateway.v1.TimestampArray
	(*RawArray)(nil),                         // 110: mxaccess_gateway.v1.RawArray
	(*ProtocolStatus)(nil),                   // 111: mxaccess_gateway.v1.ProtocolStatus
	(*durationpb.Duration)(nil),              // 112: google.protobuf.Duration
	(*timestamppb.Timestamp)(nil),            // 113: google.protobuf.Timestamp
}
var file_mxaccess_gateway_proto_depIdxs = []int32{
	112, // 0: mxaccess_gateway.v1.OpenSessionRequest.command_timeout:type_name -> google.protobuf.Duration
	112, // 1: mxaccess_gateway.v1.OpenSessionReply.default_command_timeout:type_name -> google.protobuf.Duration
	111, // 2: mxaccess_gateway.v1.OpenSessionReply.protocol_status:type_name -> mxaccess_gateway.v1.ProtocolStatus
	9,   // 3: mxaccess_gateway.v1.CloseSessionReply.final_state:type_name -> mxaccess_gateway.v1.SessionState
	111, // 4: mxaccess_gateway.v1.CloseSessionReply.protocol_status:type_name -> mxaccess_gateway.v1.ProtocolStatus
	17,  // 5: mxaccess_gateway.v1.MxCommandRequest.command:type_name -> mxaccess_gateway.v1.MxCommand
	0,   // 6: mxaccess_gateway.v1.MxCommand.kind:type_name -> mxaccess_gateway.v1.MxCommandKind
	18,  // 7: mxaccess_gateway.v1.MxCommand.register:type_name -> mxaccess_gateway.v1.RegisterCommand
	19,  // 8: mxaccess_gateway.v1.MxCommand.unregister:type_name -> mxaccess_gateway.v1.UnregisterCommand
	20,  // 9: mxaccess_gateway.v1.MxCommand.add_item:type_name -> mxaccess_gateway.v1.AddItemCommand
	21,  // 10: mxaccess_gateway.v1.MxCommand.add_item2:type_name -> mxaccess_gateway.v1.AddItem2Command
	22,  // 11: mxaccess_gateway.v1.MxCommand.remove_item:type_name -> mxaccess_gateway.v1.RemoveItemCommand
	23,  // 12: mxaccess_gateway.v1.MxCommand.advise:type_name -> mxaccess_gateway.v1.AdviseCommand
	24,  // 13: mxaccess_gateway.v1.MxCommand.un_advise:type_name -> mxaccess_gateway.v1.UnAdviseCommand
	25,  // 14: mxaccess_gateway.v1.MxCommand.advise_supervisory:type_name -> mxaccess_gateway.v1.AdviseSupervisoryCommand
	26,  // 15: mxaccess_gateway.v1.MxCommand.add_buffered_item:type_name -> mxaccess_gateway.v1.AddBufferedItemCommand
	27,  // 16: mxaccess_gateway.v1.MxCommand.set_buffered_update_interval:type_name -> mxaccess_gateway.v1.SetBufferedUpdateIntervalCommand
	28,  // 17: mxaccess_gateway.v1.MxCommand.suspend:type_name -> mxaccess_gateway.v1.SuspendCommand
	29,  // 18: mxaccess_gateway.v1.MxCommand.activate:type_name -> mxaccess_gateway.v1.ActivateCommand
	30,  // 19: mxaccess_gateway.v1.MxCommand.write:type_name -> mxaccess_gateway.v1.WriteCommand
	31,  // 20: mxaccess_gateway.v1.MxCommand.write2:type_name -> mxaccess_gateway.v1.Write2Command
	32,  // 21: mxaccess_gateway.v1.MxCommand.write_secured:type_name -> mxaccess_gateway.v1.WriteSecuredCommand
	33,  // 22: mxaccess_gateway.v1.MxCommand.write_secured2:type_name -> mxaccess_gateway.v1.WriteSecured2Command
	34,  // 23: mxaccess_gateway.v1.MxCommand.authenticate_user:type_name -> mxaccess_gateway.v1.AuthenticateUserCommand
	35,  // 24: mxaccess_gateway.v1.MxCommand.archestra_user_to_id:type_name -> mxaccess_gateway.v1.ArchestrAUserToIdCommand
	36,  // 25: mxaccess_gateway.v1.MxCommand.add_item_bulk:type_name -> mxaccess_gateway.v1.AddItemBulkCommand
	37,  // 26: mxaccess_gateway.v1.MxCommand.advise_item_bulk:type_name -> mxaccess_gateway.v1.AdviseItemBulkCommand
	38,  // 27: mxaccess_gateway.v1.MxCommand.remove_item_bulk:type_name -> mxaccess_gateway.v1.RemoveItemBulkCommand
	39,  // 28: mxaccess_gateway.v1.MxCommand.un_advise_item_bulk:type_name -> mxaccess_gateway.v1.UnAdviseItemBulkCommand
	40,  // 29: mxaccess_gateway.v1.MxCommand.subscribe_bulk:type_name -> mxaccess_gateway.v1.SubscribeBulkCommand
	48,  // 30: mxaccess_gateway.v1.MxCommand.unsubscribe_bulk:type_name -> mxaccess_gateway.v1.UnsubscribeBulkCommand
	41,  // 31: mxaccess_gateway.v1.MxCommand.subscribe_alarms:type_name -> mxaccess_gateway.v1.SubscribeAlarmsCommand
	42,  // 32: mxaccess_gateway.v1.MxCommand.unsubscribe_alarms:type_name -> mxaccess_gateway.v1.UnsubscribeAlarmsCommand
	45,  // 33: mxaccess_gateway.v1.MxCommand.acknowledge_alarm_command:type_name -> mxaccess_gateway.v1.AcknowledgeAlarmCommand
	46,  // 34: mxaccess_gateway.v1.MxCommand.query_active_alarms_command:type_name -> mxaccess_gateway.v1.QueryActiveAlarmsCommand
	47,  // 35: mxaccess_gateway.v1.MxCommand.acknowledge_alarm_by_name_command:type_name -> mxaccess_gateway.v1.AcknowledgeAlarmByNameCommand
	49,  // 36: mxaccess_gateway.v1.MxCommand.write_bulk:type_name -> mxaccess_gateway.v1.WriteBulkCommand
	51,  // 37: mxaccess_gateway.v1.MxCommand.write2_bulk:type_name -> mxaccess_gateway.v1.Write2BulkCommand
	53,  // 38: mxaccess_gateway.v1.MxCommand.write_secured_bulk:type_name -> mxaccess_gateway.v1.WriteSecuredBulkCommand
	55,  // 39: mxaccess_gateway.v1.MxCommand.write_secured2_bulk:type_name -> mxaccess_gateway.v1.WriteSecured2BulkCommand
	57,  // 40: mxaccess_gateway.v1.MxCommand.read_bulk:type_name -> mxaccess_gateway.v1.ReadBulkCommand
	58,  // 41: mxaccess_gateway.v1.MxCommand.ping:type_name -> mxaccess_gateway.v1.PingCommand
	59,  // 42: mxaccess_gateway.v1.MxCommand.get_session_state:type_name -> mxaccess_gateway.v1.GetSessionStateCommand
	60,  // 43: mxaccess_gateway.v1.MxCommand.get_worker_info:type_name -> mxaccess_gateway.v1.GetWorkerInfoCommand
	61,  // 44: mxaccess_gateway.v1.MxCommand.drain_events:type_name -> mxaccess_gateway.v1.DrainEventsCommand
	62,  // 45: mxaccess_gateway.v1.MxCommand.shutdown_worker:type_name -> mxaccess_gateway.v1.ShutdownWorkerCommand
	99,  // 46: mxaccess_gateway.v1.WriteCommand.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 47: mxaccess_gateway.v1.Write2Command.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 48: mxaccess_gateway.v1.Write2Command.timestamp_value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 49: mxaccess_gateway.v1.WriteSecuredCommand.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 50: mxaccess_gateway.v1.WriteSecured2Command.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 51: mxaccess_gateway.v1.WriteSecured2Command.timestamp_value:type_name -> mxaccess_gateway.v1.MxValue
	1,   // 52: mxaccess_gateway.v1.SubscribeAlarmsCommand.forced_mode:type_name -> mxaccess_gateway.v1.AlarmProviderMode
	43,  // 53: mxaccess_gateway.v1.SubscribeAlarmsCommand.watch_list:type_name -> mxaccess_gateway.v1.AlarmSubtagTarget
	44,  // 54: mxaccess_gateway.v1.SubscribeAlarmsCommand.failover:type_name -> mxaccess_gateway.v1.AlarmFailoverConfig
	50,  // 55: mxaccess_gateway.v1.WriteBulkCommand.entries:type_name -> mxaccess_gateway.v1.WriteBulkEntry
	99,  // 56: mxaccess_gateway.v1.WriteBulkEntry.value:type_name -> mxaccess_gateway.v1.MxValue
	52,  // 57: mxaccess_gateway.v1.Write2BulkCommand.entries:type_name -> mxaccess_gateway.v1.Write2BulkEntry
	99,  // 58: mxaccess_gateway.v1.Write2BulkEntry.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 59: mxaccess_gateway.v1.Write2BulkEntry.timestamp_value:type_name -> mxaccess_gateway.v1.MxValue
	54,  // 60: mxaccess_gateway.v1.WriteSecuredBulkCommand.entries:type_name -> mxaccess_gateway.v1.WriteSecuredBulkEntry
	99,  // 61: mxaccess_gateway.v1.WriteSecuredBulkEntry.value:type_name -> mxaccess_gateway.v1.MxValue
	56,  // 62: mxaccess_gateway.v1.WriteSecured2BulkCommand.entries:type_name -> mxaccess_gateway.v1.WriteSecured2BulkEntry
	99,  // 63: mxaccess_gateway.v1.WriteSecured2BulkEntry.value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 64: mxaccess_gateway.v1.WriteSecured2BulkEntry.timestamp_value:type_name -> mxaccess_gateway.v1.MxValue
	112, // 65: mxaccess_gateway.v1.ShutdownWorkerCommand.grace_period:type_name -> google.protobuf.Duration
	0,   // 66: mxaccess_gateway.v1.MxCommandReply.kind:type_name -> mxaccess_gateway.v1.MxCommandKind
	111, // 67: mxaccess_gateway.v1.MxCommandReply.protocol_status:type_name -> mxaccess_gateway.v1.ProtocolStatus
	99,  // 68: mxaccess_gateway.v1.MxCommandReply.return_value:type_name -> mxaccess_gateway.v1.MxValue
	98,  // 69: mxaccess_gateway.v1.MxCommandReply.statuses:type_name -> mxaccess_gateway.v1.MxStatusProxy
	64,  // 70: mxaccess_gateway.v1.MxCommandReply.register:type_name -> mxaccess_gateway.v1.RegisterReply
	65,  // 71: mxaccess_gateway.v1.MxCommandReply.add_item:type_name -> mxaccess_gateway.v1.AddItemReply
	66,  // 72: mxaccess_gateway.v1.MxCommandReply.add_item2:type_name -> mxaccess_gateway.v1.AddItem2Reply
	67,  // 73: mxaccess_gateway.v1.MxCommandReply.add_buffered_item:type_name -> mxaccess_gateway.v1.AddBufferedItemReply
	68,  // 74: mxaccess_gateway.v1.MxCommandReply.suspend:type_name -> mxaccess_gateway.v1.SuspendReply
	69,  // 75: mxaccess_gateway.v1.MxCommandReply.activate:type_name -> mxaccess_gateway.v1.ActivateReply
	70,  // 76: mxaccess_gateway.v1.MxCommandReply.authenticate_user:type_name -> mxaccess_gateway.v1.AuthenticateUserReply
	71,  // 77: mxaccess_gateway.v1.MxCommandReply.archestra_user_to_id:type_name -> mxaccess_gateway.v1.ArchestrAUserToIdReply
	73,  // 78: mxaccess_gateway.v1.MxCommandReply.add_item_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	73,  // 79: mxaccess_gateway.v1.MxCommandReply.advise_item_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	73,  // 80: mxaccess_gateway.v1.MxCommandReply.remove_item_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	73,  // 81: mxaccess_gateway.v1.MxCommandReply.un_advise_item_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	73,  // 82: mxaccess_gateway.v1.MxCommandReply.subscribe_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	73,  // 83: mxaccess_gateway.v1.MxCommandReply.unsubscribe_bulk:type_name -> mxaccess_gateway.v1.BulkSubscribeReply
	81,  // 84: mxaccess_gateway.v1.MxCommandReply.acknowledge_alarm:type_name -> mxaccess_gateway.v1.AcknowledgeAlarmReplyPayload
	82,  // 85: mxaccess_gateway.v1.MxCommandReply.query_active_alarms:type_name -> mxaccess_gateway.v1.QueryActiveAlarmsReplyPayload
	75,  // 86: mxaccess_gateway.v1.MxCommandReply.write_bulk:type_name -> mxaccess_gateway.v1.BulkWriteReply
	75,  // 87: mxaccess_gateway.v1.MxCommandReply.write2_bulk:type_name -> mxaccess_gateway.v1.BulkWriteReply
	75,  // 88: mxaccess_gateway.v1.MxCommandReply.write_secured_bulk:type_name -> mxaccess_gateway.v1.BulkWriteReply
	75,  // 89: mxaccess_gateway.v1.MxCommandReply.write_secured2_bulk:type_name -> mxaccess_gateway.v1.BulkWriteReply
	77,  // 90: mxaccess_gateway.v1.MxCommandReply.read_bulk:type_name -> mxaccess_gateway.v1.BulkReadReply
	78,  // 91: mxaccess_gateway.v1.MxCommandReply.session_state:type_name -> mxaccess_gateway.v1.SessionStateReply
	79,  // 92: mxaccess_gateway.v1.MxCommandReply.worker_info:type_name -> mxaccess_gateway.v1.WorkerInfoReply
	80,  // 93: mxaccess_gateway.v1.MxCommandReply.drain_events:type_name -> mxaccess_gateway.v1.DrainEventsReply
	98,  // 94: mxaccess_gateway.v1.SuspendReply.status:type_name -> mxaccess_gateway.v1.MxStatusProxy
	98,  // 95: mxaccess_gateway.v1.ActivateReply.status:type_name -> mxaccess_gateway.v1.MxStatusProxy
	72,  // 96: mxaccess_gateway.v1.BulkSubscribeReply.results:type_name -> mxaccess_gateway.v1.SubscribeResult
	98,  // 97: mxaccess_gateway.v1.BulkWriteResult.statuses:type_name -> mxaccess_gateway.v1.MxStatusProxy
	74,  // 98: mxaccess_gateway.v1.BulkWriteReply.results:type_name -> mxaccess_gateway.v1.BulkWriteResult
	99,  // 99: mxaccess_gateway.v1.BulkReadResult.value:type_name -> mxaccess_gateway.v1.MxValue
	113, // 100: mxaccess_gateway.v1.BulkReadResult.source_timestamp:type_name -> google.protobuf.Timestamp
	98,  // 101: mxaccess_gateway.v1.BulkReadResult.statuses:type_name -> mxaccess_gateway.v1.MxStatusProxy
	76,  // 102: mxaccess_gateway.v1.BulkReadReply.results:type_name -> mxaccess_gateway.v1.BulkReadResult
	9,   // 103: mxaccess_gateway.v1.SessionStateReply.state:type_name -> mxaccess_gateway.v1.SessionState
	83,  // 104: mxaccess_gateway.v1.DrainEventsReply.events:type_name -> mxaccess_gateway.v1.MxEvent
	91,  // 105: mxaccess_gateway.v1.QueryActiveAlarmsReplyPayload.snapshots:type_name -> mxaccess_gateway.v1.ActiveAlarmSnapshot
	2,   // 106: mxaccess_gateway.v1.MxEvent.family:type_name -> mxaccess_gateway.v1.MxEventFamily
	99,  // 107: mxaccess_gateway.v1.MxEvent.value:type_name -> mxaccess_gateway.v1.MxValue
	113, // 108: mxaccess_gateway.v1.MxEvent.source_timestamp:type_name -> google.protobuf.Timestamp
	98,  // 109: mxaccess_gateway.v1.MxEvent.statuses:type_name -> mxaccess_gateway.v1.MxStatusProxy
	113, // 110: mxaccess_gateway.v1.MxEvent.worker_timestamp:type_name -> google.protobuf.Timestamp
	113, // 111: mxaccess_gateway.v1.MxEvent.gateway_receive_timestamp:type_name -> google.protobuf.Timestamp
	84,  // 112: mxaccess_gateway.v1.MxEvent.replay_gap:type_name -> mxaccess_gateway.v1.ReplayGap
	85,  // 113: mxaccess_gateway.v1.MxEvent.on_data_change:type_name -> mxaccess_gateway.v1.OnDataChangeEvent
	86,  // 114: mxaccess_gateway.v1.MxEvent.on_write_complete:type_name -> mxaccess_gateway.v1.OnWriteCompleteEvent
	87,  // 115: mxaccess_gateway.v1.MxEvent.operation_complete:type_name -> mxaccess_gateway.v1.OperationCompleteEvent
	88,  // 116: mxaccess_gateway.v1.MxEvent.on_buffered_data_change:type_name -> mxaccess_gateway.v1.OnBufferedDataChangeEvent
	89,  // 117: mxaccess_gateway.v1.MxEvent.on_alarm_transition:type_name -> mxaccess_gateway.v1.OnAlarmTransitionEvent
	90,  // 118: mxaccess_gateway.v1.MxEvent.on_alarm_provider_mode_changed:type_name -> mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent
	7,   // 119: mxaccess_gateway.v1.OnBufferedDataChangeEvent.data_type:type_name -> mxaccess_gateway.v1.MxDataType
	100, // 120: mxaccess_gateway.v1.OnBufferedDataChangeEvent.quality_values:type_name -> mxaccess_gateway.v1.MxArray
	100, // 121: mxaccess_gateway.v1.OnBufferedDataChangeEvent.timestamp_values:type_name -> mxaccess_gateway.v1.MxArray
	3,   // 122: mxaccess_gateway.v1.OnAlarmTransitionEvent.transition_kind:type_name -> mxaccess_gateway.v1.AlarmTransitionKind
	113, // 123: mxaccess_gateway.v1.OnAlarmTransitionEvent.original_raise_timestamp:type_name -> google.protobuf.Timestamp
	113, // 124: mxaccess_gateway.v1.OnAlarmTransitionEvent.transition_timestamp:type_name -> google.protobuf.Timestamp
	99,  // 125: mxaccess_gateway.v1.OnAlarmTransitionEvent.current_value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 126: mxaccess_gateway.v1.OnAlarmTransitionEvent.limit_value:type_name -> mxaccess_gateway.v1.MxValue
	1,   // 127: mxaccess_gateway.v1.OnAlarmTransitionEvent.source_provider:type_name -> mxaccess_gateway.v1.AlarmProviderMode
	1,   // 128: mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent.mode:type_name -> mxaccess_gateway.v1.AlarmProviderMode
	113, // 129: mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent.at:type_name -> google.protobuf.Timestamp
	113, // 130: mxaccess_gateway.v1.ActiveAlarmSnapshot.original_raise_timestamp:type_name -> google.protobuf.Timestamp
	4,   // 131: mxaccess_gateway.v1.ActiveAlarmSnapshot.current_state:type_name -> mxaccess_gateway.v1.AlarmConditionState
	113, // 132: mxaccess_gateway.v1.ActiveAlarmSnapshot.last_transition_timestamp:type_name -> google.protobuf.Timestamp
	99,  // 133: mxaccess_gateway.v1.ActiveAlarmSnapshot.current_value:type_name -> mxaccess_gateway.v1.MxValue
	99,  // 134: mxaccess_gateway.v1.ActiveAlarmSnapshot.limit_value:type_name -> mxaccess_gateway.v1.MxValue
	1,   // 135: mxaccess_gateway.v1.ActiveAlarmSnapshot.source_provider:type_name -> mxaccess_gateway.v1.AlarmProviderMode
	111, // 136: mxaccess_gateway.v1.AcknowledgeAlarmReply.protocol_status:type_name -> mxaccess_gateway.v1.ProtocolStatus
	98,  // 137: mxaccess_gateway.v1.AcknowledgeAlarmReply.status:type_name -> mxaccess_gateway.v1.MxStatusProxy
	91,  // 138: mxaccess_gateway.v1.AlarmFeedMessage.active_alarm:type_name -> mxaccess_gateway.v1.ActiveAlarmSnapshot
	89,  // 139: mxaccess_gateway.v1.AlarmFeedMessage.transition:type_name -> mxaccess_gateway.v1.OnAlarmTransitionEvent
	96,  // 140: mxaccess_gateway.v1.AlarmFeedMessage.provider_status:type_name -> mxaccess_gateway.v1.AlarmProviderStatus
	97,  // 141: mxaccess_gateway.v1.AlarmFeedMessage.snapshot_status:type_name -> mxaccess_gateway.v1.AlarmSnapshotStatus
	1,   // 142: mxaccess_gateway.v1.AlarmProviderStatus.mode:type_name -> mxaccess_gateway.v1.AlarmProviderMode
	113, // 143: mxaccess_gateway.v1.AlarmProviderStatus.since:type_name -> google.protobuf.Timestamp
	5,   // 144: mxaccess_gateway.v1.MxStatusProxy.category:type_name -> mxaccess_gateway.v1.MxStatusCategory
	6,   // 145: mxaccess_gateway.v1.MxStatusProxy.detected_by:type_name -> mxaccess_gateway.v1.MxStatusSource
	7,   // 146: mxaccess_gateway.v1.MxValue.data_type:type_name -> mxaccess_gateway.v1.MxDataType
	113, // 147: mxaccess_gateway.v1.MxValue.timestamp_value:type_name -> google.protobuf.Timestamp
	100, // 148: mxaccess_gateway.v1.MxValue.array_value:type_name -> mxaccess_gateway.v1.MxArray
	101, // 149: mxaccess_gateway.v1.MxValue.sparse_array_value:type_name -> mxaccess_gateway.v1.MxSparseArray
	7,   // 150: mxaccess_gateway.v1.MxArray.element_data_type:type_name -> mxaccess_gateway.v1.MxDataType
	103, // 151: mxaccess_gateway.v1.MxArray.bool_values:type_name -> mxaccess_gateway.v1.BoolArray
	104, // 152: mxaccess_gateway.v1.MxArray.int32_values:type_name -> mxaccess_gateway.v1.Int32Array
	105, // 153: mxaccess_gateway.v1.MxArray.int64_values:type_name -> mxaccess_gateway.v1.Int64Array
	106, // 154: mxaccess_gateway.v1.MxArray.float_values:type_name -> mxaccess_gateway.v1.FloatArray
	107, // 155: mxaccess_gateway.v1.MxArray.double_values:type_name -> mxaccess_gateway.v1.DoubleArray
	108, // 156: mxaccess_gateway.v1.MxArray.string_values:type_name -> mxaccess_gateway.v1.StringArray
	109, // 157: mxaccess_gateway.v1.MxArray.timestamp_values:type_name -> mxaccess_gateway.v1.TimestampArray
	110, // 158: mxaccess_gateway.v1.MxArray.raw_values:type_name -> mxaccess_gateway.v1.RawArray
	7,   // 159: mxaccess_gateway.v1.MxSparseArray.element_data_type:type_name -> mxaccess_gateway.v1.MxDataType
	102, // 160: mxaccess_gateway.v1.MxSparseArray.elements:type_name -> mxaccess_gateway.v1.MxSparseElement
	99,  // 161: mxaccess_gateway.v1.MxSparseElement.value:type_name -> mxaccess_gateway.v1.MxValue
	113, // 162: mxaccess_gateway.v1.TimestampArray.values:type_name -> google.protobuf.Timestamp
	8,   // 163: mxaccess_gateway.v1.ProtocolStatus.code:type_name -> mxaccess_gateway.v1.ProtocolStatusCode
	11,  // 164: mxaccess_gateway.v1.MxAccessGateway.OpenSession:input_type -> mxaccess_gateway.v1.OpenSessionRequest
	13,  // 165: mxaccess_gateway.v1.MxAccessGateway.CloseSession:input_type -> mxaccess_gateway.v1.CloseSessionRequest
	16,  // 166: mxaccess_gateway.v1.MxAccessGateway.Invoke:input_type -> mxaccess_gateway.v1.MxCommandRequest
	15,  // 167: mxaccess_gateway.v1.MxAccessGateway.StreamEvents:input_type -> mxaccess_gateway.v1.StreamEventsRequest
	92,  // 168: mxaccess_gateway.v1.MxAccessGateway.AcknowledgeAlarm:input_type -> mxaccess_gateway.v1.AcknowledgeAlarmRequest
	94,  // 169: mxaccess_gateway.v1.MxAccessGateway.StreamAlarms:input_type -> mxaccess_gateway.v1.StreamAlarmsRequest
	10,  // 170: mxaccess_gateway.v1.MxAccessGateway.QueryActiveAlarms:input_type -> mxaccess_gateway.v1.QueryActiveAlarmsRequest
	12,  // 171: mxaccess_gateway.v1.MxAccessGateway.OpenSession:output_type -> mxaccess_gateway.v1.OpenSessionReply
	14,  // 172: mxaccess_gateway.v1.MxAccessGateway.CloseSession:output_type -> mxaccess_gateway.v1.CloseSessionReply
	63,  // 173: mxaccess_gateway.v1.MxAccessGateway.Invoke:output_type -> mxaccess_gateway.v1.MxCommandReply
	83,  // 174: mxaccess_gateway.v1.MxAccessGateway.StreamEvents:output_type -> mxaccess_gateway.v1.MxEvent
	93,  // 175: mxaccess_gateway.v1.MxAccessGateway.AcknowledgeAlarm:output_type -> mxaccess_gateway.v1.AcknowledgeAlarmReply
	95,  // 176: mxaccess_gateway.v1.MxAccessGateway.StreamAlarms:output_type -> mxaccess_gateway.v1.AlarmFeedMessage
	91,  // 177: mxaccess_gateway.v1.MxAccessGateway.QueryActiveAlarms:output_type -> mxaccess_gateway.v1.ActiveAlarmSnapshot
	171, // [171:178] is the sub-list for method output_type
	164, // [164:171] is the sub-list for method input_type
	164, // [164:164] is the sub-list for extension type_name
	164, // [164:164] is the sub-list for extension extendee
	0,   // [0:164] is the sub-list for field type_name
}

func init() { file_mxaccess_gateway_proto_init() }
func file_mxaccess_gateway_proto_init() {
	if File_mxaccess_gateway_proto != nil {
		return
	}
	file_mxaccess_gateway_proto_msgTypes[7].OneofWrappers = []any{
		(*MxCommand_Register)(nil),
		(*MxCommand_Unregister)(nil),
		(*MxCommand_AddItem)(nil),
		(*MxCommand_AddItem2)(nil),
		(*MxCommand_RemoveItem)(nil),
		(*MxCommand_Advise)(nil),
		(*MxCommand_UnAdvise)(nil),
		(*MxCommand_AdviseSupervisory)(nil),
		(*MxCommand_AddBufferedItem)(nil),
		(*MxCommand_SetBufferedUpdateInterval)(nil),
		(*MxCommand_Suspend)(nil),
		(*MxCommand_Activate)(nil),
		(*MxCommand_Write)(nil),
		(*MxCommand_Write2)(nil),
		(*MxCommand_WriteSecured)(nil),
		(*MxCommand_WriteSecured2)(nil),
		(*MxCommand_AuthenticateUser)(nil),
		(*MxCommand_ArchestraUserToId)(nil),
		(*MxCommand_AddItemBulk)(nil),
		(*MxCommand_AdviseItemBulk)(nil),
		(*MxCommand_RemoveItemBulk)(nil),
		(*MxCommand_UnAdviseItemBulk)(nil),
		(*MxCommand_SubscribeBulk)(nil),
		(*MxCommand_UnsubscribeBulk)(nil),
		(*MxCommand_SubscribeAlarms)(nil),
		(*MxCommand_UnsubscribeAlarms)(nil),
		(*MxCommand_AcknowledgeAlarmCommand)(nil),
		(*MxCommand_QueryActiveAlarmsCommand)(nil),
		(*MxCommand_AcknowledgeAlarmByNameCommand)(nil),
		(*MxCommand_WriteBulk)(nil),
		(*MxCommand_Write2Bulk)(nil),
		(*MxCommand_WriteSecuredBulk)(nil),
		(*MxCommand_WriteSecured2Bulk)(nil),
		(*MxCommand_ReadBulk)(nil),
		(*MxCommand_Ping)(nil),
		(*MxCommand_GetSessionState)(nil),
		(*MxCommand_GetWorkerInfo)(nil),
		(*MxCommand_DrainEvents)(nil),
		(*MxCommand_ShutdownWorker)(nil),
	}
	file_mxaccess_gateway_proto_msgTypes[53].OneofWrappers = []any{
		(*MxCommandReply_Register)(nil),
		(*MxCommandReply_AddItem)(nil),
		(*MxCommandReply_AddItem2)(nil),
		(*MxCommandReply_AddBufferedItem)(nil),
		(*MxCommandReply_Suspend)(nil),
		(*MxCommandReply_Activate)(nil),
		(*MxCommandReply_AuthenticateUser)(nil),
		(*MxCommandReply_ArchestraUserToId)(nil),
		(*MxCommandReply_AddItemBulk)(nil),
		(*MxCommandReply_AdviseItemBulk)(nil),
		(*MxCommandReply_RemoveItemBulk)(nil),
		(*MxCommandReply_UnAdviseItemBulk)(nil),
		(*MxCommandReply_SubscribeBulk)(nil),
		(*MxCommandReply_UnsubscribeBulk)(nil),
		(*MxCommandReply_AcknowledgeAlarm)(nil),
		(*MxCommandReply_QueryActiveAlarms)(nil),
		(*MxCommandReply_WriteBulk)(nil),
		(*MxCommandReply_Write2Bulk)(nil),
		(*MxCommandReply_WriteSecuredBulk)(nil),
		(*MxCommandReply_WriteSecured2Bulk)(nil),
		(*MxCommandReply_ReadBulk)(nil),
		(*MxCommandReply_SessionState)(nil),
		(*MxCommandReply_WorkerInfo)(nil),
		(*MxCommandReply_DrainEvents)(nil),
	}
	file_mxaccess_gateway_proto_msgTypes[64].OneofWrappers = []any{}
	file_mxaccess_gateway_proto_msgTypes[73].OneofWrappers = []any{
		(*MxEvent_OnDataChange)(nil),
		(*MxEvent_OnWriteComplete)(nil),
		(*MxEvent_OperationComplete)(nil),
		(*MxEvent_OnBufferedDataChange)(nil),
		(*MxEvent_OnAlarmTransition)(nil),
		(*MxEvent_OnAlarmProviderModeChanged)(nil),
	}
	file_mxaccess_gateway_proto_msgTypes[83].OneofWrappers = []any{}
	file_mxaccess_gateway_proto_msgTypes[85].OneofWrappers = []any{
		(*AlarmFeedMessage_ActiveAlarm)(nil),
		(*AlarmFeedMessage_SnapshotComplete)(nil),
		(*AlarmFeedMessage_Transition)(nil),
		(*AlarmFeedMessage_ProviderStatus)(nil),
		(*AlarmFeedMessage_SnapshotStatus)(nil),
	}
	file_mxaccess_gateway_proto_msgTypes[89].OneofWrappers = []any{
		(*MxValue_BoolValue)(nil),
		(*MxValue_Int32Value)(nil),
		(*MxValue_Int64Value)(nil),
		(*MxValue_FloatValue)(nil),
		(*MxValue_DoubleValue)(nil),
		(*MxValue_StringValue)(nil),
		(*MxValue_TimestampValue)(nil),
		(*MxValue_ArrayValue)(nil),
		(*MxValue_RawValue)(nil),
		(*MxValue_SparseArrayValue)(nil),
	}
	file_mxaccess_gateway_proto_msgTypes[90].OneofWrappers = []any{
		(*MxArray_BoolValues)(nil),
		(*MxArray_Int32Values)(nil),
		(*MxArray_Int64Values)(nil),
		(*MxArray_FloatValues)(nil),
		(*MxArray_DoubleValues)(nil),
		(*MxArray_StringValues)(nil),
		(*MxArray_TimestampValues)(nil),
		(*MxArray_RawValues)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_mxaccess_gateway_proto_rawDesc), len(file_mxaccess_gateway_proto_rawDesc)),
			NumEnums:      10,
			NumMessages:   102,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_mxaccess_gateway_proto_goTypes,
		DependencyIndexes: file_mxaccess_gateway_proto_depIdxs,
		EnumInfos:         file_mxaccess_gateway_proto_enumTypes,
		MessageInfos:      file_mxaccess_gateway_proto_msgTypes,
	}.Build()
	File_mxaccess_gateway_proto = out.File
	file_mxaccess_gateway_proto_goTypes = nil
	file_mxaccess_gateway_proto_depIdxs = nil
}
