diff --git a/clients/java/README.md b/clients/java/README.md index 04e50de..0b87b2f 100644 --- a/clients/java/README.md +++ b/clients/java/README.md @@ -124,6 +124,29 @@ the unchanged elements included. For example, to change 2 elements of a the 2 new ones). Sending only the 2 changed values overwrites the attribute with a 2-element array. +When only a few indices need changing and the rest should be reset to the +element type's default, use `writeArrayElements` instead of building the full +array manually: + +```java +session.writeArrayElements( + serverHandle, itemHandle, + MxDataType.MX_DATA_TYPE_INTEGER, + 20, // totalLength + Map.of( + 2, MxValues.int32Value(42), + 7, MxValues.int32Value(99)), + userId); +``` + +The gateway expands the sparse descriptor into a full `totalLength`-element +array before forwarding to the worker. Indices not listed in the map are +written as the element type's default — this is a **reset**, not a preserve; +current values at those positions are discarded. `totalLength` is required and +must match the declared length of the array attribute. Bare-name array items +(`Area001.Pump001.Speed`) are auto-normalized to the `[]` form at `AddItem` so +the array attribute accepts the write. + ## Galaxy Repository Browse The Galaxy Repository service is a separate metadata-only gRPC service exposed diff --git a/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java b/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java index 93bb2d4..bfee30d 100644 --- a/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java +++ b/clients/java/src/main/generated/main/java/mxaccess_gateway/v1/MxaccessGateway.java @@ -485,6 +485,144 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { // @@protoc_insertion_point(enum_scope:mxaccess_gateway.v1.MxCommandKind) } + /** + *
+   * 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".
+   * 
+ * + * Protobuf enum {@code mxaccess_gateway.v1.AlarmProviderMode} + */ + public enum AlarmProviderMode + implements com.google.protobuf.ProtocolMessageEnum { + /** + * ALARM_PROVIDER_MODE_UNSPECIFIED = 0; + */ + ALARM_PROVIDER_MODE_UNSPECIFIED(0), + /** + * ALARM_PROVIDER_MODE_ALARMMGR = 1; + */ + ALARM_PROVIDER_MODE_ALARMMGR(1), + /** + * ALARM_PROVIDER_MODE_SUBTAG = 2; + */ + ALARM_PROVIDER_MODE_SUBTAG(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "AlarmProviderMode"); + } + /** + * ALARM_PROVIDER_MODE_UNSPECIFIED = 0; + */ + public static final int ALARM_PROVIDER_MODE_UNSPECIFIED_VALUE = 0; + /** + * ALARM_PROVIDER_MODE_ALARMMGR = 1; + */ + public static final int ALARM_PROVIDER_MODE_ALARMMGR_VALUE = 1; + /** + * ALARM_PROVIDER_MODE_SUBTAG = 2; + */ + public static final int ALARM_PROVIDER_MODE_SUBTAG_VALUE = 2; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AlarmProviderMode valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static AlarmProviderMode forNumber(int value) { + switch (value) { + case 0: return ALARM_PROVIDER_MODE_UNSPECIFIED; + case 1: return ALARM_PROVIDER_MODE_ALARMMGR; + case 2: return ALARM_PROVIDER_MODE_SUBTAG; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + AlarmProviderMode> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public AlarmProviderMode findValueByNumber(int number) { + return AlarmProviderMode.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(1); + } + + private static final AlarmProviderMode[] VALUES = values(); + + public static AlarmProviderMode valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private AlarmProviderMode(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:mxaccess_gateway.v1.AlarmProviderMode) + } + /** * Protobuf enum {@code mxaccess_gateway.v1.MxEventFamily} */ @@ -514,6 +652,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { * MX_EVENT_FAMILY_ON_ALARM_TRANSITION = 5; */ MX_EVENT_FAMILY_ON_ALARM_TRANSITION(5), + /** + * MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED = 6; + */ + MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED(6), UNRECOGNIZED(-1), ; @@ -550,6 +692,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { * MX_EVENT_FAMILY_ON_ALARM_TRANSITION = 5; */ public static final int MX_EVENT_FAMILY_ON_ALARM_TRANSITION_VALUE = 5; + /** + * MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED = 6; + */ + public static final int MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED_VALUE = 6; public final int getNumber() { @@ -582,6 +728,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { case 3: return MX_EVENT_FAMILY_OPERATION_COMPLETE; case 4: return MX_EVENT_FAMILY_ON_BUFFERED_DATA_CHANGE; case 5: return MX_EVENT_FAMILY_ON_ALARM_TRANSITION; + case 6: return MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_CHANGED; default: return null; } } @@ -612,7 +759,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(1); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(2); } private static final MxEventFamily[] VALUES = values(); @@ -756,7 +903,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(2); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(3); } private static final AlarmTransitionKind[] VALUES = values(); @@ -891,7 +1038,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(3); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(4); } private static final AlarmConditionState[] VALUES = values(); @@ -1089,7 +1236,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(4); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(5); } private static final MxStatusCategory[] VALUES = values(); @@ -1260,7 +1407,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(5); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(6); } private static final MxStatusSource[] VALUES = values(); @@ -1539,7 +1686,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(6); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(7); } private static final MxDataType[] VALUES = values(); @@ -1728,7 +1875,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(7); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(8); } private static final ProtocolStatusCode[] VALUES = values(); @@ -1917,7 +2064,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { - return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(8); + return mxaccess_gateway.v1.MxaccessGateway.getDescriptor().getEnumTypes().get(9); } private static final SessionState[] VALUES = values(); @@ -32434,6 +32581,89 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { */ com.google.protobuf.ByteString getSubscriptionExpressionBytes(); + + /** + *
+     * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The enum numeric value on the wire for forcedMode. + */ + int getForcedModeValue(); + /** + *
+     * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The forcedMode. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getForcedMode(); + + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + java.util.List + getWatchListList(); + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getWatchList(int index); + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + int getWatchListCount(); + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + java.util.List + getWatchListOrBuilderList(); + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder getWatchListOrBuilder( + int index); + + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return Whether the failover field is set. + */ + boolean hasFailover(); + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return The failover. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getFailover(); + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder getFailoverOrBuilder(); } /** *
@@ -32467,6 +32697,8 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
     }
     private SubscribeAlarmsCommand() {
       subscriptionExpression_ = "";
+      forcedMode_ = 0;
+      watchList_ = java.util.Collections.emptyList();
     }
 
     public static final com.google.protobuf.Descriptors.Descriptor
@@ -32482,6 +32714,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
               mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand.class, mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand.Builder.class);
     }
 
+    private int bitField0_;
     public static final int SUBSCRIPTION_EXPRESSION_FIELD_NUMBER = 1;
     @SuppressWarnings("serial")
     private volatile java.lang.Object subscriptionExpression_ = "";
@@ -32521,6 +32754,124 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       }
     }
 
+    public static final int FORCED_MODE_FIELD_NUMBER = 2;
+    private int forcedMode_ = 0;
+    /**
+     * 
+     * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The enum numeric value on the wire for forcedMode. + */ + @java.lang.Override public int getForcedModeValue() { + return forcedMode_; + } + /** + *
+     * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The forcedMode. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getForcedMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(forcedMode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + + public static final int WATCH_LIST_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List watchList_; + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + @java.lang.Override + public java.util.List getWatchListList() { + return watchList_; + } + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + @java.lang.Override + public java.util.List + getWatchListOrBuilderList() { + return watchList_; + } + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + @java.lang.Override + public int getWatchListCount() { + return watchList_.size(); + } + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getWatchList(int index) { + return watchList_.get(index); + } + /** + *
+     * 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.
+     * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder getWatchListOrBuilder( + int index) { + return watchList_.get(index); + } + + public static final int FAILOVER_FIELD_NUMBER = 4; + private mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig failover_; + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return Whether the failover field is set. + */ + @java.lang.Override + public boolean hasFailover() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return The failover. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getFailover() { + return failover_ == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance() : failover_; + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder getFailoverOrBuilder() { + return failover_ == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance() : failover_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -32538,6 +32889,15 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(subscriptionExpression_)) { com.google.protobuf.GeneratedMessage.writeString(output, 1, subscriptionExpression_); } + if (forcedMode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + output.writeEnum(2, forcedMode_); + } + for (int i = 0; i < watchList_.size(); i++) { + output.writeMessage(3, watchList_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getFailover()); + } getUnknownFields().writeTo(output); } @@ -32550,6 +32910,18 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(subscriptionExpression_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(1, subscriptionExpression_); } + if (forcedMode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, forcedMode_); + } + for (int i = 0; i < watchList_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, watchList_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getFailover()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -32567,6 +32939,14 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getSubscriptionExpression() .equals(other.getSubscriptionExpression())) return false; + if (forcedMode_ != other.forcedMode_) return false; + if (!getWatchListList() + .equals(other.getWatchListList())) return false; + if (hasFailover() != other.hasFailover()) return false; + if (hasFailover()) { + if (!getFailover() + .equals(other.getFailover())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -32580,6 +32960,16 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SUBSCRIPTION_EXPRESSION_FIELD_NUMBER; hash = (53 * hash) + getSubscriptionExpression().hashCode(); + hash = (37 * hash) + FORCED_MODE_FIELD_NUMBER; + hash = (53 * hash) + forcedMode_; + if (getWatchListCount() > 0) { + hash = (37 * hash) + WATCH_LIST_FIELD_NUMBER; + hash = (53 * hash) + getWatchListList().hashCode(); + } + if (hasFailover()) { + hash = (37 * hash) + FAILOVER_FIELD_NUMBER; + hash = (53 * hash) + getFailover().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -32708,19 +33098,39 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { // Construct using mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand.newBuilder() private Builder() { - + maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessage.BuilderParent parent) { super(parent); - + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetWatchListFieldBuilder(); + internalGetFailoverFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; subscriptionExpression_ = ""; + forcedMode_ = 0; + if (watchListBuilder_ == null) { + watchList_ = java.util.Collections.emptyList(); + } else { + watchList_ = null; + watchListBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + failover_ = null; + if (failoverBuilder_ != null) { + failoverBuilder_.dispose(); + failoverBuilder_ = null; + } return this; } @@ -32747,16 +33157,40 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand buildPartial() { mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand result = new mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand(this); + buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } + private void buildPartialRepeatedFields(mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand result) { + if (watchListBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + watchList_ = java.util.Collections.unmodifiableList(watchList_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.watchList_ = watchList_; + } else { + result.watchList_ = watchListBuilder_.build(); + } + } + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.SubscribeAlarmsCommand result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.subscriptionExpression_ = subscriptionExpression_; } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.forcedMode_ = forcedMode_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.failover_ = failoverBuilder_ == null + ? failover_ + : failoverBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; } @java.lang.Override @@ -32776,6 +33210,38 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00000001; onChanged(); } + if (other.forcedMode_ != 0) { + setForcedModeValue(other.getForcedModeValue()); + } + if (watchListBuilder_ == null) { + if (!other.watchList_.isEmpty()) { + if (watchList_.isEmpty()) { + watchList_ = other.watchList_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureWatchListIsMutable(); + watchList_.addAll(other.watchList_); + } + onChanged(); + } + } else { + if (!other.watchList_.isEmpty()) { + if (watchListBuilder_.isEmpty()) { + watchListBuilder_.dispose(); + watchListBuilder_ = null; + watchList_ = other.watchList_; + bitField0_ = (bitField0_ & ~0x00000004); + watchListBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetWatchListFieldBuilder() : null; + } else { + watchListBuilder_.addAllMessages(other.watchList_); + } + } + } + if (other.hasFailover()) { + mergeFailover(other.getFailover()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -32807,6 +33273,31 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00000001; break; } // case 10 + case 16: { + forcedMode_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: { + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget m = + input.readMessage( + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.parser(), + extensionRegistry); + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + watchList_.add(m); + } else { + watchListBuilder_.addMessage(m); + } + break; + } // case 26 + case 34: { + input.readMessage( + internalGetFailoverFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 34 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -32896,6 +33387,528 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return this; } + private int forcedMode_ = 0; + /** + *
+       * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The enum numeric value on the wire for forcedMode. + */ + @java.lang.Override public int getForcedModeValue() { + return forcedMode_; + } + /** + *
+       * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @param value The enum numeric value on the wire for forcedMode to set. + * @return This builder for chaining. + */ + public Builder setForcedModeValue(int value) { + forcedMode_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return The forcedMode. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getForcedMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(forcedMode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + /** + *
+       * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @param value The forcedMode to set. + * @return This builder for chaining. + */ + public Builder setForcedMode(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000002; + forcedMode_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * UNSPECIFIED = auto-failover/failback. ALARMMGR/SUBTAG force one provider.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode forced_mode = 2; + * @return This builder for chaining. + */ + public Builder clearForcedMode() { + bitField0_ = (bitField0_ & ~0x00000002); + forcedMode_ = 0; + onChanged(); + return this; + } + + private java.util.List watchList_ = + java.util.Collections.emptyList(); + private void ensureWatchListIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + watchList_ = new java.util.ArrayList(watchList_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder> watchListBuilder_; + + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public java.util.List getWatchListList() { + if (watchListBuilder_ == null) { + return java.util.Collections.unmodifiableList(watchList_); + } else { + return watchListBuilder_.getMessageList(); + } + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public int getWatchListCount() { + if (watchListBuilder_ == null) { + return watchList_.size(); + } else { + return watchListBuilder_.getCount(); + } + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getWatchList(int index) { + if (watchListBuilder_ == null) { + return watchList_.get(index); + } else { + return watchListBuilder_.getMessage(index); + } + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder setWatchList( + int index, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget value) { + if (watchListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWatchListIsMutable(); + watchList_.set(index, value); + onChanged(); + } else { + watchListBuilder_.setMessage(index, value); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder setWatchList( + int index, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder builderForValue) { + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + watchList_.set(index, builderForValue.build()); + onChanged(); + } else { + watchListBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder addWatchList(mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget value) { + if (watchListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWatchListIsMutable(); + watchList_.add(value); + onChanged(); + } else { + watchListBuilder_.addMessage(value); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder addWatchList( + int index, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget value) { + if (watchListBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureWatchListIsMutable(); + watchList_.add(index, value); + onChanged(); + } else { + watchListBuilder_.addMessage(index, value); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder addWatchList( + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder builderForValue) { + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + watchList_.add(builderForValue.build()); + onChanged(); + } else { + watchListBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder addWatchList( + int index, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder builderForValue) { + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + watchList_.add(index, builderForValue.build()); + onChanged(); + } else { + watchListBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder addAllWatchList( + java.lang.Iterable values) { + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, watchList_); + onChanged(); + } else { + watchListBuilder_.addAllMessages(values); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder clearWatchList() { + if (watchListBuilder_ == null) { + watchList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + watchListBuilder_.clear(); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public Builder removeWatchList(int index) { + if (watchListBuilder_ == null) { + ensureWatchListIsMutable(); + watchList_.remove(index); + onChanged(); + } else { + watchListBuilder_.remove(index); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder getWatchListBuilder( + int index) { + return internalGetWatchListFieldBuilder().getBuilder(index); + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder getWatchListOrBuilder( + int index) { + if (watchListBuilder_ == null) { + return watchList_.get(index); } else { + return watchListBuilder_.getMessageOrBuilder(index); + } + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public java.util.List + getWatchListOrBuilderList() { + if (watchListBuilder_ != null) { + return watchListBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(watchList_); + } + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder addWatchListBuilder() { + return internalGetWatchListFieldBuilder().addBuilder( + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.getDefaultInstance()); + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder addWatchListBuilder( + int index) { + return internalGetWatchListFieldBuilder().addBuilder( + index, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.getDefaultInstance()); + } + /** + *
+       * 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.
+       * 
+ * + * repeated .mxaccess_gateway.v1.AlarmSubtagTarget watch_list = 3; + */ + public java.util.List + getWatchListBuilderList() { + return internalGetWatchListFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder> + internalGetWatchListFieldBuilder() { + if (watchListBuilder_ == null) { + watchListBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder>( + watchList_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + watchList_ = null; + } + return watchListBuilder_; + } + + private mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig failover_; + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder> failoverBuilder_; + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return Whether the failover field is set. + */ + public boolean hasFailover() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + * @return The failover. + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getFailover() { + if (failoverBuilder_ == null) { + return failover_ == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance() : failover_; + } else { + return failoverBuilder_.getMessage(); + } + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public Builder setFailover(mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig value) { + if (failoverBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + failover_ = value; + } else { + failoverBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public Builder setFailover( + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder builderForValue) { + if (failoverBuilder_ == null) { + failover_ = builderForValue.build(); + } else { + failoverBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public Builder mergeFailover(mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig value) { + if (failoverBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + failover_ != null && + failover_ != mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance()) { + getFailoverBuilder().mergeFrom(value); + } else { + failover_ = value; + } + } else { + failoverBuilder_.mergeFrom(value); + } + if (failover_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public Builder clearFailover() { + bitField0_ = (bitField0_ & ~0x00000008); + failover_ = null; + if (failoverBuilder_ != null) { + failoverBuilder_.dispose(); + failoverBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder getFailoverBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetFailoverFieldBuilder().getBuilder(); + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder getFailoverOrBuilder() { + if (failoverBuilder_ != null) { + return failoverBuilder_.getMessageOrBuilder(); + } else { + return failover_ == null ? + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance() : failover_; + } + } + /** + * .mxaccess_gateway.v1.AlarmFailoverConfig failover = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder> + internalGetFailoverFieldBuilder() { + if (failoverBuilder_ == null) { + failoverBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder>( + getFailover(), + getParentForChildren(), + isClean()); + failover_ = null; + } + return failoverBuilder_; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.SubscribeAlarmsCommand) } @@ -33312,6 +34325,2120 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } + public interface AlarmSubtagTargetOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.AlarmSubtagTarget) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+     * 
+ * + * string alarm_full_reference = 1; + * @return The alarmFullReference. + */ + java.lang.String getAlarmFullReference(); + /** + *
+     * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+     * 
+ * + * string alarm_full_reference = 1; + * @return The bytes for alarmFullReference. + */ + com.google.protobuf.ByteString + getAlarmFullReferenceBytes(); + + /** + *
+     * e.g. "Tank01"
+     * 
+ * + * string source_object_reference = 2; + * @return The sourceObjectReference. + */ + java.lang.String getSourceObjectReference(); + /** + *
+     * e.g. "Tank01"
+     * 
+ * + * string source_object_reference = 2; + * @return The bytes for sourceObjectReference. + */ + com.google.protobuf.ByteString + getSourceObjectReferenceBytes(); + + /** + *
+     * item address of the in-alarm boolean
+     * 
+ * + * string active_subtag = 3; + * @return The activeSubtag. + */ + java.lang.String getActiveSubtag(); + /** + *
+     * item address of the in-alarm boolean
+     * 
+ * + * string active_subtag = 3; + * @return The bytes for activeSubtag. + */ + com.google.protobuf.ByteString + getActiveSubtagBytes(); + + /** + *
+     * item address of the acknowledged boolean
+     * 
+ * + * string acked_subtag = 4; + * @return The ackedSubtag. + */ + java.lang.String getAckedSubtag(); + /** + *
+     * item address of the acknowledged boolean
+     * 
+ * + * string acked_subtag = 4; + * @return The bytes for ackedSubtag. + */ + com.google.protobuf.ByteString + getAckedSubtagBytes(); + + /** + *
+     * writable ack-comment attribute (ack write target)
+     * 
+ * + * string ack_comment_subtag = 5; + * @return The ackCommentSubtag. + */ + java.lang.String getAckCommentSubtag(); + /** + *
+     * writable ack-comment attribute (ack write target)
+     * 
+ * + * string ack_comment_subtag = 5; + * @return The bytes for ackCommentSubtag. + */ + com.google.protobuf.ByteString + getAckCommentSubtagBytes(); + + /** + *
+     * optional severity source; empty if absent
+     * 
+ * + * string priority_subtag = 6; + * @return The prioritySubtag. + */ + java.lang.String getPrioritySubtag(); + /** + *
+     * optional severity source; empty if absent
+     * 
+ * + * string priority_subtag = 6; + * @return The bytes for prioritySubtag. + */ + com.google.protobuf.ByteString + getPrioritySubtagBytes(); + } + /** + *
+   * One alarm attribute the subtag fallback consumer advises. Addresses are full
+   * MXAccess item references the worker passes straight to AddItem.
+   * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.AlarmSubtagTarget} + */ + public static final class AlarmSubtagTarget extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.AlarmSubtagTarget) + AlarmSubtagTargetOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "AlarmSubtagTarget"); + } + // Use AlarmSubtagTarget.newBuilder() to construct. + private AlarmSubtagTarget(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private AlarmSubtagTarget() { + alarmFullReference_ = ""; + sourceObjectReference_ = ""; + activeSubtag_ = ""; + ackedSubtag_ = ""; + ackCommentSubtag_ = ""; + prioritySubtag_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.class, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder.class); + } + + public static final int ALARM_FULL_REFERENCE_FIELD_NUMBER = 1; + @SuppressWarnings("serial") + private volatile java.lang.Object alarmFullReference_ = ""; + /** + *
+     * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+     * 
+ * + * string alarm_full_reference = 1; + * @return The alarmFullReference. + */ + @java.lang.Override + public java.lang.String getAlarmFullReference() { + java.lang.Object ref = alarmFullReference_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alarmFullReference_ = s; + return s; + } + } + /** + *
+     * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+     * 
+ * + * string alarm_full_reference = 1; + * @return The bytes for alarmFullReference. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAlarmFullReferenceBytes() { + java.lang.Object ref = alarmFullReference_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alarmFullReference_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SOURCE_OBJECT_REFERENCE_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object sourceObjectReference_ = ""; + /** + *
+     * e.g. "Tank01"
+     * 
+ * + * string source_object_reference = 2; + * @return The sourceObjectReference. + */ + @java.lang.Override + public java.lang.String getSourceObjectReference() { + java.lang.Object ref = sourceObjectReference_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + sourceObjectReference_ = s; + return s; + } + } + /** + *
+     * e.g. "Tank01"
+     * 
+ * + * string source_object_reference = 2; + * @return The bytes for sourceObjectReference. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceObjectReferenceBytes() { + java.lang.Object ref = sourceObjectReference_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + sourceObjectReference_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACTIVE_SUBTAG_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object activeSubtag_ = ""; + /** + *
+     * item address of the in-alarm boolean
+     * 
+ * + * string active_subtag = 3; + * @return The activeSubtag. + */ + @java.lang.Override + public java.lang.String getActiveSubtag() { + java.lang.Object ref = activeSubtag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + activeSubtag_ = s; + return s; + } + } + /** + *
+     * item address of the in-alarm boolean
+     * 
+ * + * string active_subtag = 3; + * @return The bytes for activeSubtag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getActiveSubtagBytes() { + java.lang.Object ref = activeSubtag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + activeSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACKED_SUBTAG_FIELD_NUMBER = 4; + @SuppressWarnings("serial") + private volatile java.lang.Object ackedSubtag_ = ""; + /** + *
+     * item address of the acknowledged boolean
+     * 
+ * + * string acked_subtag = 4; + * @return The ackedSubtag. + */ + @java.lang.Override + public java.lang.String getAckedSubtag() { + java.lang.Object ref = ackedSubtag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ackedSubtag_ = s; + return s; + } + } + /** + *
+     * item address of the acknowledged boolean
+     * 
+ * + * string acked_subtag = 4; + * @return The bytes for ackedSubtag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAckedSubtagBytes() { + java.lang.Object ref = ackedSubtag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ackedSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ACK_COMMENT_SUBTAG_FIELD_NUMBER = 5; + @SuppressWarnings("serial") + private volatile java.lang.Object ackCommentSubtag_ = ""; + /** + *
+     * writable ack-comment attribute (ack write target)
+     * 
+ * + * string ack_comment_subtag = 5; + * @return The ackCommentSubtag. + */ + @java.lang.Override + public java.lang.String getAckCommentSubtag() { + java.lang.Object ref = ackCommentSubtag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ackCommentSubtag_ = s; + return s; + } + } + /** + *
+     * writable ack-comment attribute (ack write target)
+     * 
+ * + * string ack_comment_subtag = 5; + * @return The bytes for ackCommentSubtag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getAckCommentSubtagBytes() { + java.lang.Object ref = ackCommentSubtag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ackCommentSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PRIORITY_SUBTAG_FIELD_NUMBER = 6; + @SuppressWarnings("serial") + private volatile java.lang.Object prioritySubtag_ = ""; + /** + *
+     * optional severity source; empty if absent
+     * 
+ * + * string priority_subtag = 6; + * @return The prioritySubtag. + */ + @java.lang.Override + public java.lang.String getPrioritySubtag() { + java.lang.Object ref = prioritySubtag_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + prioritySubtag_ = s; + return s; + } + } + /** + *
+     * optional severity source; empty if absent
+     * 
+ * + * string priority_subtag = 6; + * @return The bytes for prioritySubtag. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getPrioritySubtagBytes() { + java.lang.Object ref = prioritySubtag_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + prioritySubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(alarmFullReference_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, alarmFullReference_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(sourceObjectReference_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, sourceObjectReference_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(activeSubtag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, activeSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ackedSubtag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, ackedSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ackCommentSubtag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, ackCommentSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prioritySubtag_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, prioritySubtag_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(alarmFullReference_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, alarmFullReference_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(sourceObjectReference_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, sourceObjectReference_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(activeSubtag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, activeSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ackedSubtag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, ackedSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ackCommentSubtag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, ackCommentSubtag_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(prioritySubtag_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, prioritySubtag_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget other = (mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget) obj; + + if (!getAlarmFullReference() + .equals(other.getAlarmFullReference())) return false; + if (!getSourceObjectReference() + .equals(other.getSourceObjectReference())) return false; + if (!getActiveSubtag() + .equals(other.getActiveSubtag())) return false; + if (!getAckedSubtag() + .equals(other.getAckedSubtag())) return false; + if (!getAckCommentSubtag() + .equals(other.getAckCommentSubtag())) return false; + if (!getPrioritySubtag() + .equals(other.getPrioritySubtag())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ALARM_FULL_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + getAlarmFullReference().hashCode(); + hash = (37 * hash) + SOURCE_OBJECT_REFERENCE_FIELD_NUMBER; + hash = (53 * hash) + getSourceObjectReference().hashCode(); + hash = (37 * hash) + ACTIVE_SUBTAG_FIELD_NUMBER; + hash = (53 * hash) + getActiveSubtag().hashCode(); + hash = (37 * hash) + ACKED_SUBTAG_FIELD_NUMBER; + hash = (53 * hash) + getAckedSubtag().hashCode(); + hash = (37 * hash) + ACK_COMMENT_SUBTAG_FIELD_NUMBER; + hash = (53 * hash) + getAckCommentSubtag().hashCode(); + hash = (37 * hash) + PRIORITY_SUBTAG_FIELD_NUMBER; + hash = (53 * hash) + getPrioritySubtag().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * One alarm attribute the subtag fallback consumer advises. Addresses are full
+     * MXAccess item references the worker passes straight to AddItem.
+     * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.AlarmSubtagTarget} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.AlarmSubtagTarget) + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.class, mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + alarmFullReference_ = ""; + sourceObjectReference_ = ""; + activeSubtag_ = ""; + ackedSubtag_ = ""; + ackCommentSubtag_ = ""; + prioritySubtag_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget build() { + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget result = new mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.alarmFullReference_ = alarmFullReference_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.sourceObjectReference_ = sourceObjectReference_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.activeSubtag_ = activeSubtag_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.ackedSubtag_ = ackedSubtag_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.ackCommentSubtag_ = ackCommentSubtag_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.prioritySubtag_ = prioritySubtag_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget.getDefaultInstance()) return this; + if (!other.getAlarmFullReference().isEmpty()) { + alarmFullReference_ = other.alarmFullReference_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getSourceObjectReference().isEmpty()) { + sourceObjectReference_ = other.sourceObjectReference_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getActiveSubtag().isEmpty()) { + activeSubtag_ = other.activeSubtag_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getAckedSubtag().isEmpty()) { + ackedSubtag_ = other.ackedSubtag_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getAckCommentSubtag().isEmpty()) { + ackCommentSubtag_ = other.ackCommentSubtag_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.getPrioritySubtag().isEmpty()) { + prioritySubtag_ = other.prioritySubtag_; + bitField0_ |= 0x00000020; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + alarmFullReference_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: { + sourceObjectReference_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: { + activeSubtag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + ackedSubtag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: { + ackCommentSubtag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: { + prioritySubtag_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 50 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private java.lang.Object alarmFullReference_ = ""; + /** + *
+       * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+       * 
+ * + * string alarm_full_reference = 1; + * @return The alarmFullReference. + */ + public java.lang.String getAlarmFullReference() { + java.lang.Object ref = alarmFullReference_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + alarmFullReference_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+       * 
+ * + * string alarm_full_reference = 1; + * @return The bytes for alarmFullReference. + */ + public com.google.protobuf.ByteString + getAlarmFullReferenceBytes() { + java.lang.Object ref = alarmFullReference_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + alarmFullReference_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+       * 
+ * + * string alarm_full_reference = 1; + * @param value The alarmFullReference to set. + * @return This builder for chaining. + */ + public Builder setAlarmFullReference( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + alarmFullReference_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+       * 
+ * + * string alarm_full_reference = 1; + * @return This builder for chaining. + */ + public Builder clearAlarmFullReference() { + alarmFullReference_ = getDefaultInstance().getAlarmFullReference(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + *
+       * e.g. "Galaxy!Area.Tank01.Level.HiHi"
+       * 
+ * + * string alarm_full_reference = 1; + * @param value The bytes for alarmFullReference to set. + * @return This builder for chaining. + */ + public Builder setAlarmFullReferenceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + alarmFullReference_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object sourceObjectReference_ = ""; + /** + *
+       * e.g. "Tank01"
+       * 
+ * + * string source_object_reference = 2; + * @return The sourceObjectReference. + */ + public java.lang.String getSourceObjectReference() { + java.lang.Object ref = sourceObjectReference_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + sourceObjectReference_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * e.g. "Tank01"
+       * 
+ * + * string source_object_reference = 2; + * @return The bytes for sourceObjectReference. + */ + public com.google.protobuf.ByteString + getSourceObjectReferenceBytes() { + java.lang.Object ref = sourceObjectReference_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + sourceObjectReference_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * e.g. "Tank01"
+       * 
+ * + * string source_object_reference = 2; + * @param value The sourceObjectReference to set. + * @return This builder for chaining. + */ + public Builder setSourceObjectReference( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + sourceObjectReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * e.g. "Tank01"
+       * 
+ * + * string source_object_reference = 2; + * @return This builder for chaining. + */ + public Builder clearSourceObjectReference() { + sourceObjectReference_ = getDefaultInstance().getSourceObjectReference(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + *
+       * e.g. "Tank01"
+       * 
+ * + * string source_object_reference = 2; + * @param value The bytes for sourceObjectReference to set. + * @return This builder for chaining. + */ + public Builder setSourceObjectReferenceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + sourceObjectReference_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object activeSubtag_ = ""; + /** + *
+       * item address of the in-alarm boolean
+       * 
+ * + * string active_subtag = 3; + * @return The activeSubtag. + */ + public java.lang.String getActiveSubtag() { + java.lang.Object ref = activeSubtag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + activeSubtag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * item address of the in-alarm boolean
+       * 
+ * + * string active_subtag = 3; + * @return The bytes for activeSubtag. + */ + public com.google.protobuf.ByteString + getActiveSubtagBytes() { + java.lang.Object ref = activeSubtag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + activeSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * item address of the in-alarm boolean
+       * 
+ * + * string active_subtag = 3; + * @param value The activeSubtag to set. + * @return This builder for chaining. + */ + public Builder setActiveSubtag( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + activeSubtag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * item address of the in-alarm boolean
+       * 
+ * + * string active_subtag = 3; + * @return This builder for chaining. + */ + public Builder clearActiveSubtag() { + activeSubtag_ = getDefaultInstance().getActiveSubtag(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * item address of the in-alarm boolean
+       * 
+ * + * string active_subtag = 3; + * @param value The bytes for activeSubtag to set. + * @return This builder for chaining. + */ + public Builder setActiveSubtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + activeSubtag_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object ackedSubtag_ = ""; + /** + *
+       * item address of the acknowledged boolean
+       * 
+ * + * string acked_subtag = 4; + * @return The ackedSubtag. + */ + public java.lang.String getAckedSubtag() { + java.lang.Object ref = ackedSubtag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ackedSubtag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * item address of the acknowledged boolean
+       * 
+ * + * string acked_subtag = 4; + * @return The bytes for ackedSubtag. + */ + public com.google.protobuf.ByteString + getAckedSubtagBytes() { + java.lang.Object ref = ackedSubtag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ackedSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * item address of the acknowledged boolean
+       * 
+ * + * string acked_subtag = 4; + * @param value The ackedSubtag to set. + * @return This builder for chaining. + */ + public Builder setAckedSubtag( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ackedSubtag_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + *
+       * item address of the acknowledged boolean
+       * 
+ * + * string acked_subtag = 4; + * @return This builder for chaining. + */ + public Builder clearAckedSubtag() { + ackedSubtag_ = getDefaultInstance().getAckedSubtag(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + *
+       * item address of the acknowledged boolean
+       * 
+ * + * string acked_subtag = 4; + * @param value The bytes for ackedSubtag to set. + * @return This builder for chaining. + */ + public Builder setAckedSubtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ackedSubtag_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object ackCommentSubtag_ = ""; + /** + *
+       * writable ack-comment attribute (ack write target)
+       * 
+ * + * string ack_comment_subtag = 5; + * @return The ackCommentSubtag. + */ + public java.lang.String getAckCommentSubtag() { + java.lang.Object ref = ackCommentSubtag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + ackCommentSubtag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * writable ack-comment attribute (ack write target)
+       * 
+ * + * string ack_comment_subtag = 5; + * @return The bytes for ackCommentSubtag. + */ + public com.google.protobuf.ByteString + getAckCommentSubtagBytes() { + java.lang.Object ref = ackCommentSubtag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + ackCommentSubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * writable ack-comment attribute (ack write target)
+       * 
+ * + * string ack_comment_subtag = 5; + * @param value The ackCommentSubtag to set. + * @return This builder for chaining. + */ + public Builder setAckCommentSubtag( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + ackCommentSubtag_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + *
+       * writable ack-comment attribute (ack write target)
+       * 
+ * + * string ack_comment_subtag = 5; + * @return This builder for chaining. + */ + public Builder clearAckCommentSubtag() { + ackCommentSubtag_ = getDefaultInstance().getAckCommentSubtag(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + /** + *
+       * writable ack-comment attribute (ack write target)
+       * 
+ * + * string ack_comment_subtag = 5; + * @param value The bytes for ackCommentSubtag to set. + * @return This builder for chaining. + */ + public Builder setAckCommentSubtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + ackCommentSubtag_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private java.lang.Object prioritySubtag_ = ""; + /** + *
+       * optional severity source; empty if absent
+       * 
+ * + * string priority_subtag = 6; + * @return The prioritySubtag. + */ + public java.lang.String getPrioritySubtag() { + java.lang.Object ref = prioritySubtag_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + prioritySubtag_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * optional severity source; empty if absent
+       * 
+ * + * string priority_subtag = 6; + * @return The bytes for prioritySubtag. + */ + public com.google.protobuf.ByteString + getPrioritySubtagBytes() { + java.lang.Object ref = prioritySubtag_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + prioritySubtag_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * optional severity source; empty if absent
+       * 
+ * + * string priority_subtag = 6; + * @param value The prioritySubtag to set. + * @return This builder for chaining. + */ + public Builder setPrioritySubtag( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + prioritySubtag_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + /** + *
+       * optional severity source; empty if absent
+       * 
+ * + * string priority_subtag = 6; + * @return This builder for chaining. + */ + public Builder clearPrioritySubtag() { + prioritySubtag_ = getDefaultInstance().getPrioritySubtag(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + /** + *
+       * optional severity source; empty if absent
+       * 
+ * + * string priority_subtag = 6; + * @param value The bytes for prioritySubtag to set. + * @return This builder for chaining. + */ + public Builder setPrioritySubtagBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + prioritySubtag_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.AlarmSubtagTarget) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.AlarmSubtagTarget) + private static final mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AlarmSubtagTarget parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmSubtagTarget getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface AlarmFailoverConfigOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.AlarmFailoverConfig) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * wnwrap COM failures before switching (>=1)
+     * 
+ * + * int32 consecutive_failure_threshold = 1; + * @return The consecutiveFailureThreshold. + */ + int getConsecutiveFailureThreshold(); + + /** + *
+     * probe cadence while degraded (>=1)
+     * 
+ * + * int32 failback_probe_interval_seconds = 2; + * @return The failbackProbeIntervalSeconds. + */ + int getFailbackProbeIntervalSeconds(); + + /** + *
+     * clean probes before switching back (>=1)
+     * 
+ * + * int32 failback_stable_probes = 3; + * @return The failbackStableProbes. + */ + int getFailbackStableProbes(); + } + /** + * Protobuf type {@code mxaccess_gateway.v1.AlarmFailoverConfig} + */ + public static final class AlarmFailoverConfig extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.AlarmFailoverConfig) + AlarmFailoverConfigOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "AlarmFailoverConfig"); + } + // Use AlarmFailoverConfig.newBuilder() to construct. + private AlarmFailoverConfig(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private AlarmFailoverConfig() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.class, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder.class); + } + + public static final int CONSECUTIVE_FAILURE_THRESHOLD_FIELD_NUMBER = 1; + private int consecutiveFailureThreshold_ = 0; + /** + *
+     * wnwrap COM failures before switching (>=1)
+     * 
+ * + * int32 consecutive_failure_threshold = 1; + * @return The consecutiveFailureThreshold. + */ + @java.lang.Override + public int getConsecutiveFailureThreshold() { + return consecutiveFailureThreshold_; + } + + public static final int FAILBACK_PROBE_INTERVAL_SECONDS_FIELD_NUMBER = 2; + private int failbackProbeIntervalSeconds_ = 0; + /** + *
+     * probe cadence while degraded (>=1)
+     * 
+ * + * int32 failback_probe_interval_seconds = 2; + * @return The failbackProbeIntervalSeconds. + */ + @java.lang.Override + public int getFailbackProbeIntervalSeconds() { + return failbackProbeIntervalSeconds_; + } + + public static final int FAILBACK_STABLE_PROBES_FIELD_NUMBER = 3; + private int failbackStableProbes_ = 0; + /** + *
+     * clean probes before switching back (>=1)
+     * 
+ * + * int32 failback_stable_probes = 3; + * @return The failbackStableProbes. + */ + @java.lang.Override + public int getFailbackStableProbes() { + return failbackStableProbes_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (consecutiveFailureThreshold_ != 0) { + output.writeInt32(1, consecutiveFailureThreshold_); + } + if (failbackProbeIntervalSeconds_ != 0) { + output.writeInt32(2, failbackProbeIntervalSeconds_); + } + if (failbackStableProbes_ != 0) { + output.writeInt32(3, failbackStableProbes_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (consecutiveFailureThreshold_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, consecutiveFailureThreshold_); + } + if (failbackProbeIntervalSeconds_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(2, failbackProbeIntervalSeconds_); + } + if (failbackStableProbes_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, failbackStableProbes_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig other = (mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig) obj; + + if (getConsecutiveFailureThreshold() + != other.getConsecutiveFailureThreshold()) return false; + if (getFailbackProbeIntervalSeconds() + != other.getFailbackProbeIntervalSeconds()) return false; + if (getFailbackStableProbes() + != other.getFailbackStableProbes()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + CONSECUTIVE_FAILURE_THRESHOLD_FIELD_NUMBER; + hash = (53 * hash) + getConsecutiveFailureThreshold(); + hash = (37 * hash) + FAILBACK_PROBE_INTERVAL_SECONDS_FIELD_NUMBER; + hash = (53 * hash) + getFailbackProbeIntervalSeconds(); + hash = (37 * hash) + FAILBACK_STABLE_PROBES_FIELD_NUMBER; + hash = (53 * hash) + getFailbackStableProbes(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code mxaccess_gateway.v1.AlarmFailoverConfig} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.AlarmFailoverConfig) + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.class, mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + consecutiveFailureThreshold_ = 0; + failbackProbeIntervalSeconds_ = 0; + failbackStableProbes_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig build() { + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig result = new mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.consecutiveFailureThreshold_ = consecutiveFailureThreshold_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.failbackProbeIntervalSeconds_ = failbackProbeIntervalSeconds_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.failbackStableProbes_ = failbackStableProbes_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig.getDefaultInstance()) return this; + if (other.getConsecutiveFailureThreshold() != 0) { + setConsecutiveFailureThreshold(other.getConsecutiveFailureThreshold()); + } + if (other.getFailbackProbeIntervalSeconds() != 0) { + setFailbackProbeIntervalSeconds(other.getFailbackProbeIntervalSeconds()); + } + if (other.getFailbackStableProbes() != 0) { + setFailbackStableProbes(other.getFailbackStableProbes()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + consecutiveFailureThreshold_ = input.readInt32(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + failbackProbeIntervalSeconds_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: { + failbackStableProbes_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int consecutiveFailureThreshold_ ; + /** + *
+       * wnwrap COM failures before switching (>=1)
+       * 
+ * + * int32 consecutive_failure_threshold = 1; + * @return The consecutiveFailureThreshold. + */ + @java.lang.Override + public int getConsecutiveFailureThreshold() { + return consecutiveFailureThreshold_; + } + /** + *
+       * wnwrap COM failures before switching (>=1)
+       * 
+ * + * int32 consecutive_failure_threshold = 1; + * @param value The consecutiveFailureThreshold to set. + * @return This builder for chaining. + */ + public Builder setConsecutiveFailureThreshold(int value) { + + consecutiveFailureThreshold_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * wnwrap COM failures before switching (>=1)
+       * 
+ * + * int32 consecutive_failure_threshold = 1; + * @return This builder for chaining. + */ + public Builder clearConsecutiveFailureThreshold() { + bitField0_ = (bitField0_ & ~0x00000001); + consecutiveFailureThreshold_ = 0; + onChanged(); + return this; + } + + private int failbackProbeIntervalSeconds_ ; + /** + *
+       * probe cadence while degraded (>=1)
+       * 
+ * + * int32 failback_probe_interval_seconds = 2; + * @return The failbackProbeIntervalSeconds. + */ + @java.lang.Override + public int getFailbackProbeIntervalSeconds() { + return failbackProbeIntervalSeconds_; + } + /** + *
+       * probe cadence while degraded (>=1)
+       * 
+ * + * int32 failback_probe_interval_seconds = 2; + * @param value The failbackProbeIntervalSeconds to set. + * @return This builder for chaining. + */ + public Builder setFailbackProbeIntervalSeconds(int value) { + + failbackProbeIntervalSeconds_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * probe cadence while degraded (>=1)
+       * 
+ * + * int32 failback_probe_interval_seconds = 2; + * @return This builder for chaining. + */ + public Builder clearFailbackProbeIntervalSeconds() { + bitField0_ = (bitField0_ & ~0x00000002); + failbackProbeIntervalSeconds_ = 0; + onChanged(); + return this; + } + + private int failbackStableProbes_ ; + /** + *
+       * clean probes before switching back (>=1)
+       * 
+ * + * int32 failback_stable_probes = 3; + * @return The failbackStableProbes. + */ + @java.lang.Override + public int getFailbackStableProbes() { + return failbackStableProbes_; + } + /** + *
+       * clean probes before switching back (>=1)
+       * 
+ * + * int32 failback_stable_probes = 3; + * @param value The failbackStableProbes to set. + * @return This builder for chaining. + */ + public Builder setFailbackStableProbes(int value) { + + failbackStableProbes_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * clean probes before switching back (>=1)
+       * 
+ * + * int32 failback_stable_probes = 3; + * @return This builder for chaining. + */ + public Builder clearFailbackStableProbes() { + bitField0_ = (bitField0_ & ~0x00000004); + failbackStableProbes_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.AlarmFailoverConfig) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.AlarmFailoverConfig) + private static final mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AlarmFailoverConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmFailoverConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface AcknowledgeAlarmCommandOrBuilder extends // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.AcknowledgeAlarmCommand) com.google.protobuf.MessageOrBuilder { @@ -68090,6 +71217,75 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { com.google.protobuf.ByteString getRawStatusBytes(); + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return Whether the replayGap field is set. + */ + boolean hasReplayGap(); + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return The replayGap. + */ + mxaccess_gateway.v1.MxaccessGateway.ReplayGap getReplayGap(); + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder getReplayGapOrBuilder(); + /** * .mxaccess_gateway.v1.OnDataChangeEvent on_data_change = 20; * @return Whether the onDataChange field is set. @@ -68165,6 +71361,21 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { */ mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEventOrBuilder getOnAlarmTransitionOrBuilder(); + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return Whether the onAlarmProviderModeChanged field is set. + */ + boolean hasOnAlarmProviderModeChanged(); + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return The onAlarmProviderModeChanged. + */ + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getOnAlarmProviderModeChanged(); + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder getOnAlarmProviderModeChangedOrBuilder(); + mxaccess_gateway.v1.MxaccessGateway.MxEvent.BodyCase getBodyCase(); } /** @@ -68220,6 +71431,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { OPERATION_COMPLETE(22), ON_BUFFERED_DATA_CHANGE(23), ON_ALARM_TRANSITION(24), + ON_ALARM_PROVIDER_MODE_CHANGED(25), BODY_NOT_SET(0); private final int value; private BodyCase(int value) { @@ -68242,6 +71454,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { case 22: return OPERATION_COMPLETE; case 23: return ON_BUFFERED_DATA_CHANGE; case 24: return ON_ALARM_TRANSITION; + case 25: return ON_ALARM_PROVIDER_MODE_CHANGED; case 0: return BODY_NOT_SET; default: return null; } @@ -68561,6 +71774,86 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } } + public static final int REPLAY_GAP_FIELD_NUMBER = 14; + private mxaccess_gateway.v1.MxaccessGateway.ReplayGap replayGap_; + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return Whether the replayGap field is set. + */ + @java.lang.Override + public boolean hasReplayGap() { + return ((bitField0_ & 0x00000020) != 0); + } + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return The replayGap. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap getReplayGap() { + return replayGap_ == null ? mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance() : replayGap_; + } + /** + *
+     * 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.
+     * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder getReplayGapOrBuilder() { + return replayGap_ == null ? mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance() : replayGap_; + } + public static final int ON_DATA_CHANGE_FIELD_NUMBER = 20; /** * .mxaccess_gateway.v1.OnDataChangeEvent on_data_change = 20; @@ -68716,6 +72009,37 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent.getDefaultInstance(); } + public static final int ON_ALARM_PROVIDER_MODE_CHANGED_FIELD_NUMBER = 25; + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return Whether the onAlarmProviderModeChanged field is set. + */ + @java.lang.Override + public boolean hasOnAlarmProviderModeChanged() { + return bodyCase_ == 25; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return The onAlarmProviderModeChanged. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getOnAlarmProviderModeChanged() { + if (bodyCase_ == 25) { + return (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_; + } + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder getOnAlarmProviderModeChangedOrBuilder() { + if (bodyCase_ == 25) { + return (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_; + } + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -68769,6 +72093,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(rawStatus_)) { com.google.protobuf.GeneratedMessage.writeString(output, 13, rawStatus_); } + if (((bitField0_ & 0x00000020) != 0)) { + output.writeMessage(14, getReplayGap()); + } if (bodyCase_ == 20) { output.writeMessage(20, (mxaccess_gateway.v1.MxaccessGateway.OnDataChangeEvent) body_); } @@ -68784,6 +72111,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (bodyCase_ == 24) { output.writeMessage(24, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent) body_); } + if (bodyCase_ == 25) { + output.writeMessage(25, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_); + } getUnknownFields().writeTo(output); } @@ -68843,6 +72173,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(rawStatus_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(13, rawStatus_); } + if (((bitField0_ & 0x00000020) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(14, getReplayGap()); + } if (bodyCase_ == 20) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(20, (mxaccess_gateway.v1.MxaccessGateway.OnDataChangeEvent) body_); @@ -68863,6 +72197,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeMessageSize(24, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent) body_); } + if (bodyCase_ == 25) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(25, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -68918,6 +72256,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } if (!getRawStatus() .equals(other.getRawStatus())) return false; + if (hasReplayGap() != other.hasReplayGap()) return false; + if (hasReplayGap()) { + if (!getReplayGap() + .equals(other.getReplayGap())) return false; + } if (!getBodyCase().equals(other.getBodyCase())) return false; switch (bodyCase_) { case 20: @@ -68940,6 +72283,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getOnAlarmTransition() .equals(other.getOnAlarmTransition())) return false; break; + case 25: + if (!getOnAlarmProviderModeChanged() + .equals(other.getOnAlarmProviderModeChanged())) return false; + break; case 0: default: } @@ -68993,6 +72340,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } hash = (37 * hash) + RAW_STATUS_FIELD_NUMBER; hash = (53 * hash) + getRawStatus().hashCode(); + if (hasReplayGap()) { + hash = (37 * hash) + REPLAY_GAP_FIELD_NUMBER; + hash = (53 * hash) + getReplayGap().hashCode(); + } switch (bodyCase_) { case 20: hash = (37 * hash) + ON_DATA_CHANGE_FIELD_NUMBER; @@ -69014,6 +72365,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + ON_ALARM_TRANSITION_FIELD_NUMBER; hash = (53 * hash) + getOnAlarmTransition().hashCode(); break; + case 25: + hash = (37 * hash) + ON_ALARM_PROVIDER_MODE_CHANGED_FIELD_NUMBER; + hash = (53 * hash) + getOnAlarmProviderModeChanged().hashCode(); + break; case 0: default: } @@ -69152,6 +72507,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { internalGetStatusesFieldBuilder(); internalGetWorkerTimestampFieldBuilder(); internalGetGatewayReceiveTimestampFieldBuilder(); + internalGetReplayGapFieldBuilder(); } } @java.lang.Override @@ -69193,6 +72549,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } hresult_ = 0; rawStatus_ = ""; + replayGap_ = null; + if (replayGapBuilder_ != null) { + replayGapBuilder_.dispose(); + replayGapBuilder_ = null; + } if (onDataChangeBuilder_ != null) { onDataChangeBuilder_.clear(); } @@ -69208,6 +72569,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (onAlarmTransitionBuilder_ != null) { onAlarmTransitionBuilder_.clear(); } + if (onAlarmProviderModeChangedBuilder_ != null) { + onAlarmProviderModeChangedBuilder_.clear(); + } bodyCase_ = 0; body_ = null; return this; @@ -69307,6 +72671,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (((from_bitField0_ & 0x00001000) != 0)) { result.rawStatus_ = rawStatus_; } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.replayGap_ = replayGapBuilder_ == null + ? replayGap_ + : replayGapBuilder_.build(); + to_bitField0_ |= 0x00000020; + } result.bitField0_ |= to_bitField0_; } @@ -69333,6 +72703,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { onAlarmTransitionBuilder_ != null) { result.body_ = onAlarmTransitionBuilder_.build(); } + if (bodyCase_ == 25 && + onAlarmProviderModeChangedBuilder_ != null) { + result.body_ = onAlarmProviderModeChangedBuilder_.build(); + } } @java.lang.Override @@ -69413,6 +72787,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00001000; onChanged(); } + if (other.hasReplayGap()) { + mergeReplayGap(other.getReplayGap()); + } switch (other.getBodyCase()) { case ON_DATA_CHANGE: { mergeOnDataChange(other.getOnDataChange()); @@ -69434,6 +72811,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { mergeOnAlarmTransition(other.getOnAlarmTransition()); break; } + case ON_ALARM_PROVIDER_MODE_CHANGED: { + mergeOnAlarmProviderModeChanged(other.getOnAlarmProviderModeChanged()); + break; + } case BODY_NOT_SET: { break; } @@ -69545,6 +72926,13 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00001000; break; } // case 106 + case 114: { + input.readMessage( + internalGetReplayGapFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00002000; + break; + } // case 114 case 162: { input.readMessage( internalGetOnDataChangeFieldBuilder().getBuilder(), @@ -69580,6 +72968,13 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bodyCase_ = 24; break; } // case 194 + case 202: { + input.readMessage( + internalGetOnAlarmProviderModeChangedFieldBuilder().getBuilder(), + extensionRegistry); + bodyCase_ = 25; + break; + } // case 202 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -70699,6 +74094,289 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return this; } + private mxaccess_gateway.v1.MxaccessGateway.ReplayGap replayGap_; + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.ReplayGap, mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder, mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder> replayGapBuilder_; + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return Whether the replayGap field is set. + */ + public boolean hasReplayGap() { + return ((bitField0_ & 0x00002000) != 0); + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + * @return The replayGap. + */ + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap getReplayGap() { + if (replayGapBuilder_ == null) { + return replayGap_ == null ? mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance() : replayGap_; + } else { + return replayGapBuilder_.getMessage(); + } + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public Builder setReplayGap(mxaccess_gateway.v1.MxaccessGateway.ReplayGap value) { + if (replayGapBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + replayGap_ = value; + } else { + replayGapBuilder_.setMessage(value); + } + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public Builder setReplayGap( + mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder builderForValue) { + if (replayGapBuilder_ == null) { + replayGap_ = builderForValue.build(); + } else { + replayGapBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public Builder mergeReplayGap(mxaccess_gateway.v1.MxaccessGateway.ReplayGap value) { + if (replayGapBuilder_ == null) { + if (((bitField0_ & 0x00002000) != 0) && + replayGap_ != null && + replayGap_ != mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance()) { + getReplayGapBuilder().mergeFrom(value); + } else { + replayGap_ = value; + } + } else { + replayGapBuilder_.mergeFrom(value); + } + if (replayGap_ != null) { + bitField0_ |= 0x00002000; + onChanged(); + } + return this; + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public Builder clearReplayGap() { + bitField0_ = (bitField0_ & ~0x00002000); + replayGap_ = null; + if (replayGapBuilder_ != null) { + replayGapBuilder_.dispose(); + replayGapBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder getReplayGapBuilder() { + bitField0_ |= 0x00002000; + onChanged(); + return internalGetReplayGapFieldBuilder().getBuilder(); + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + public mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder getReplayGapOrBuilder() { + if (replayGapBuilder_ != null) { + return replayGapBuilder_.getMessageOrBuilder(); + } else { + return replayGap_ == null ? + mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance() : replayGap_; + } + } + /** + *
+       * 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.
+       * 
+ * + * optional .mxaccess_gateway.v1.ReplayGap replay_gap = 14; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.ReplayGap, mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder, mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder> + internalGetReplayGapFieldBuilder() { + if (replayGapBuilder_ == null) { + replayGapBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.ReplayGap, mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder, mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder>( + getReplayGap(), + getParentForChildren(), + isClean()); + replayGap_ = null; + } + return replayGapBuilder_; + } + private com.google.protobuf.SingleFieldBuilder< mxaccess_gateway.v1.MxaccessGateway.OnDataChangeEvent, mxaccess_gateway.v1.MxaccessGateway.OnDataChangeEvent.Builder, mxaccess_gateway.v1.MxaccessGateway.OnDataChangeEventOrBuilder> onDataChangeBuilder_; /** @@ -71409,6 +75087,148 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return onAlarmTransitionBuilder_; } + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder> onAlarmProviderModeChangedBuilder_; + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return Whether the onAlarmProviderModeChanged field is set. + */ + @java.lang.Override + public boolean hasOnAlarmProviderModeChanged() { + return bodyCase_ == 25; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + * @return The onAlarmProviderModeChanged. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getOnAlarmProviderModeChanged() { + if (onAlarmProviderModeChangedBuilder_ == null) { + if (bodyCase_ == 25) { + return (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_; + } + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } else { + if (bodyCase_ == 25) { + return onAlarmProviderModeChangedBuilder_.getMessage(); + } + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + public Builder setOnAlarmProviderModeChanged(mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent value) { + if (onAlarmProviderModeChangedBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + body_ = value; + onChanged(); + } else { + onAlarmProviderModeChangedBuilder_.setMessage(value); + } + bodyCase_ = 25; + return this; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + public Builder setOnAlarmProviderModeChanged( + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder builderForValue) { + if (onAlarmProviderModeChangedBuilder_ == null) { + body_ = builderForValue.build(); + onChanged(); + } else { + onAlarmProviderModeChangedBuilder_.setMessage(builderForValue.build()); + } + bodyCase_ = 25; + return this; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + public Builder mergeOnAlarmProviderModeChanged(mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent value) { + if (onAlarmProviderModeChangedBuilder_ == null) { + if (bodyCase_ == 25 && + body_ != mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance()) { + body_ = mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.newBuilder((mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_) + .mergeFrom(value).buildPartial(); + } else { + body_ = value; + } + onChanged(); + } else { + if (bodyCase_ == 25) { + onAlarmProviderModeChangedBuilder_.mergeFrom(value); + } else { + onAlarmProviderModeChangedBuilder_.setMessage(value); + } + } + bodyCase_ = 25; + return this; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + public Builder clearOnAlarmProviderModeChanged() { + if (onAlarmProviderModeChangedBuilder_ == null) { + if (bodyCase_ == 25) { + bodyCase_ = 0; + body_ = null; + onChanged(); + } + } else { + if (bodyCase_ == 25) { + bodyCase_ = 0; + body_ = null; + } + onAlarmProviderModeChangedBuilder_.clear(); + } + return this; + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder getOnAlarmProviderModeChangedBuilder() { + return internalGetOnAlarmProviderModeChangedFieldBuilder().getBuilder(); + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder getOnAlarmProviderModeChangedOrBuilder() { + if ((bodyCase_ == 25) && (onAlarmProviderModeChangedBuilder_ != null)) { + return onAlarmProviderModeChangedBuilder_.getMessageOrBuilder(); + } else { + if (bodyCase_ == 25) { + return (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_; + } + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + } + /** + * .mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent on_alarm_provider_mode_changed = 25; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder> + internalGetOnAlarmProviderModeChangedFieldBuilder() { + if (onAlarmProviderModeChangedBuilder_ == null) { + if (!(bodyCase_ == 25)) { + body_ = mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + onAlarmProviderModeChangedBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder>( + (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) body_, + getParentForChildren(), + isClean()); + body_ = null; + } + bodyCase_ = 25; + onChanged(); + return onAlarmProviderModeChangedBuilder_; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.MxEvent) } @@ -71460,6 +75280,612 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } + public interface ReplayGapOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.ReplayGap) + com.google.protobuf.MessageOrBuilder { + + /** + *
+     * The worker_sequence the client asked to resume after
+     * (StreamEventsRequest.after_worker_sequence).
+     * 
+ * + * uint64 requested_after_sequence = 1; + * @return The requestedAfterSequence. + */ + long getRequestedAfterSequence(); + + /** + *
+     * 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).
+     * 
+ * + * uint64 oldest_available_sequence = 2; + * @return The oldestAvailableSequence. + */ + long getOldestAvailableSequence(); + } + /** + *
+   * 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.
+   * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.ReplayGap} + */ + public static final class ReplayGap extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.ReplayGap) + ReplayGapOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "ReplayGap"); + } + // Use ReplayGap.newBuilder() to construct. + private ReplayGap(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private ReplayGap() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_ReplayGap_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_ReplayGap_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.ReplayGap.class, mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder.class); + } + + public static final int REQUESTED_AFTER_SEQUENCE_FIELD_NUMBER = 1; + private long requestedAfterSequence_ = 0L; + /** + *
+     * The worker_sequence the client asked to resume after
+     * (StreamEventsRequest.after_worker_sequence).
+     * 
+ * + * uint64 requested_after_sequence = 1; + * @return The requestedAfterSequence. + */ + @java.lang.Override + public long getRequestedAfterSequence() { + return requestedAfterSequence_; + } + + public static final int OLDEST_AVAILABLE_SEQUENCE_FIELD_NUMBER = 2; + private long oldestAvailableSequence_ = 0L; + /** + *
+     * 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).
+     * 
+ * + * uint64 oldest_available_sequence = 2; + * @return The oldestAvailableSequence. + */ + @java.lang.Override + public long getOldestAvailableSequence() { + return oldestAvailableSequence_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (requestedAfterSequence_ != 0L) { + output.writeUInt64(1, requestedAfterSequence_); + } + if (oldestAvailableSequence_ != 0L) { + output.writeUInt64(2, oldestAvailableSequence_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (requestedAfterSequence_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(1, requestedAfterSequence_); + } + if (oldestAvailableSequence_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(2, oldestAvailableSequence_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.ReplayGap)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.ReplayGap other = (mxaccess_gateway.v1.MxaccessGateway.ReplayGap) obj; + + if (getRequestedAfterSequence() + != other.getRequestedAfterSequence()) return false; + if (getOldestAvailableSequence() + != other.getOldestAvailableSequence()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + REQUESTED_AFTER_SEQUENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getRequestedAfterSequence()); + hash = (37 * hash) + OLDEST_AVAILABLE_SEQUENCE_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getOldestAvailableSequence()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.ReplayGap prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * 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.
+     * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.ReplayGap} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.ReplayGap) + mxaccess_gateway.v1.MxaccessGateway.ReplayGapOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_ReplayGap_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_ReplayGap_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.ReplayGap.class, mxaccess_gateway.v1.MxaccessGateway.ReplayGap.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.ReplayGap.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + requestedAfterSequence_ = 0L; + oldestAvailableSequence_ = 0L; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_ReplayGap_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap build() { + mxaccess_gateway.v1.MxaccessGateway.ReplayGap result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.ReplayGap result = new mxaccess_gateway.v1.MxaccessGateway.ReplayGap(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.ReplayGap result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.requestedAfterSequence_ = requestedAfterSequence_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.oldestAvailableSequence_ = oldestAvailableSequence_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.ReplayGap) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.ReplayGap)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.ReplayGap other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.ReplayGap.getDefaultInstance()) return this; + if (other.getRequestedAfterSequence() != 0L) { + setRequestedAfterSequence(other.getRequestedAfterSequence()); + } + if (other.getOldestAvailableSequence() != 0L) { + setOldestAvailableSequence(other.getOldestAvailableSequence()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + requestedAfterSequence_ = input.readUInt64(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + oldestAvailableSequence_ = input.readUInt64(); + bitField0_ |= 0x00000002; + break; + } // case 16 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private long requestedAfterSequence_ ; + /** + *
+       * The worker_sequence the client asked to resume after
+       * (StreamEventsRequest.after_worker_sequence).
+       * 
+ * + * uint64 requested_after_sequence = 1; + * @return The requestedAfterSequence. + */ + @java.lang.Override + public long getRequestedAfterSequence() { + return requestedAfterSequence_; + } + /** + *
+       * The worker_sequence the client asked to resume after
+       * (StreamEventsRequest.after_worker_sequence).
+       * 
+ * + * uint64 requested_after_sequence = 1; + * @param value The requestedAfterSequence to set. + * @return This builder for chaining. + */ + public Builder setRequestedAfterSequence(long value) { + + requestedAfterSequence_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + *
+       * The worker_sequence the client asked to resume after
+       * (StreamEventsRequest.after_worker_sequence).
+       * 
+ * + * uint64 requested_after_sequence = 1; + * @return This builder for chaining. + */ + public Builder clearRequestedAfterSequence() { + bitField0_ = (bitField0_ & ~0x00000001); + requestedAfterSequence_ = 0L; + onChanged(); + return this; + } + + private long oldestAvailableSequence_ ; + /** + *
+       * 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).
+       * 
+ * + * uint64 oldest_available_sequence = 2; + * @return The oldestAvailableSequence. + */ + @java.lang.Override + public long getOldestAvailableSequence() { + return oldestAvailableSequence_; + } + /** + *
+       * 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).
+       * 
+ * + * uint64 oldest_available_sequence = 2; + * @param value The oldestAvailableSequence to set. + * @return This builder for chaining. + */ + public Builder setOldestAvailableSequence(long value) { + + oldestAvailableSequence_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * 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).
+       * 
+ * + * uint64 oldest_available_sequence = 2; + * @return This builder for chaining. + */ + public Builder clearOldestAvailableSequence() { + bitField0_ = (bitField0_ & ~0x00000002); + oldestAvailableSequence_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.ReplayGap) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.ReplayGap) + private static final mxaccess_gateway.v1.MxaccessGateway.ReplayGap DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.ReplayGap(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.ReplayGap getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ReplayGap parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.ReplayGap getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface OnDataChangeEventOrBuilder extends // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.OnDataChangeEvent) com.google.protobuf.MessageOrBuilder { @@ -73779,6 +78205,37 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { * .mxaccess_gateway.v1.MxValue limit_value = 13; */ mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder getLimitValueOrBuilder(); + + /** + *
+     * 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).
+     * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + boolean getDegraded(); + + /** + *
+     * Which provider produced this transition.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + int getSourceProviderValue(); + /** + *
+     * Which provider produced this transition.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider(); } /** *
@@ -73817,6 +78274,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       operatorComment_ = "";
       category_ = "";
       description_ = "";
+      sourceProvider_ = 0;
     }
 
     public static final com.google.protobuf.Descriptors.Descriptor
@@ -74384,6 +78842,49 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       return limitValue_ == null ? mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : limitValue_;
     }
 
+    public static final int DEGRADED_FIELD_NUMBER = 14;
+    private boolean degraded_ = false;
+    /**
+     * 
+     * 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).
+     * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + + public static final int SOURCE_PROVIDER_FIELD_NUMBER = 15; + private int sourceProvider_ = 0; + /** + *
+     * Which provider produced this transition.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + @java.lang.Override public int getSourceProviderValue() { + return sourceProvider_; + } + /** + *
+     * Which provider produced this transition.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(sourceProvider_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -74437,6 +78938,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(13, getLimitValue()); } + if (degraded_ != false) { + output.writeBool(14, degraded_); + } + if (sourceProvider_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + output.writeEnum(15, sourceProvider_); + } getUnknownFields().writeTo(output); } @@ -74491,6 +78998,14 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, getLimitValue()); } + if (degraded_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(14, degraded_); + } + if (sourceProvider_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(15, sourceProvider_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -74543,6 +79058,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getLimitValue() .equals(other.getLimitValue())) return false; } + if (getDegraded() + != other.getDegraded()) return false; + if (sourceProvider_ != other.sourceProvider_) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -74588,6 +79106,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + LIMIT_VALUE_FIELD_NUMBER; hash = (53 * hash) + getLimitValue().hashCode(); } + hash = (37 * hash) + DEGRADED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDegraded()); + hash = (37 * hash) + SOURCE_PROVIDER_FIELD_NUMBER; + hash = (53 * hash) + sourceProvider_; hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -74764,6 +79287,8 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { limitValueBuilder_.dispose(); limitValueBuilder_ = null; } + degraded_ = false; + sourceProvider_ = 0; return this; } @@ -74849,6 +79374,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { : limitValueBuilder_.build(); to_bitField0_ |= 0x00000008; } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.degraded_ = degraded_; + } + if (((from_bitField0_ & 0x00004000) != 0)) { + result.sourceProvider_ = sourceProvider_; + } result.bitField0_ |= to_bitField0_; } @@ -74917,6 +79448,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (other.hasLimitValue()) { mergeLimitValue(other.getLimitValue()); } + if (other.getDegraded() != false) { + setDegraded(other.getDegraded()); + } + if (other.sourceProvider_ != 0) { + setSourceProviderValue(other.getSourceProviderValue()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -75016,6 +79553,16 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00001000; break; } // case 106 + case 112: { + degraded_ = input.readBool(); + bitField0_ |= 0x00002000; + break; + } // case 112 + case 120: { + sourceProvider_ = input.readEnum(); + bitField0_ |= 0x00004000; + break; + } // case 120 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -76501,6 +81048,127 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return limitValueBuilder_; } + private boolean degraded_ ; + /** + *
+       * 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).
+       * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + /** + *
+       * 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).
+       * 
+ * + * bool degraded = 14; + * @param value The degraded to set. + * @return This builder for chaining. + */ + public Builder setDegraded(boolean value) { + + degraded_ = value; + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + *
+       * 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).
+       * 
+ * + * bool degraded = 14; + * @return This builder for chaining. + */ + public Builder clearDegraded() { + bitField0_ = (bitField0_ & ~0x00002000); + degraded_ = false; + onChanged(); + return this; + } + + private int sourceProvider_ = 0; + /** + *
+       * Which provider produced this transition.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + @java.lang.Override public int getSourceProviderValue() { + return sourceProvider_; + } + /** + *
+       * Which provider produced this transition.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @param value The enum numeric value on the wire for sourceProvider to set. + * @return This builder for chaining. + */ + public Builder setSourceProviderValue(int value) { + sourceProvider_ = value; + bitField0_ |= 0x00004000; + onChanged(); + return this; + } + /** + *
+       * Which provider produced this transition.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(sourceProvider_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + /** + *
+       * Which provider produced this transition.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @param value The sourceProvider to set. + * @return This builder for chaining. + */ + public Builder setSourceProvider(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00004000; + sourceProvider_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Which provider produced this transition.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return This builder for chaining. + */ + public Builder clearSourceProvider() { + bitField0_ = (bitField0_ & ~0x00004000); + sourceProvider_ = 0; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.OnAlarmTransitionEvent) } @@ -76552,6 +81220,919 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } + public interface OnAlarmProviderModeChangedEventOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent) + com.google.protobuf.MessageOrBuilder { + + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + int getModeValue(); + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode(); + + /** + * string reason = 2; + * @return The reason. + */ + java.lang.String getReason(); + /** + * string reason = 2; + * @return The bytes for reason. + */ + com.google.protobuf.ByteString + getReasonBytes(); + + /** + *
+     * COM HRESULT that triggered failover; 0 on failback
+     * 
+ * + * int32 hresult = 3; + * @return The hresult. + */ + int getHresult(); + + /** + * .google.protobuf.Timestamp at = 4; + * @return Whether the at field is set. + */ + boolean hasAt(); + /** + * .google.protobuf.Timestamp at = 4; + * @return The at. + */ + com.google.protobuf.Timestamp getAt(); + /** + * .google.protobuf.Timestamp at = 4; + */ + com.google.protobuf.TimestampOrBuilder getAtOrBuilder(); + } + /** + * Protobuf type {@code mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent} + */ + public static final class OnAlarmProviderModeChangedEvent extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent) + OnAlarmProviderModeChangedEventOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "OnAlarmProviderModeChangedEvent"); + } + // Use OnAlarmProviderModeChangedEvent.newBuilder() to construct. + private OnAlarmProviderModeChangedEvent(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private OnAlarmProviderModeChangedEvent() { + mode_ = 0; + reason_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.class, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder.class); + } + + private int bitField0_; + public static final int MODE_FIELD_NUMBER = 1; + private int mode_ = 0; + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + @java.lang.Override public int getModeValue() { + return mode_; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(mode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + + public static final int REASON_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object reason_ = ""; + /** + * string reason = 2; + * @return The reason. + */ + @java.lang.Override + public java.lang.String getReason() { + java.lang.Object ref = reason_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reason_ = s; + return s; + } + } + /** + * string reason = 2; + * @return The bytes for reason. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int HRESULT_FIELD_NUMBER = 3; + private int hresult_ = 0; + /** + *
+     * COM HRESULT that triggered failover; 0 on failback
+     * 
+ * + * int32 hresult = 3; + * @return The hresult. + */ + @java.lang.Override + public int getHresult() { + return hresult_; + } + + public static final int AT_FIELD_NUMBER = 4; + private com.google.protobuf.Timestamp at_; + /** + * .google.protobuf.Timestamp at = 4; + * @return Whether the at field is set. + */ + @java.lang.Override + public boolean hasAt() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .google.protobuf.Timestamp at = 4; + * @return The at. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getAt() { + return at_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : at_; + } + /** + * .google.protobuf.Timestamp at = 4; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getAtOrBuilder() { + return at_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : at_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (mode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, mode_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(reason_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, reason_); + } + if (hresult_ != 0) { + output.writeInt32(3, hresult_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getAt()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (mode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, mode_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(reason_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, reason_); + } + if (hresult_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, hresult_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getAt()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent other = (mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) obj; + + if (mode_ != other.mode_) return false; + if (!getReason() + .equals(other.getReason())) return false; + if (getHresult() + != other.getHresult()) return false; + if (hasAt() != other.hasAt()) return false; + if (hasAt()) { + if (!getAt() + .equals(other.getAt())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + MODE_FIELD_NUMBER; + hash = (53 * hash) + mode_; + hash = (37 * hash) + REASON_FIELD_NUMBER; + hash = (53 * hash) + getReason().hashCode(); + hash = (37 * hash) + HRESULT_FIELD_NUMBER; + hash = (53 * hash) + getHresult(); + if (hasAt()) { + hash = (37 * hash) + AT_FIELD_NUMBER; + hash = (53 * hash) + getAt().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent) + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEventOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.class, mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetAtFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + mode_ = 0; + reason_ = ""; + hresult_ = 0; + at_ = null; + if (atBuilder_ != null) { + atBuilder_.dispose(); + atBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent build() { + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent result = new mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.mode_ = mode_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.reason_ = reason_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.hresult_ = hresult_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.at_ = atBuilder_ == null + ? at_ + : atBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent.getDefaultInstance()) return this; + if (other.mode_ != 0) { + setModeValue(other.getModeValue()); + } + if (!other.getReason().isEmpty()) { + reason_ = other.reason_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getHresult() != 0) { + setHresult(other.getHresult()); + } + if (other.hasAt()) { + mergeAt(other.getAt()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + mode_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + reason_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 24: { + hresult_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 34: { + input.readMessage( + internalGetAtFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int mode_ = 0; + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + @java.lang.Override public int getModeValue() { + return mode_; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @param value The enum numeric value on the wire for mode to set. + * @return This builder for chaining. + */ + public Builder setModeValue(int value) { + mode_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(mode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @param value The mode to set. + * @return This builder for chaining. + */ + public Builder setMode(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + mode_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return This builder for chaining. + */ + public Builder clearMode() { + bitField0_ = (bitField0_ & ~0x00000001); + mode_ = 0; + onChanged(); + return this; + } + + private java.lang.Object reason_ = ""; + /** + * string reason = 2; + * @return The reason. + */ + public java.lang.String getReason() { + java.lang.Object ref = reason_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reason_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string reason = 2; + * @return The bytes for reason. + */ + public com.google.protobuf.ByteString + getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string reason = 2; + * @param value The reason to set. + * @return This builder for chaining. + */ + public Builder setReason( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + reason_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * string reason = 2; + * @return This builder for chaining. + */ + public Builder clearReason() { + reason_ = getDefaultInstance().getReason(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * string reason = 2; + * @param value The bytes for reason to set. + * @return This builder for chaining. + */ + public Builder setReasonBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + reason_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int hresult_ ; + /** + *
+       * COM HRESULT that triggered failover; 0 on failback
+       * 
+ * + * int32 hresult = 3; + * @return The hresult. + */ + @java.lang.Override + public int getHresult() { + return hresult_; + } + /** + *
+       * COM HRESULT that triggered failover; 0 on failback
+       * 
+ * + * int32 hresult = 3; + * @param value The hresult to set. + * @return This builder for chaining. + */ + public Builder setHresult(int value) { + + hresult_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * COM HRESULT that triggered failover; 0 on failback
+       * 
+ * + * int32 hresult = 3; + * @return This builder for chaining. + */ + public Builder clearHresult() { + bitField0_ = (bitField0_ & ~0x00000004); + hresult_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp at_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> atBuilder_; + /** + * .google.protobuf.Timestamp at = 4; + * @return Whether the at field is set. + */ + public boolean hasAt() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * .google.protobuf.Timestamp at = 4; + * @return The at. + */ + public com.google.protobuf.Timestamp getAt() { + if (atBuilder_ == null) { + return at_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : at_; + } else { + return atBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public Builder setAt(com.google.protobuf.Timestamp value) { + if (atBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + at_ = value; + } else { + atBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public Builder setAt( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (atBuilder_ == null) { + at_ = builderForValue.build(); + } else { + atBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public Builder mergeAt(com.google.protobuf.Timestamp value) { + if (atBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + at_ != null && + at_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getAtBuilder().mergeFrom(value); + } else { + at_ = value; + } + } else { + atBuilder_.mergeFrom(value); + } + if (at_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public Builder clearAt() { + bitField0_ = (bitField0_ & ~0x00000008); + at_ = null; + if (atBuilder_ != null) { + atBuilder_.dispose(); + atBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public com.google.protobuf.Timestamp.Builder getAtBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetAtFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Timestamp at = 4; + */ + public com.google.protobuf.TimestampOrBuilder getAtOrBuilder() { + if (atBuilder_ != null) { + return atBuilder_.getMessageOrBuilder(); + } else { + return at_ == null ? + com.google.protobuf.Timestamp.getDefaultInstance() : at_; + } + } + /** + * .google.protobuf.Timestamp at = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + internalGetAtFieldBuilder() { + if (atBuilder_ == null) { + atBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + getAt(), + getParentForChildren(), + isClean()); + at_ = null; + } + return atBuilder_; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.OnAlarmProviderModeChangedEvent) + private static final mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OnAlarmProviderModeChangedEvent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.OnAlarmProviderModeChangedEvent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface ActiveAlarmSnapshotOrBuilder extends // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.ActiveAlarmSnapshot) com.google.protobuf.MessageOrBuilder { @@ -76751,6 +82332,42 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { * .mxaccess_gateway.v1.MxValue limit_value = 13; */ mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder getLimitValueOrBuilder(); + + /** + *
+     * 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.
+     * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + boolean getDegraded(); + + /** + *
+     * Which provider produced this snapshot. Mirrors
+     * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+     * wire (never UNSPECIFIED).
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + int getSourceProviderValue(); + /** + *
+     * Which provider produced this snapshot. Mirrors
+     * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+     * wire (never UNSPECIFIED).
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider(); } /** *
@@ -76787,6 +82404,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       description_ = "";
       operatorUser_ = "";
       operatorComment_ = "";
+      sourceProvider_ = 0;
     }
 
     public static final com.google.protobuf.Descriptors.Descriptor
@@ -77244,6 +82862,54 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile {
       return limitValue_ == null ? mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : limitValue_;
     }
 
+    public static final int DEGRADED_FIELD_NUMBER = 14;
+    private boolean degraded_ = false;
+    /**
+     * 
+     * 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.
+     * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + + public static final int SOURCE_PROVIDER_FIELD_NUMBER = 15; + private int sourceProvider_ = 0; + /** + *
+     * Which provider produced this snapshot. Mirrors
+     * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+     * wire (never UNSPECIFIED).
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + @java.lang.Override public int getSourceProviderValue() { + return sourceProvider_; + } + /** + *
+     * Which provider produced this snapshot. Mirrors
+     * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+     * wire (never UNSPECIFIED).
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(sourceProvider_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -77297,6 +82963,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(13, getLimitValue()); } + if (degraded_ != false) { + output.writeBool(14, degraded_); + } + if (sourceProvider_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + output.writeEnum(15, sourceProvider_); + } getUnknownFields().writeTo(output); } @@ -77351,6 +83023,14 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, getLimitValue()); } + if (degraded_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(14, degraded_); + } + if (sourceProvider_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(15, sourceProvider_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -77403,6 +83083,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getLimitValue() .equals(other.getLimitValue())) return false; } + if (getDegraded() + != other.getDegraded()) return false; + if (sourceProvider_ != other.sourceProvider_) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -77448,6 +83131,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + LIMIT_VALUE_FIELD_NUMBER; hash = (53 * hash) + getLimitValue().hashCode(); } + hash = (37 * hash) + DEGRADED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDegraded()); + hash = (37 * hash) + SOURCE_PROVIDER_FIELD_NUMBER; + hash = (53 * hash) + sourceProvider_; hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -77622,6 +83310,8 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { limitValueBuilder_.dispose(); limitValueBuilder_ = null; } + degraded_ = false; + sourceProvider_ = 0; return this; } @@ -77707,6 +83397,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { : limitValueBuilder_.build(); to_bitField0_ |= 0x00000008; } + if (((from_bitField0_ & 0x00002000) != 0)) { + result.degraded_ = degraded_; + } + if (((from_bitField0_ & 0x00004000) != 0)) { + result.sourceProvider_ = sourceProvider_; + } result.bitField0_ |= to_bitField0_; } @@ -77775,6 +83471,12 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (other.hasLimitValue()) { mergeLimitValue(other.getLimitValue()); } + if (other.getDegraded() != false) { + setDegraded(other.getDegraded()); + } + if (other.sourceProvider_ != 0) { + setSourceProviderValue(other.getSourceProviderValue()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -77874,6 +83576,16 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { bitField0_ |= 0x00001000; break; } // case 106 + case 112: { + degraded_ = input.readBool(); + bitField0_ |= 0x00002000; + break; + } // case 112 + case 120: { + sourceProvider_ = input.readEnum(); + bitField0_ |= 0x00004000; + break; + } // case 120 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -79057,6 +84769,140 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return limitValueBuilder_; } + private boolean degraded_ ; + /** + *
+       * 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.
+       * 
+ * + * bool degraded = 14; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + /** + *
+       * 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.
+       * 
+ * + * bool degraded = 14; + * @param value The degraded to set. + * @return This builder for chaining. + */ + public Builder setDegraded(boolean value) { + + degraded_ = value; + bitField0_ |= 0x00002000; + onChanged(); + return this; + } + /** + *
+       * 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.
+       * 
+ * + * bool degraded = 14; + * @return This builder for chaining. + */ + public Builder clearDegraded() { + bitField0_ = (bitField0_ & ~0x00002000); + degraded_ = false; + onChanged(); + return this; + } + + private int sourceProvider_ = 0; + /** + *
+       * Which provider produced this snapshot. Mirrors
+       * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+       * wire (never UNSPECIFIED).
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The enum numeric value on the wire for sourceProvider. + */ + @java.lang.Override public int getSourceProviderValue() { + return sourceProvider_; + } + /** + *
+       * Which provider produced this snapshot. Mirrors
+       * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+       * wire (never UNSPECIFIED).
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @param value The enum numeric value on the wire for sourceProvider to set. + * @return This builder for chaining. + */ + public Builder setSourceProviderValue(int value) { + sourceProvider_ = value; + bitField0_ |= 0x00004000; + onChanged(); + return this; + } + /** + *
+       * Which provider produced this snapshot. Mirrors
+       * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+       * wire (never UNSPECIFIED).
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return The sourceProvider. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getSourceProvider() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(sourceProvider_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + /** + *
+       * Which provider produced this snapshot. Mirrors
+       * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+       * wire (never UNSPECIFIED).
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @param value The sourceProvider to set. + * @return This builder for chaining. + */ + public Builder setSourceProvider(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00004000; + sourceProvider_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+       * Which provider produced this snapshot. Mirrors
+       * OnAlarmTransitionEvent.source_provider; always ALARMMGR or SUBTAG on the
+       * wire (never UNSPECIFIED).
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderMode source_provider = 15; + * @return This builder for chaining. + */ + public Builder clearSourceProvider() { + bitField0_ = (bitField0_ & ~0x00004000); + sourceProvider_ = 0; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.ActiveAlarmSnapshot) } @@ -82326,6 +88172,36 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { */ mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEventOrBuilder getTransitionOrBuilder(); + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return Whether the providerStatus field is set. + */ + boolean hasProviderStatus(); + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return The providerStatus. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getProviderStatus(); + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder getProviderStatusOrBuilder(); + mxaccess_gateway.v1.MxaccessGateway.AlarmFeedMessage.PayloadCase getPayloadCase(); } /** @@ -82380,6 +88256,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { ACTIVE_ALARM(1), SNAPSHOT_COMPLETE(2), TRANSITION(3), + PROVIDER_STATUS(4), PAYLOAD_NOT_SET(0); private final int value; private PayloadCase(int value) { @@ -82400,6 +88277,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { case 1: return ACTIVE_ALARM; case 2: return SNAPSHOT_COMPLETE; case 3: return TRANSITION; + case 4: return PROVIDER_STATUS; case 0: return PAYLOAD_NOT_SET; default: return null; } @@ -82532,6 +88410,52 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent.getDefaultInstance(); } + public static final int PROVIDER_STATUS_FIELD_NUMBER = 4; + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return Whether the providerStatus field is set. + */ + @java.lang.Override + public boolean hasProviderStatus() { + return payloadCase_ == 4; + } + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return The providerStatus. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getProviderStatus() { + if (payloadCase_ == 4) { + return (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_; + } + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + /** + *
+     * Provider-mode status. Emitted once on stream open and again on every
+     * failover/failback so late joiners learn the current mode immediately.
+     * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder getProviderStatusOrBuilder() { + if (payloadCase_ == 4) { + return (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_; + } + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -82556,6 +88480,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (payloadCase_ == 3) { output.writeMessage(3, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent) payload_); } + if (payloadCase_ == 4) { + output.writeMessage(4, (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_); + } getUnknownFields().writeTo(output); } @@ -82578,6 +88505,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (mxaccess_gateway.v1.MxaccessGateway.OnAlarmTransitionEvent) payload_); } + if (payloadCase_ == 4) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -82607,6 +88538,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getTransition() .equals(other.getTransition())) return false; break; + case 4: + if (!getProviderStatus() + .equals(other.getProviderStatus())) return false; + break; case 0: default: } @@ -82635,6 +88570,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + TRANSITION_FIELD_NUMBER; hash = (53 * hash) + getTransition().hashCode(); break; + case 4: + hash = (37 * hash) + PROVIDER_STATUS_FIELD_NUMBER; + hash = (53 * hash) + getProviderStatus().hashCode(); + break; case 0: default: } @@ -82781,6 +88720,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (transitionBuilder_ != null) { transitionBuilder_.clear(); } + if (providerStatusBuilder_ != null) { + providerStatusBuilder_.clear(); + } payloadCase_ = 0; payload_ = null; return this; @@ -82830,6 +88772,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { transitionBuilder_ != null) { result.payload_ = transitionBuilder_.build(); } + if (payloadCase_ == 4 && + providerStatusBuilder_ != null) { + result.payload_ = providerStatusBuilder_.build(); + } } @java.lang.Override @@ -82857,6 +88803,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { mergeTransition(other.getTransition()); break; } + case PROVIDER_STATUS: { + mergeProviderStatus(other.getProviderStatus()); + break; + } case PAYLOAD_NOT_SET: { break; } @@ -82906,6 +88856,13 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { payloadCase_ = 3; break; } // case 26 + case 34: { + input.readMessage( + internalGetProviderStatusFieldBuilder().getBuilder(), + extensionRegistry); + payloadCase_ = 4; + break; + } // case 34 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -83356,6 +89313,193 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return transitionBuilder_; } + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder> providerStatusBuilder_; + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return Whether the providerStatus field is set. + */ + @java.lang.Override + public boolean hasProviderStatus() { + return payloadCase_ == 4; + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + * @return The providerStatus. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getProviderStatus() { + if (providerStatusBuilder_ == null) { + if (payloadCase_ == 4) { + return (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_; + } + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } else { + if (payloadCase_ == 4) { + return providerStatusBuilder_.getMessage(); + } + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + public Builder setProviderStatus(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus value) { + if (providerStatusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + payload_ = value; + onChanged(); + } else { + providerStatusBuilder_.setMessage(value); + } + payloadCase_ = 4; + return this; + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + public Builder setProviderStatus( + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder builderForValue) { + if (providerStatusBuilder_ == null) { + payload_ = builderForValue.build(); + onChanged(); + } else { + providerStatusBuilder_.setMessage(builderForValue.build()); + } + payloadCase_ = 4; + return this; + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + public Builder mergeProviderStatus(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus value) { + if (providerStatusBuilder_ == null) { + if (payloadCase_ == 4 && + payload_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance()) { + payload_ = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.newBuilder((mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_) + .mergeFrom(value).buildPartial(); + } else { + payload_ = value; + } + onChanged(); + } else { + if (payloadCase_ == 4) { + providerStatusBuilder_.mergeFrom(value); + } else { + providerStatusBuilder_.setMessage(value); + } + } + payloadCase_ = 4; + return this; + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + public Builder clearProviderStatus() { + if (providerStatusBuilder_ == null) { + if (payloadCase_ == 4) { + payloadCase_ = 0; + payload_ = null; + onChanged(); + } + } else { + if (payloadCase_ == 4) { + payloadCase_ = 0; + payload_ = null; + } + providerStatusBuilder_.clear(); + } + return this; + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder getProviderStatusBuilder() { + return internalGetProviderStatusFieldBuilder().getBuilder(); + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder getProviderStatusOrBuilder() { + if ((payloadCase_ == 4) && (providerStatusBuilder_ != null)) { + return providerStatusBuilder_.getMessageOrBuilder(); + } else { + if (payloadCase_ == 4) { + return (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_; + } + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + } + /** + *
+       * Provider-mode status. Emitted once on stream open and again on every
+       * failover/failback so late joiners learn the current mode immediately.
+       * 
+ * + * .mxaccess_gateway.v1.AlarmProviderStatus provider_status = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder> + internalGetProviderStatusFieldBuilder() { + if (providerStatusBuilder_ == null) { + if (!(payloadCase_ == 4)) { + payload_ = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + providerStatusBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder>( + (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) payload_, + getParentForChildren(), + isClean()); + payload_ = null; + } + payloadCase_ = 4; + onChanged(); + return providerStatusBuilder_; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.AlarmFeedMessage) } @@ -83407,6 +89551,956 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } + public interface AlarmProviderStatusOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.AlarmProviderStatus) + com.google.protobuf.MessageOrBuilder { + + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + int getModeValue(); + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode(); + + /** + *
+     * true whenever mode == SUBTAG
+     * 
+ * + * bool degraded = 2; + * @return The degraded. + */ + boolean getDegraded(); + + /** + *
+     * human-readable switch reason
+     * 
+ * + * string reason = 3; + * @return The reason. + */ + java.lang.String getReason(); + /** + *
+     * human-readable switch reason
+     * 
+ * + * string reason = 3; + * @return The bytes for reason. + */ + com.google.protobuf.ByteString + getReasonBytes(); + + /** + * .google.protobuf.Timestamp since = 4; + * @return Whether the since field is set. + */ + boolean hasSince(); + /** + * .google.protobuf.Timestamp since = 4; + * @return The since. + */ + com.google.protobuf.Timestamp getSince(); + /** + * .google.protobuf.Timestamp since = 4; + */ + com.google.protobuf.TimestampOrBuilder getSinceOrBuilder(); + } + /** + * Protobuf type {@code mxaccess_gateway.v1.AlarmProviderStatus} + */ + public static final class AlarmProviderStatus extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.AlarmProviderStatus) + AlarmProviderStatusOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "AlarmProviderStatus"); + } + // Use AlarmProviderStatus.newBuilder() to construct. + private AlarmProviderStatus(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private AlarmProviderStatus() { + mode_ = 0; + reason_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmProviderStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.class, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder.class); + } + + private int bitField0_; + public static final int MODE_FIELD_NUMBER = 1; + private int mode_ = 0; + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + @java.lang.Override public int getModeValue() { + return mode_; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(mode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + + public static final int DEGRADED_FIELD_NUMBER = 2; + private boolean degraded_ = false; + /** + *
+     * true whenever mode == SUBTAG
+     * 
+ * + * bool degraded = 2; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + + public static final int REASON_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private volatile java.lang.Object reason_ = ""; + /** + *
+     * human-readable switch reason
+     * 
+ * + * string reason = 3; + * @return The reason. + */ + @java.lang.Override + public java.lang.String getReason() { + java.lang.Object ref = reason_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reason_ = s; + return s; + } + } + /** + *
+     * human-readable switch reason
+     * 
+ * + * string reason = 3; + * @return The bytes for reason. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SINCE_FIELD_NUMBER = 4; + private com.google.protobuf.Timestamp since_; + /** + * .google.protobuf.Timestamp since = 4; + * @return Whether the since field is set. + */ + @java.lang.Override + public boolean hasSince() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * .google.protobuf.Timestamp since = 4; + * @return The since. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getSince() { + return since_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : since_; + } + /** + * .google.protobuf.Timestamp since = 4; + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getSinceOrBuilder() { + return since_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : since_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (mode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, mode_); + } + if (degraded_ != false) { + output.writeBool(2, degraded_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(reason_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, reason_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getSince()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (mode_ != mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.ALARM_PROVIDER_MODE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, mode_); + } + if (degraded_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, degraded_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(reason_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, reason_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, getSince()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus other = (mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) obj; + + if (mode_ != other.mode_) return false; + if (getDegraded() + != other.getDegraded()) return false; + if (!getReason() + .equals(other.getReason())) return false; + if (hasSince() != other.hasSince()) return false; + if (hasSince()) { + if (!getSince() + .equals(other.getSince())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + MODE_FIELD_NUMBER; + hash = (53 * hash) + mode_; + hash = (37 * hash) + DEGRADED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDegraded()); + hash = (37 * hash) + REASON_FIELD_NUMBER; + hash = (53 * hash) + getReason().hashCode(); + if (hasSince()) { + hash = (37 * hash) + SINCE_FIELD_NUMBER; + hash = (53 * hash) + getSince().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code mxaccess_gateway.v1.AlarmProviderStatus} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.AlarmProviderStatus) + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatusOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmProviderStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.class, mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetSinceFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + mode_ = 0; + degraded_ = false; + reason_ = ""; + since_ = null; + if (sinceBuilder_ != null) { + sinceBuilder_.dispose(); + sinceBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus build() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus result = new mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.mode_ = mode_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.degraded_ = degraded_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.reason_ = reason_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.since_ = sinceBuilder_ == null + ? since_ + : sinceBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus.getDefaultInstance()) return this; + if (other.mode_ != 0) { + setModeValue(other.getModeValue()); + } + if (other.getDegraded() != false) { + setDegraded(other.getDegraded()); + } + if (!other.getReason().isEmpty()) { + reason_ = other.reason_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.hasSince()) { + mergeSince(other.getSince()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + mode_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + degraded_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: { + reason_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: { + input.readMessage( + internalGetSinceFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int mode_ = 0; + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The enum numeric value on the wire for mode. + */ + @java.lang.Override public int getModeValue() { + return mode_; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @param value The enum numeric value on the wire for mode to set. + * @return This builder for chaining. + */ + public Builder setModeValue(int value) { + mode_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return The mode. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode getMode() { + mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode result = mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.forNumber(mode_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode.UNRECOGNIZED : result; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @param value The mode to set. + * @return This builder for chaining. + */ + public Builder setMode(mxaccess_gateway.v1.MxaccessGateway.AlarmProviderMode value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + mode_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.AlarmProviderMode mode = 1; + * @return This builder for chaining. + */ + public Builder clearMode() { + bitField0_ = (bitField0_ & ~0x00000001); + mode_ = 0; + onChanged(); + return this; + } + + private boolean degraded_ ; + /** + *
+       * true whenever mode == SUBTAG
+       * 
+ * + * bool degraded = 2; + * @return The degraded. + */ + @java.lang.Override + public boolean getDegraded() { + return degraded_; + } + /** + *
+       * true whenever mode == SUBTAG
+       * 
+ * + * bool degraded = 2; + * @param value The degraded to set. + * @return This builder for chaining. + */ + public Builder setDegraded(boolean value) { + + degraded_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * true whenever mode == SUBTAG
+       * 
+ * + * bool degraded = 2; + * @return This builder for chaining. + */ + public Builder clearDegraded() { + bitField0_ = (bitField0_ & ~0x00000002); + degraded_ = false; + onChanged(); + return this; + } + + private java.lang.Object reason_ = ""; + /** + *
+       * human-readable switch reason
+       * 
+ * + * string reason = 3; + * @return The reason. + */ + public java.lang.String getReason() { + java.lang.Object ref = reason_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reason_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+       * human-readable switch reason
+       * 
+ * + * string reason = 3; + * @return The bytes for reason. + */ + public com.google.protobuf.ByteString + getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+       * human-readable switch reason
+       * 
+ * + * string reason = 3; + * @param value The reason to set. + * @return This builder for chaining. + */ + public Builder setReason( + java.lang.String value) { + if (value == null) { throw new NullPointerException(); } + reason_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + *
+       * human-readable switch reason
+       * 
+ * + * string reason = 3; + * @return This builder for chaining. + */ + public Builder clearReason() { + reason_ = getDefaultInstance().getReason(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + *
+       * human-readable switch reason
+       * 
+ * + * string reason = 3; + * @param value The bytes for reason to set. + * @return This builder for chaining. + */ + public Builder setReasonBytes( + com.google.protobuf.ByteString value) { + if (value == null) { throw new NullPointerException(); } + checkByteStringIsUtf8(value); + reason_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp since_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> sinceBuilder_; + /** + * .google.protobuf.Timestamp since = 4; + * @return Whether the since field is set. + */ + public boolean hasSince() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * .google.protobuf.Timestamp since = 4; + * @return The since. + */ + public com.google.protobuf.Timestamp getSince() { + if (sinceBuilder_ == null) { + return since_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : since_; + } else { + return sinceBuilder_.getMessage(); + } + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public Builder setSince(com.google.protobuf.Timestamp value) { + if (sinceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + since_ = value; + } else { + sinceBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public Builder setSince( + com.google.protobuf.Timestamp.Builder builderForValue) { + if (sinceBuilder_ == null) { + since_ = builderForValue.build(); + } else { + sinceBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public Builder mergeSince(com.google.protobuf.Timestamp value) { + if (sinceBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) && + since_ != null && + since_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getSinceBuilder().mergeFrom(value); + } else { + since_ = value; + } + } else { + sinceBuilder_.mergeFrom(value); + } + if (since_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public Builder clearSince() { + bitField0_ = (bitField0_ & ~0x00000008); + since_ = null; + if (sinceBuilder_ != null) { + sinceBuilder_.dispose(); + sinceBuilder_ = null; + } + onChanged(); + return this; + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public com.google.protobuf.Timestamp.Builder getSinceBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return internalGetSinceFieldBuilder().getBuilder(); + } + /** + * .google.protobuf.Timestamp since = 4; + */ + public com.google.protobuf.TimestampOrBuilder getSinceOrBuilder() { + if (sinceBuilder_ != null) { + return sinceBuilder_.getMessageOrBuilder(); + } else { + return since_ == null ? + com.google.protobuf.Timestamp.getDefaultInstance() : since_; + } + } + /** + * .google.protobuf.Timestamp since = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> + internalGetSinceFieldBuilder() { + if (sinceBuilder_ == null) { + sinceBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>( + getSince(), + getParentForChildren(), + isClean()); + since_ = null; + } + return sinceBuilder_; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.AlarmProviderStatus) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.AlarmProviderStatus) + private static final mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AlarmProviderStatus parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.AlarmProviderStatus getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface MxStatusProxyOrBuilder extends // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.MxStatusProxy) com.google.protobuf.MessageOrBuilder { @@ -84635,6 +91729,21 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { */ com.google.protobuf.ByteString getRawValue(); + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return Whether the sparseArrayValue field is set. + */ + boolean hasSparseArrayValue(); + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return The sparseArrayValue. + */ + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getSparseArrayValue(); + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder getSparseArrayValueOrBuilder(); + mxaccess_gateway.v1.MxaccessGateway.MxValue.KindCase getKindCase(); } /** @@ -84692,6 +91801,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { TIMESTAMP_VALUE(16), ARRAY_VALUE(17), RAW_VALUE(18), + SPARSE_ARRAY_VALUE(19), KIND_NOT_SET(0); private final int value; private KindCase(int value) { @@ -84718,6 +91828,7 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { case 16: return TIMESTAMP_VALUE; case 17: return ARRAY_VALUE; case 18: return RAW_VALUE; + case 19: return SPARSE_ARRAY_VALUE; case 0: return KIND_NOT_SET; default: return null; } @@ -85091,6 +92202,37 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return com.google.protobuf.ByteString.EMPTY; } + public static final int SPARSE_ARRAY_VALUE_FIELD_NUMBER = 19; + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return Whether the sparseArrayValue field is set. + */ + @java.lang.Override + public boolean hasSparseArrayValue() { + return kindCase_ == 19; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return The sparseArrayValue. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getSparseArrayValue() { + if (kindCase_ == 19) { + return (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_; + } + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder getSparseArrayValueOrBuilder() { + if (kindCase_ == 19) { + return (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_; + } + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { @@ -85153,6 +92295,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { output.writeBytes( 18, (com.google.protobuf.ByteString) kind_); } + if (kindCase_ == 19) { + output.writeMessage(19, (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_); + } getUnknownFields().writeTo(output); } @@ -85221,6 +92366,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { .computeBytesSize( 18, (com.google.protobuf.ByteString) kind_); } + if (kindCase_ == 19) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(19, (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -85285,6 +92434,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (!getRawValue() .equals(other.getRawValue())) return false; break; + case 19: + if (!getSparseArrayValue() + .equals(other.getSparseArrayValue())) return false; + break; case 0: default: } @@ -85351,6 +92504,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { hash = (37 * hash) + RAW_VALUE_FIELD_NUMBER; hash = (53 * hash) + getRawValue().hashCode(); break; + case 19: + hash = (37 * hash) + SPARSE_ARRAY_VALUE_FIELD_NUMBER; + hash = (53 * hash) + getSparseArrayValue().hashCode(); + break; case 0: default: } @@ -85496,6 +92653,9 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { if (arrayValueBuilder_ != null) { arrayValueBuilder_.clear(); } + if (sparseArrayValueBuilder_ != null) { + sparseArrayValueBuilder_.clear(); + } kindCase_ = 0; kind_ = null; return this; @@ -85560,6 +92720,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { arrayValueBuilder_ != null) { result.kind_ = arrayValueBuilder_.build(); } + if (kindCase_ == 19 && + sparseArrayValueBuilder_ != null) { + result.kind_ = sparseArrayValueBuilder_.build(); + } } @java.lang.Override @@ -85632,6 +92796,10 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { setRawValue(other.getRawValue()); break; } + case SPARSE_ARRAY_VALUE: { + mergeSparseArrayValue(other.getSparseArrayValue()); + break; + } case KIND_NOT_SET: { break; } @@ -85737,6 +92905,13 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { kindCase_ = 18; break; } // case 146 + case 154: { + input.readMessage( + internalGetSparseArrayValueFieldBuilder().getBuilder(), + extensionRegistry); + kindCase_ = 19; + break; + } // case 154 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -86657,6 +93832,148 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { return this; } + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray, mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder> sparseArrayValueBuilder_; + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return Whether the sparseArrayValue field is set. + */ + @java.lang.Override + public boolean hasSparseArrayValue() { + return kindCase_ == 19; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + * @return The sparseArrayValue. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getSparseArrayValue() { + if (sparseArrayValueBuilder_ == null) { + if (kindCase_ == 19) { + return (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_; + } + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } else { + if (kindCase_ == 19) { + return sparseArrayValueBuilder_.getMessage(); + } + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + public Builder setSparseArrayValue(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray value) { + if (sparseArrayValueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + kind_ = value; + onChanged(); + } else { + sparseArrayValueBuilder_.setMessage(value); + } + kindCase_ = 19; + return this; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + public Builder setSparseArrayValue( + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder builderForValue) { + if (sparseArrayValueBuilder_ == null) { + kind_ = builderForValue.build(); + onChanged(); + } else { + sparseArrayValueBuilder_.setMessage(builderForValue.build()); + } + kindCase_ = 19; + return this; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + public Builder mergeSparseArrayValue(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray value) { + if (sparseArrayValueBuilder_ == null) { + if (kindCase_ == 19 && + kind_ != mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance()) { + kind_ = mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.newBuilder((mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_) + .mergeFrom(value).buildPartial(); + } else { + kind_ = value; + } + onChanged(); + } else { + if (kindCase_ == 19) { + sparseArrayValueBuilder_.mergeFrom(value); + } else { + sparseArrayValueBuilder_.setMessage(value); + } + } + kindCase_ = 19; + return this; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + public Builder clearSparseArrayValue() { + if (sparseArrayValueBuilder_ == null) { + if (kindCase_ == 19) { + kindCase_ = 0; + kind_ = null; + onChanged(); + } + } else { + if (kindCase_ == 19) { + kindCase_ = 0; + kind_ = null; + } + sparseArrayValueBuilder_.clear(); + } + return this; + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder getSparseArrayValueBuilder() { + return internalGetSparseArrayValueFieldBuilder().getBuilder(); + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder getSparseArrayValueOrBuilder() { + if ((kindCase_ == 19) && (sparseArrayValueBuilder_ != null)) { + return sparseArrayValueBuilder_.getMessageOrBuilder(); + } else { + if (kindCase_ == 19) { + return (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_; + } + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + } + /** + * .mxaccess_gateway.v1.MxSparseArray sparse_array_value = 19; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray, mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder> + internalGetSparseArrayValueFieldBuilder() { + if (sparseArrayValueBuilder_ == null) { + if (!(kindCase_ == 19)) { + kind_ = mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + sparseArrayValueBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray, mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder>( + (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) kind_, + getParentForChildren(), + isClean()); + kind_ = null; + } + kindCase_ = 19; + onChanged(); + return sparseArrayValueBuilder_; + } + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.MxValue) } @@ -89594,6 +96911,1637 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { } + public interface MxSparseArrayOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.MxSparseArray) + com.google.protobuf.MessageOrBuilder { + + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The enum numeric value on the wire for elementDataType. + */ + int getElementDataTypeValue(); + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The elementDataType. + */ + mxaccess_gateway.v1.MxaccessGateway.MxDataType getElementDataType(); + + /** + * uint32 total_length = 2; + * @return The totalLength. + */ + int getTotalLength(); + + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + java.util.List + getElementsList(); + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getElements(int index); + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + int getElementsCount(); + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + java.util.List + getElementsOrBuilderList(); + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder getElementsOrBuilder( + int index); + } + /** + *
+   * 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).
+   * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.MxSparseArray} + */ + public static final class MxSparseArray extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.MxSparseArray) + MxSparseArrayOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "MxSparseArray"); + } + // Use MxSparseArray.newBuilder() to construct. + private MxSparseArray(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private MxSparseArray() { + elementDataType_ = 0; + elements_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseArray_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.class, mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder.class); + } + + public static final int ELEMENT_DATA_TYPE_FIELD_NUMBER = 1; + private int elementDataType_ = 0; + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The enum numeric value on the wire for elementDataType. + */ + @java.lang.Override public int getElementDataTypeValue() { + return elementDataType_; + } + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The elementDataType. + */ + @java.lang.Override public mxaccess_gateway.v1.MxaccessGateway.MxDataType getElementDataType() { + mxaccess_gateway.v1.MxaccessGateway.MxDataType result = mxaccess_gateway.v1.MxaccessGateway.MxDataType.forNumber(elementDataType_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.MxDataType.UNRECOGNIZED : result; + } + + public static final int TOTAL_LENGTH_FIELD_NUMBER = 2; + private int totalLength_ = 0; + /** + * uint32 total_length = 2; + * @return The totalLength. + */ + @java.lang.Override + public int getTotalLength() { + return totalLength_; + } + + public static final int ELEMENTS_FIELD_NUMBER = 3; + @SuppressWarnings("serial") + private java.util.List elements_; + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + @java.lang.Override + public java.util.List getElementsList() { + return elements_; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + @java.lang.Override + public java.util.List + getElementsOrBuilderList() { + return elements_; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + @java.lang.Override + public int getElementsCount() { + return elements_.size(); + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getElements(int index) { + return elements_.get(index); + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder getElementsOrBuilder( + int index) { + return elements_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (elementDataType_ != mxaccess_gateway.v1.MxaccessGateway.MxDataType.MX_DATA_TYPE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, elementDataType_); + } + if (totalLength_ != 0) { + output.writeUInt32(2, totalLength_); + } + for (int i = 0; i < elements_.size(); i++) { + output.writeMessage(3, elements_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (elementDataType_ != mxaccess_gateway.v1.MxaccessGateway.MxDataType.MX_DATA_TYPE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, elementDataType_); + } + if (totalLength_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, totalLength_); + } + for (int i = 0; i < elements_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, elements_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.MxSparseArray)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray other = (mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) obj; + + if (elementDataType_ != other.elementDataType_) return false; + if (getTotalLength() + != other.getTotalLength()) return false; + if (!getElementsList() + .equals(other.getElementsList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ELEMENT_DATA_TYPE_FIELD_NUMBER; + hash = (53 * hash) + elementDataType_; + hash = (37 * hash) + TOTAL_LENGTH_FIELD_NUMBER; + hash = (53 * hash) + getTotalLength(); + if (getElementsCount() > 0) { + hash = (37 * hash) + ELEMENTS_FIELD_NUMBER; + hash = (53 * hash) + getElementsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * 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).
+     * 
+ * + * Protobuf type {@code mxaccess_gateway.v1.MxSparseArray} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.MxSparseArray) + mxaccess_gateway.v1.MxaccessGateway.MxSparseArrayOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseArray_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.class, mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.newBuilder() + private Builder() { + + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + elementDataType_ = 0; + totalLength_ = 0; + if (elementsBuilder_ == null) { + elements_ = java.util.Collections.emptyList(); + } else { + elements_ = null; + elementsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray build() { + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.MxSparseArray result = new mxaccess_gateway.v1.MxaccessGateway.MxSparseArray(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray result) { + if (elementsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + elements_ = java.util.Collections.unmodifiableList(elements_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.elements_ = elements_; + } else { + result.elements_ = elementsBuilder_.build(); + } + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.elementDataType_ = elementDataType_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.totalLength_ = totalLength_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.MxSparseArray) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.MxSparseArray)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.MxSparseArray other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.MxSparseArray.getDefaultInstance()) return this; + if (other.elementDataType_ != 0) { + setElementDataTypeValue(other.getElementDataTypeValue()); + } + if (other.getTotalLength() != 0) { + setTotalLength(other.getTotalLength()); + } + if (elementsBuilder_ == null) { + if (!other.elements_.isEmpty()) { + if (elements_.isEmpty()) { + elements_ = other.elements_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureElementsIsMutable(); + elements_.addAll(other.elements_); + } + onChanged(); + } + } else { + if (!other.elements_.isEmpty()) { + if (elementsBuilder_.isEmpty()) { + elementsBuilder_.dispose(); + elementsBuilder_ = null; + elements_ = other.elements_; + bitField0_ = (bitField0_ & ~0x00000004); + elementsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + internalGetElementsFieldBuilder() : null; + } else { + elementsBuilder_.addAllMessages(other.elements_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + elementDataType_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 16: { + totalLength_ = input.readUInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: { + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement m = + input.readMessage( + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.parser(), + extensionRegistry); + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + elements_.add(m); + } else { + elementsBuilder_.addMessage(m); + } + break; + } // case 26 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int elementDataType_ = 0; + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The enum numeric value on the wire for elementDataType. + */ + @java.lang.Override public int getElementDataTypeValue() { + return elementDataType_; + } + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @param value The enum numeric value on the wire for elementDataType to set. + * @return This builder for chaining. + */ + public Builder setElementDataTypeValue(int value) { + elementDataType_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return The elementDataType. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxDataType getElementDataType() { + mxaccess_gateway.v1.MxaccessGateway.MxDataType result = mxaccess_gateway.v1.MxaccessGateway.MxDataType.forNumber(elementDataType_); + return result == null ? mxaccess_gateway.v1.MxaccessGateway.MxDataType.UNRECOGNIZED : result; + } + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @param value The elementDataType to set. + * @return This builder for chaining. + */ + public Builder setElementDataType(mxaccess_gateway.v1.MxaccessGateway.MxDataType value) { + if (value == null) { throw new NullPointerException(); } + bitField0_ |= 0x00000001; + elementDataType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .mxaccess_gateway.v1.MxDataType element_data_type = 1; + * @return This builder for chaining. + */ + public Builder clearElementDataType() { + bitField0_ = (bitField0_ & ~0x00000001); + elementDataType_ = 0; + onChanged(); + return this; + } + + private int totalLength_ ; + /** + * uint32 total_length = 2; + * @return The totalLength. + */ + @java.lang.Override + public int getTotalLength() { + return totalLength_; + } + /** + * uint32 total_length = 2; + * @param value The totalLength to set. + * @return This builder for chaining. + */ + public Builder setTotalLength(int value) { + + totalLength_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * uint32 total_length = 2; + * @return This builder for chaining. + */ + public Builder clearTotalLength() { + bitField0_ = (bitField0_ & ~0x00000002); + totalLength_ = 0; + onChanged(); + return this; + } + + private java.util.List elements_ = + java.util.Collections.emptyList(); + private void ensureElementsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + elements_ = new java.util.ArrayList(elements_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder> elementsBuilder_; + + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public java.util.List getElementsList() { + if (elementsBuilder_ == null) { + return java.util.Collections.unmodifiableList(elements_); + } else { + return elementsBuilder_.getMessageList(); + } + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public int getElementsCount() { + if (elementsBuilder_ == null) { + return elements_.size(); + } else { + return elementsBuilder_.getCount(); + } + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getElements(int index) { + if (elementsBuilder_ == null) { + return elements_.get(index); + } else { + return elementsBuilder_.getMessage(index); + } + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder setElements( + int index, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement value) { + if (elementsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureElementsIsMutable(); + elements_.set(index, value); + onChanged(); + } else { + elementsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder setElements( + int index, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder builderForValue) { + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + elements_.set(index, builderForValue.build()); + onChanged(); + } else { + elementsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder addElements(mxaccess_gateway.v1.MxaccessGateway.MxSparseElement value) { + if (elementsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureElementsIsMutable(); + elements_.add(value); + onChanged(); + } else { + elementsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder addElements( + int index, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement value) { + if (elementsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureElementsIsMutable(); + elements_.add(index, value); + onChanged(); + } else { + elementsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder addElements( + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder builderForValue) { + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + elements_.add(builderForValue.build()); + onChanged(); + } else { + elementsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder addElements( + int index, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder builderForValue) { + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + elements_.add(index, builderForValue.build()); + onChanged(); + } else { + elementsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder addAllElements( + java.lang.Iterable values) { + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, elements_); + onChanged(); + } else { + elementsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder clearElements() { + if (elementsBuilder_ == null) { + elements_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + elementsBuilder_.clear(); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public Builder removeElements(int index) { + if (elementsBuilder_ == null) { + ensureElementsIsMutable(); + elements_.remove(index); + onChanged(); + } else { + elementsBuilder_.remove(index); + } + return this; + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder getElementsBuilder( + int index) { + return internalGetElementsFieldBuilder().getBuilder(index); + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder getElementsOrBuilder( + int index) { + if (elementsBuilder_ == null) { + return elements_.get(index); } else { + return elementsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public java.util.List + getElementsOrBuilderList() { + if (elementsBuilder_ != null) { + return elementsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(elements_); + } + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder addElementsBuilder() { + return internalGetElementsFieldBuilder().addBuilder( + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.getDefaultInstance()); + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder addElementsBuilder( + int index) { + return internalGetElementsFieldBuilder().addBuilder( + index, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.getDefaultInstance()); + } + /** + * repeated .mxaccess_gateway.v1.MxSparseElement elements = 3; + */ + public java.util.List + getElementsBuilderList() { + return internalGetElementsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder> + internalGetElementsFieldBuilder() { + if (elementsBuilder_ == null) { + elementsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder, mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder>( + elements_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + elements_ = null; + } + return elementsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.MxSparseArray) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.MxSparseArray) + private static final mxaccess_gateway.v1.MxaccessGateway.MxSparseArray DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.MxSparseArray(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MxSparseArray parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseArray getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface MxSparseElementOrBuilder extends + // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.MxSparseElement) + com.google.protobuf.MessageOrBuilder { + + /** + * uint32 index = 1; + * @return The index. + */ + int getIndex(); + + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return Whether the value field is set. + */ + boolean hasValue(); + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return The value. + */ + mxaccess_gateway.v1.MxaccessGateway.MxValue getValue(); + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder getValueOrBuilder(); + } + /** + * Protobuf type {@code mxaccess_gateway.v1.MxSparseElement} + */ + public static final class MxSparseElement extends + com.google.protobuf.GeneratedMessage implements + // @@protoc_insertion_point(message_implements:mxaccess_gateway.v1.MxSparseElement) + MxSparseElementOrBuilder { + private static final long serialVersionUID = 0L; + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 1, + /* suffix= */ "", + "MxSparseElement"); + } + // Use MxSparseElement.newBuilder() to construct. + private MxSparseElement(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + private MxSparseElement() { + } + + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseElement_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.class, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder.class); + } + + private int bitField0_; + public static final int INDEX_FIELD_NUMBER = 1; + private int index_ = 0; + /** + * uint32 index = 1; + * @return The index. + */ + @java.lang.Override + public int getIndex() { + return index_; + } + + public static final int VALUE_FIELD_NUMBER = 2; + private mxaccess_gateway.v1.MxaccessGateway.MxValue value_; + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return Whether the value field is set. + */ + @java.lang.Override + public boolean hasValue() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return The value. + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxValue getValue() { + return value_ == null ? mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : value_; + } + /** + *
+     * scalar
+     * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder getValueOrBuilder() { + return value_ == null ? mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : value_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (index_ != 0) { + output.writeUInt32(1, index_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getValue()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (index_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, index_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getValue()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof mxaccess_gateway.v1.MxaccessGateway.MxSparseElement)) { + return super.equals(obj); + } + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement other = (mxaccess_gateway.v1.MxaccessGateway.MxSparseElement) obj; + + if (getIndex() + != other.getIndex()) return false; + if (hasValue() != other.hasValue()) return false; + if (hasValue()) { + if (!getValue() + .equals(other.getValue())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + INDEX_FIELD_NUMBER; + hash = (53 * hash) + getIndex(); + if (hasValue()) { + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input); + } + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(mxaccess_gateway.v1.MxaccessGateway.MxSparseElement prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code mxaccess_gateway.v1.MxSparseElement} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder implements + // @@protoc_insertion_point(builder_implements:mxaccess_gateway.v1.MxSparseElement) + mxaccess_gateway.v1.MxaccessGateway.MxSparseElementOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseElement_fieldAccessorTable + .ensureFieldAccessorsInitialized( + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.class, mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.Builder.class); + } + + // Construct using mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage + .alwaysUseFieldBuilders) { + internalGetValueFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + index_ = 0; + value_ = null; + if (valueBuilder_ != null) { + valueBuilder_.dispose(); + valueBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return mxaccess_gateway.v1.MxaccessGateway.internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getDefaultInstanceForType() { + return mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.getDefaultInstance(); + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement build() { + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement buildPartial() { + mxaccess_gateway.v1.MxaccessGateway.MxSparseElement result = new mxaccess_gateway.v1.MxaccessGateway.MxSparseElement(this); + if (bitField0_ != 0) { buildPartial0(result); } + onBuilt(); + return result; + } + + private void buildPartial0(mxaccess_gateway.v1.MxaccessGateway.MxSparseElement result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.index_ = index_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.value_ = valueBuilder_ == null + ? value_ + : valueBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof mxaccess_gateway.v1.MxaccessGateway.MxSparseElement) { + return mergeFrom((mxaccess_gateway.v1.MxaccessGateway.MxSparseElement)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(mxaccess_gateway.v1.MxaccessGateway.MxSparseElement other) { + if (other == mxaccess_gateway.v1.MxaccessGateway.MxSparseElement.getDefaultInstance()) return this; + if (other.getIndex() != 0) { + setIndex(other.getIndex()); + } + if (other.hasValue()) { + mergeValue(other.getValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + index_ = input.readUInt32(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: { + input.readMessage( + internalGetValueFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + private int bitField0_; + + private int index_ ; + /** + * uint32 index = 1; + * @return The index. + */ + @java.lang.Override + public int getIndex() { + return index_; + } + /** + * uint32 index = 1; + * @param value The index to set. + * @return This builder for chaining. + */ + public Builder setIndex(int value) { + + index_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * uint32 index = 1; + * @return This builder for chaining. + */ + public Builder clearIndex() { + bitField0_ = (bitField0_ & ~0x00000001); + index_ = 0; + onChanged(); + return this; + } + + private mxaccess_gateway.v1.MxaccessGateway.MxValue value_; + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxValue, mxaccess_gateway.v1.MxaccessGateway.MxValue.Builder, mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder> valueBuilder_; + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return Whether the value field is set. + */ + public boolean hasValue() { + return ((bitField0_ & 0x00000002) != 0); + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + * @return The value. + */ + public mxaccess_gateway.v1.MxaccessGateway.MxValue getValue() { + if (valueBuilder_ == null) { + return value_ == null ? mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : value_; + } else { + return valueBuilder_.getMessage(); + } + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public Builder setValue(mxaccess_gateway.v1.MxaccessGateway.MxValue value) { + if (valueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + } else { + valueBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public Builder setValue( + mxaccess_gateway.v1.MxaccessGateway.MxValue.Builder builderForValue) { + if (valueBuilder_ == null) { + value_ = builderForValue.build(); + } else { + valueBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public Builder mergeValue(mxaccess_gateway.v1.MxaccessGateway.MxValue value) { + if (valueBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && + value_ != null && + value_ != mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance()) { + getValueBuilder().mergeFrom(value); + } else { + value_ = value; + } + } else { + valueBuilder_.mergeFrom(value); + } + if (value_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public Builder clearValue() { + bitField0_ = (bitField0_ & ~0x00000002); + value_ = null; + if (valueBuilder_ != null) { + valueBuilder_.dispose(); + valueBuilder_ = null; + } + onChanged(); + return this; + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxValue.Builder getValueBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetValueFieldBuilder().getBuilder(); + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + public mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder getValueOrBuilder() { + if (valueBuilder_ != null) { + return valueBuilder_.getMessageOrBuilder(); + } else { + return value_ == null ? + mxaccess_gateway.v1.MxaccessGateway.MxValue.getDefaultInstance() : value_; + } + } + /** + *
+       * scalar
+       * 
+ * + * .mxaccess_gateway.v1.MxValue value = 2; + */ + private com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxValue, mxaccess_gateway.v1.MxaccessGateway.MxValue.Builder, mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder> + internalGetValueFieldBuilder() { + if (valueBuilder_ == null) { + valueBuilder_ = new com.google.protobuf.SingleFieldBuilder< + mxaccess_gateway.v1.MxaccessGateway.MxValue, mxaccess_gateway.v1.MxaccessGateway.MxValue.Builder, mxaccess_gateway.v1.MxaccessGateway.MxValueOrBuilder>( + getValue(), + getParentForChildren(), + isClean()); + value_ = null; + } + return valueBuilder_; + } + + // @@protoc_insertion_point(builder_scope:mxaccess_gateway.v1.MxSparseElement) + } + + // @@protoc_insertion_point(class_scope:mxaccess_gateway.v1.MxSparseElement) + private static final mxaccess_gateway.v1.MxaccessGateway.MxSparseElement DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new mxaccess_gateway.v1.MxaccessGateway.MxSparseElement(); + } + + public static mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MxSparseElement parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public mxaccess_gateway.v1.MxaccessGateway.MxSparseElement getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + public interface BoolArrayOrBuilder extends // @@protoc_insertion_point(interface_extends:mxaccess_gateway.v1.BoolArray) com.google.protobuf.MessageOrBuilder { @@ -95003,6 +103951,16 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_mxaccess_gateway_v1_UnsubscribeAlarmsCommand_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_mxaccess_gateway_v1_AcknowledgeAlarmCommand_descriptor; private static final @@ -95198,6 +104156,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_mxaccess_gateway_v1_MxEvent_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_ReplayGap_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_ReplayGap_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_mxaccess_gateway_v1_OnDataChangeEvent_descriptor; private static final @@ -95223,6 +104186,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_mxaccess_gateway_v1_OnAlarmTransitionEvent_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_descriptor; private static final @@ -95248,6 +104216,11 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_mxaccess_gateway_v1_AlarmFeedMessage_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_AlarmProviderStatus_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_mxaccess_gateway_v1_MxStatusProxy_descriptor; private static final @@ -95263,6 +104236,16 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_mxaccess_gateway_v1_MxArray_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_MxSparseArray_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor; + private static final + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_mxaccess_gateway_v1_MxSparseElement_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_mxaccess_gateway_v1_BoolArray_descriptor; private static final @@ -95464,198 +104447,225 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { "eItemBulkCommand\022\025\n\rserver_handle\030\001 \001(\005\022" + "\024\n\014item_handles\030\002 \003(\005\"D\n\024SubscribeBulkCo" + "mmand\022\025\n\rserver_handle\030\001 \001(\005\022\025\n\rtag_addr" + - "esses\030\002 \003(\t\"9\n\026SubscribeAlarmsCommand\022\037\n" + - "\027subscription_expression\030\001 \001(\t\"\032\n\030Unsubs" + - "cribeAlarmsCommand\"\241\001\n\027AcknowledgeAlarmC" + - "ommand\022\022\n\nalarm_guid\030\001 \001(\t\022\017\n\007comment\030\002 " + - "\001(\t\022\025\n\roperator_user\030\003 \001(\t\022\025\n\roperator_n" + - "ode\030\004 \001(\t\022\027\n\017operator_domain\030\005 \001(\t\022\032\n\022op" + - "erator_full_name\030\006 \001(\t\"7\n\030QueryActiveAla" + - "rmsCommand\022\033\n\023alarm_filter_prefix\030\001 \001(\t\"" + - "\322\001\n\035AcknowledgeAlarmByNameCommand\022\022\n\nala" + - "rm_name\030\001 \001(\t\022\025\n\rprovider_name\030\002 \001(\t\022\022\n\n" + - "group_name\030\003 \001(\t\022\017\n\007comment\030\004 \001(\t\022\025\n\rope" + - "rator_user\030\005 \001(\t\022\025\n\roperator_node\030\006 \001(\t\022" + - "\027\n\017operator_domain\030\007 \001(\t\022\032\n\022operator_ful" + - "l_name\030\010 \001(\t\"E\n\026UnsubscribeBulkCommand\022\025" + - "\n\rserver_handle\030\001 \001(\005\022\024\n\014item_handles\030\002 " + - "\003(\005\"_\n\020WriteBulkCommand\022\025\n\rserver_handle" + - "\030\001 \001(\005\0224\n\007entries\030\002 \003(\0132#.mxaccess_gatew" + - "ay.v1.WriteBulkEntry\"c\n\016WriteBulkEntry\022\023" + - "\n\013item_handle\030\001 \001(\005\022+\n\005value\030\002 \001(\0132\034.mxa" + - "ccess_gateway.v1.MxValue\022\017\n\007user_id\030\003 \001(" + - "\005\"a\n\021Write2BulkCommand\022\025\n\rserver_handle\030" + - "\001 \001(\005\0225\n\007entries\030\002 \003(\0132$.mxaccess_gatewa" + - "y.v1.Write2BulkEntry\"\233\001\n\017Write2BulkEntry" + - "\022\023\n\013item_handle\030\001 \001(\005\022+\n\005value\030\002 \001(\0132\034.m" + - "xaccess_gateway.v1.MxValue\0225\n\017timestamp_" + - "value\030\003 \001(\0132\034.mxaccess_gateway.v1.MxValu" + - "e\022\017\n\007user_id\030\004 \001(\005\"m\n\027WriteSecuredBulkCo" + - "mmand\022\025\n\rserver_handle\030\001 \001(\005\022;\n\007entries\030" + - "\002 \003(\0132*.mxaccess_gateway.v1.WriteSecured" + - "BulkEntry\"\214\001\n\025WriteSecuredBulkEntry\022\023\n\013i" + - "tem_handle\030\001 \001(\005\022\027\n\017current_user_id\030\002 \001(" + - "\005\022\030\n\020verifier_user_id\030\003 \001(\005\022+\n\005value\030\004 \001" + - "(\0132\034.mxaccess_gateway.v1.MxValue\"o\n\030Writ" + - "eSecured2BulkCommand\022\025\n\rserver_handle\030\001 " + - "\001(\005\022<\n\007entries\030\002 \003(\0132+.mxaccess_gateway." + - "v1.WriteSecured2BulkEntry\"\304\001\n\026WriteSecur" + - "ed2BulkEntry\022\023\n\013item_handle\030\001 \001(\005\022\027\n\017cur" + - "rent_user_id\030\002 \001(\005\022\030\n\020verifier_user_id\030\003" + - " \001(\005\022+\n\005value\030\004 \001(\0132\034.mxaccess_gateway.v" + - "1.MxValue\0225\n\017timestamp_value\030\005 \001(\0132\034.mxa" + - "ccess_gateway.v1.MxValue\"S\n\017ReadBulkComm" + - "and\022\025\n\rserver_handle\030\001 \001(\005\022\025\n\rtag_addres" + - "ses\030\002 \003(\t\022\022\n\ntimeout_ms\030\003 \001(\r\"\036\n\013PingCom" + - "mand\022\017\n\007message\030\001 \001(\t\"\030\n\026GetSessionState" + - "Command\"\026\n\024GetWorkerInfoCommand\"(\n\022Drain" + - "EventsCommand\022\022\n\nmax_events\030\001 \001(\r\"H\n\025Shu" + - "tdownWorkerCommand\022/\n\014grace_period\030\001 \001(\013" + - "2\031.google.protobuf.Duration\"\206\017\n\016MxComman" + - "dReply\022\022\n\nsession_id\030\001 \001(\t\022\026\n\016correlatio" + - "n_id\030\002 \001(\t\0220\n\004kind\030\003 \001(\0162\".mxaccess_gate" + - "way.v1.MxCommandKind\022<\n\017protocol_status\030" + - "\004 \001(\0132#.mxaccess_gateway.v1.ProtocolStat" + - "us\022\024\n\007hresult\030\005 \001(\005H\001\210\001\001\0222\n\014return_value" + - "\030\006 \001(\0132\034.mxaccess_gateway.v1.MxValue\0224\n\010" + - "statuses\030\007 \003(\0132\".mxaccess_gateway.v1.MxS" + - "tatusProxy\022\032\n\022diagnostic_message\030\010 \001(\t\0226" + - "\n\010register\030\024 \001(\0132\".mxaccess_gateway.v1.R" + - "egisterReplyH\000\0225\n\010add_item\030\025 \001(\0132!.mxacc" + - "ess_gateway.v1.AddItemReplyH\000\0227\n\tadd_ite" + - "m2\030\026 \001(\0132\".mxaccess_gateway.v1.AddItem2R" + - "eplyH\000\022F\n\021add_buffered_item\030\027 \001(\0132).mxac" + - "cess_gateway.v1.AddBufferedItemReplyH\000\0224" + - "\n\007suspend\030\030 \001(\0132!.mxaccess_gateway.v1.Su" + - "spendReplyH\000\0226\n\010activate\030\031 \001(\0132\".mxacces" + - "s_gateway.v1.ActivateReplyH\000\022G\n\021authenti" + - "cate_user\030\032 \001(\0132*.mxaccess_gateway.v1.Au" + - "thenticateUserReplyH\000\022K\n\024archestra_user_" + - "to_id\030\033 \001(\0132+.mxaccess_gateway.v1.Arches" + - "trAUserToIdReplyH\000\022@\n\radd_item_bulk\030\034 \001(" + - "\0132\'.mxaccess_gateway.v1.BulkSubscribeRep" + - "lyH\000\022C\n\020advise_item_bulk\030\035 \001(\0132\'.mxacces" + - "s_gateway.v1.BulkSubscribeReplyH\000\022C\n\020rem" + - "ove_item_bulk\030\036 \001(\0132\'.mxaccess_gateway.v" + - "1.BulkSubscribeReplyH\000\022F\n\023un_advise_item" + - "_bulk\030\037 \001(\0132\'.mxaccess_gateway.v1.BulkSu" + - "bscribeReplyH\000\022A\n\016subscribe_bulk\030 \001(\0132\'" + - ".mxaccess_gateway.v1.BulkSubscribeReplyH" + - "\000\022C\n\020unsubscribe_bulk\030! \001(\0132\'.mxaccess_g" + - "ateway.v1.BulkSubscribeReplyH\000\022N\n\021acknow" + - "ledge_alarm\030\" \001(\01321.mxaccess_gateway.v1." + - "AcknowledgeAlarmReplyPayloadH\000\022Q\n\023query_" + - "active_alarms\030# \001(\01322.mxaccess_gateway.v" + - "1.QueryActiveAlarmsReplyPayloadH\000\0229\n\nwri" + - "te_bulk\030$ \001(\0132#.mxaccess_gateway.v1.Bulk" + - "WriteReplyH\000\022:\n\013write2_bulk\030% \001(\0132#.mxac" + - "cess_gateway.v1.BulkWriteReplyH\000\022A\n\022writ" + - "e_secured_bulk\030& \001(\0132#.mxaccess_gateway." + - "v1.BulkWriteReplyH\000\022B\n\023write_secured2_bu" + - "lk\030\' \001(\0132#.mxaccess_gateway.v1.BulkWrite" + - "ReplyH\000\0227\n\tread_bulk\030( \001(\0132\".mxaccess_ga" + - "teway.v1.BulkReadReplyH\000\022?\n\rsession_stat" + - "e\030d \001(\0132&.mxaccess_gateway.v1.SessionSta" + - "teReplyH\000\022;\n\013worker_info\030e \001(\0132$.mxacces" + - "s_gateway.v1.WorkerInfoReplyH\000\022=\n\014drain_" + - "events\030f \001(\0132%.mxaccess_gateway.v1.Drain" + - "EventsReplyH\000B\t\n\007payloadB\n\n\010_hresult\"&\n\r" + - "RegisterReply\022\025\n\rserver_handle\030\001 \001(\005\"#\n\014" + - "AddItemReply\022\023\n\013item_handle\030\001 \001(\005\"$\n\rAdd" + - "Item2Reply\022\023\n\013item_handle\030\001 \001(\005\"+\n\024AddBu" + - "fferedItemReply\022\023\n\013item_handle\030\001 \001(\005\"B\n\014" + - "SuspendReply\0222\n\006status\030\001 \001(\0132\".mxaccess_" + - "gateway.v1.MxStatusProxy\"C\n\rActivateRepl" + - "y\0222\n\006status\030\001 \001(\0132\".mxaccess_gateway.v1." + - "MxStatusProxy\"(\n\025AuthenticateUserReply\022\017" + - "\n\007user_id\030\001 \001(\005\")\n\026ArchestrAUserToIdRepl" + - "y\022\017\n\007user_id\030\001 \001(\005\"\201\001\n\017SubscribeResult\022\025" + - "\n\rserver_handle\030\001 \001(\005\022\023\n\013tag_address\030\002 \001" + - "(\t\022\023\n\013item_handle\030\003 \001(\005\022\026\n\016was_successfu" + - "l\030\004 \001(\010\022\025\n\rerror_message\030\005 \001(\t\"K\n\022BulkSu" + - "bscribeReply\0225\n\007results\030\001 \003(\0132$.mxaccess" + - "_gateway.v1.SubscribeResult\"\304\001\n\017BulkWrit" + - "eResult\022\025\n\rserver_handle\030\001 \001(\005\022\023\n\013item_h" + - "andle\030\002 \001(\005\022\026\n\016was_successful\030\003 \001(\010\022\024\n\007h" + - "result\030\004 \001(\005H\000\210\001\001\0224\n\010statuses\030\005 \003(\0132\".mx" + - "access_gateway.v1.MxStatusProxy\022\025\n\rerror" + - "_message\030\006 \001(\tB\n\n\010_hresult\"G\n\016BulkWriteR" + - "eply\0225\n\007results\030\001 \003(\0132$.mxaccess_gateway" + - ".v1.BulkWriteResult\"\276\002\n\016BulkReadResult\022\025" + - "\n\rserver_handle\030\001 \001(\005\022\023\n\013tag_address\030\002 \001" + - "(\t\022\023\n\013item_handle\030\003 \001(\005\022\026\n\016was_successfu" + - "l\030\004 \001(\010\022\022\n\nwas_cached\030\005 \001(\010\022+\n\005value\030\006 \001" + - "(\0132\034.mxaccess_gateway.v1.MxValue\022\017\n\007qual" + - "ity\030\007 \001(\005\0224\n\020source_timestamp\030\010 \001(\0132\032.go" + - "ogle.protobuf.Timestamp\0224\n\010statuses\030\t \003(" + - "\0132\".mxaccess_gateway.v1.MxStatusProxy\022\025\n" + - "\rerror_message\030\n \001(\t\"E\n\rBulkReadReply\0224\n" + - "\007results\030\001 \003(\0132#.mxaccess_gateway.v1.Bul" + - "kReadResult\"E\n\021SessionStateReply\0220\n\005stat" + - "e\030\001 \001(\0162!.mxaccess_gateway.v1.SessionSta" + - "te\"u\n\017WorkerInfoReply\022\031\n\021worker_process_" + - "id\030\001 \001(\005\022\026\n\016worker_version\030\002 \001(\t\022\027\n\017mxac" + - "cess_progid\030\003 \001(\t\022\026\n\016mxaccess_clsid\030\004 \001(" + - "\t\"@\n\020DrainEventsReply\022,\n\006events\030\001 \003(\0132\034." + - "mxaccess_gateway.v1.MxEvent\"5\n\034Acknowled" + - "geAlarmReplyPayload\022\025\n\rnative_status\030\001 \001" + - "(\005\"\\\n\035QueryActiveAlarmsReplyPayload\022;\n\ts" + - "napshots\030\001 \003(\0132(.mxaccess_gateway.v1.Act" + - "iveAlarmSnapshot\"\347\006\n\007MxEvent\0222\n\006family\030\001" + - " \001(\0162\".mxaccess_gateway.v1.MxEventFamily" + - "\022\022\n\nsession_id\030\002 \001(\t\022\025\n\rserver_handle\030\003 " + - "\001(\005\022\023\n\013item_handle\030\004 \001(\005\022+\n\005value\030\005 \001(\0132" + - "\034.mxaccess_gateway.v1.MxValue\022\017\n\007quality" + - "\030\006 \001(\005\0224\n\020source_timestamp\030\007 \001(\0132\032.googl" + - "e.protobuf.Timestamp\0224\n\010statuses\030\010 \003(\0132\"" + - ".mxaccess_gateway.v1.MxStatusProxy\022\027\n\017wo" + - "rker_sequence\030\t \001(\004\0224\n\020worker_timestamp\030" + - "\n \001(\0132\032.google.protobuf.Timestamp\022=\n\031gat" + - "eway_receive_timestamp\030\013 \001(\0132\032.google.pr" + - "otobuf.Timestamp\022\024\n\007hresult\030\014 \001(\005H\001\210\001\001\022\022" + - "\n\nraw_status\030\r \001(\t\022@\n\016on_data_change\030\024 \001" + - "(\0132&.mxaccess_gateway.v1.OnDataChangeEve" + - "ntH\000\022F\n\021on_write_complete\030\025 \001(\0132).mxacce" + - "ss_gateway.v1.OnWriteCompleteEventH\000\022I\n\022" + - "operation_complete\030\026 \001(\0132+.mxaccess_gate" + - "way.v1.OperationCompleteEventH\000\022Q\n\027on_bu" + - "ffered_data_change\030\027 \001(\0132..mxaccess_gate" + - "way.v1.OnBufferedDataChangeEventH\000\022J\n\023on" + - "_alarm_transition\030\030 \001(\0132+.mxaccess_gatew" + - "ay.v1.OnAlarmTransitionEventH\000B\006\n\004bodyB\n" + - "\n\010_hresult\"\023\n\021OnDataChangeEvent\"\026\n\024OnWri" + - "teCompleteEvent\"\030\n\026OperationCompleteEven" + - "t\"\324\001\n\031OnBufferedDataChangeEvent\0222\n\tdata_" + - "type\030\001 \001(\0162\037.mxaccess_gateway.v1.MxDataT" + - "ype\0224\n\016quality_values\030\002 \001(\0132\034.mxaccess_g" + - "ateway.v1.MxArray\0226\n\020timestamp_values\030\003 " + - "\001(\0132\034.mxaccess_gateway.v1.MxArray\022\025\n\rraw" + - "_data_type\030\004 \001(\005\"\375\003\n\026OnAlarmTransitionEv" + - "ent\022\034\n\024alarm_full_reference\030\001 \001(\t\022\037\n\027sou" + - "rce_object_reference\030\002 \001(\t\022\027\n\017alarm_type" + - "_name\030\003 \001(\t\022A\n\017transition_kind\030\004 \001(\0162(.m" + - "xaccess_gateway.v1.AlarmTransitionKind\022\020" + - "\n\010severity\030\005 \001(\005\022<\n\030original_raise_times" + - "tamp\030\006 \001(\0132\032.google.protobuf.Timestamp\0228" + - "\n\024transition_timestamp\030\007 \001(\0132\032.google.pr" + - "otobuf.Timestamp\022\025\n\roperator_user\030\010 \001(\t\022" + - "\030\n\020operator_comment\030\t \001(\t\022\020\n\010category\030\n " + - "\001(\t\022\023\n\013description\030\013 \001(\t\0223\n\rcurrent_valu" + - "e\030\014 \001(\0132\034.mxaccess_gateway.v1.MxValue\0221\n" + - "\013limit_value\030\r \001(\0132\034.mxaccess_gateway.v1" + - ".MxValue\"\375\003\n\023ActiveAlarmSnapshot\022\034\n\024alar" + - "m_full_reference\030\001 \001(\t\022\037\n\027source_object_" + - "reference\030\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001(\t" + - "\022\020\n\010severity\030\004 \001(\005\022<\n\030original_raise_tim" + - "estamp\030\005 \001(\0132\032.google.protobuf.Timestamp" + - "\022?\n\rcurrent_state\030\006 \001(\0162(.mxaccess_gatew" + - "ay.v1.AlarmConditionState\022\020\n\010category\030\007 " + - "\001(\t\022\023\n\013description\030\010 \001(\t\022=\n\031last_transit" + - "ion_timestamp\030\t \001(\0132\032.google.protobuf.Ti" + - "mestamp\022\025\n\roperator_user\030\n \001(\t\022\030\n\020operat" + - "or_comment\030\013 \001(\t\0223\n\rcurrent_value\030\014 \001(\0132" + - "\034.mxaccess_gateway.v1.MxValue\0221\n\013limit_v" + - "alue\030\r \001(\0132\034.mxaccess_gateway.v1.MxValue" + + "esses\030\002 \003(\t\"\356\001\n\026SubscribeAlarmsCommand\022\037" + + "\n\027subscription_expression\030\001 \001(\t\022;\n\013force" + + "d_mode\030\002 \001(\0162&.mxaccess_gateway.v1.Alarm" + + "ProviderMode\022:\n\nwatch_list\030\003 \003(\0132&.mxacc" + + "ess_gateway.v1.AlarmSubtagTarget\022:\n\010fail" + + "over\030\004 \001(\0132(.mxaccess_gateway.v1.AlarmFa" + + "iloverConfig\"\032\n\030UnsubscribeAlarmsCommand" + + "\"\264\001\n\021AlarmSubtagTarget\022\034\n\024alarm_full_ref" + + "erence\030\001 \001(\t\022\037\n\027source_object_reference\030" + + "\002 \001(\t\022\025\n\ractive_subtag\030\003 \001(\t\022\024\n\014acked_su" + + "btag\030\004 \001(\t\022\032\n\022ack_comment_subtag\030\005 \001(\t\022\027" + + "\n\017priority_subtag\030\006 \001(\t\"\205\001\n\023AlarmFailove" + + "rConfig\022%\n\035consecutive_failure_threshold" + + "\030\001 \001(\005\022\'\n\037failback_probe_interval_second" + + "s\030\002 \001(\005\022\036\n\026failback_stable_probes\030\003 \001(\005\"" + + "\241\001\n\027AcknowledgeAlarmCommand\022\022\n\nalarm_gui" + + "d\030\001 \001(\t\022\017\n\007comment\030\002 \001(\t\022\025\n\roperator_use" + + "r\030\003 \001(\t\022\025\n\roperator_node\030\004 \001(\t\022\027\n\017operat" + + "or_domain\030\005 \001(\t\022\032\n\022operator_full_name\030\006 " + + "\001(\t\"7\n\030QueryActiveAlarmsCommand\022\033\n\023alarm" + + "_filter_prefix\030\001 \001(\t\"\322\001\n\035AcknowledgeAlar" + + "mByNameCommand\022\022\n\nalarm_name\030\001 \001(\t\022\025\n\rpr" + + "ovider_name\030\002 \001(\t\022\022\n\ngroup_name\030\003 \001(\t\022\017\n" + + "\007comment\030\004 \001(\t\022\025\n\roperator_user\030\005 \001(\t\022\025\n" + + "\roperator_node\030\006 \001(\t\022\027\n\017operator_domain\030" + + "\007 \001(\t\022\032\n\022operator_full_name\030\010 \001(\t\"E\n\026Uns" + + "ubscribeBulkCommand\022\025\n\rserver_handle\030\001 \001" + + "(\005\022\024\n\014item_handles\030\002 \003(\005\"_\n\020WriteBulkCom" + + "mand\022\025\n\rserver_handle\030\001 \001(\005\0224\n\007entries\030\002" + + " \003(\0132#.mxaccess_gateway.v1.WriteBulkEntr" + + "y\"c\n\016WriteBulkEntry\022\023\n\013item_handle\030\001 \001(\005" + + "\022+\n\005value\030\002 \001(\0132\034.mxaccess_gateway.v1.Mx" + + "Value\022\017\n\007user_id\030\003 \001(\005\"a\n\021Write2BulkComm" + + "and\022\025\n\rserver_handle\030\001 \001(\005\0225\n\007entries\030\002 " + + "\003(\0132$.mxaccess_gateway.v1.Write2BulkEntr" + + "y\"\233\001\n\017Write2BulkEntry\022\023\n\013item_handle\030\001 \001" + + "(\005\022+\n\005value\030\002 \001(\0132\034.mxaccess_gateway.v1." + + "MxValue\0225\n\017timestamp_value\030\003 \001(\0132\034.mxacc" + + "ess_gateway.v1.MxValue\022\017\n\007user_id\030\004 \001(\005\"" + + "m\n\027WriteSecuredBulkCommand\022\025\n\rserver_han" + + "dle\030\001 \001(\005\022;\n\007entries\030\002 \003(\0132*.mxaccess_ga" + + "teway.v1.WriteSecuredBulkEntry\"\214\001\n\025Write" + + "SecuredBulkEntry\022\023\n\013item_handle\030\001 \001(\005\022\027\n" + + "\017current_user_id\030\002 \001(\005\022\030\n\020verifier_user_" + + "id\030\003 \001(\005\022+\n\005value\030\004 \001(\0132\034.mxaccess_gatew" + + "ay.v1.MxValue\"o\n\030WriteSecured2BulkComman" + + "d\022\025\n\rserver_handle\030\001 \001(\005\022<\n\007entries\030\002 \003(" + + "\0132+.mxaccess_gateway.v1.WriteSecured2Bul" + + "kEntry\"\304\001\n\026WriteSecured2BulkEntry\022\023\n\013ite" + + "m_handle\030\001 \001(\005\022\027\n\017current_user_id\030\002 \001(\005\022" + + "\030\n\020verifier_user_id\030\003 \001(\005\022+\n\005value\030\004 \001(\013" + + "2\034.mxaccess_gateway.v1.MxValue\0225\n\017timest" + + "amp_value\030\005 \001(\0132\034.mxaccess_gateway.v1.Mx" + + "Value\"S\n\017ReadBulkCommand\022\025\n\rserver_handl" + + "e\030\001 \001(\005\022\025\n\rtag_addresses\030\002 \003(\t\022\022\n\ntimeou" + + "t_ms\030\003 \001(\r\"\036\n\013PingCommand\022\017\n\007message\030\001 \001" + + "(\t\"\030\n\026GetSessionStateCommand\"\026\n\024GetWorke" + + "rInfoCommand\"(\n\022DrainEventsCommand\022\022\n\nma" + + "x_events\030\001 \001(\r\"H\n\025ShutdownWorkerCommand\022" + + "/\n\014grace_period\030\001 \001(\0132\031.google.protobuf." + + "Duration\"\206\017\n\016MxCommandReply\022\022\n\nsession_i" + + "d\030\001 \001(\t\022\026\n\016correlation_id\030\002 \001(\t\0220\n\004kind\030" + + "\003 \001(\0162\".mxaccess_gateway.v1.MxCommandKin" + + "d\022<\n\017protocol_status\030\004 \001(\0132#.mxaccess_ga" + + "teway.v1.ProtocolStatus\022\024\n\007hresult\030\005 \001(\005" + + "H\001\210\001\001\0222\n\014return_value\030\006 \001(\0132\034.mxaccess_g" + + "ateway.v1.MxValue\0224\n\010statuses\030\007 \003(\0132\".mx" + + "access_gateway.v1.MxStatusProxy\022\032\n\022diagn" + + "ostic_message\030\010 \001(\t\0226\n\010register\030\024 \001(\0132\"." + + "mxaccess_gateway.v1.RegisterReplyH\000\0225\n\010a" + + "dd_item\030\025 \001(\0132!.mxaccess_gateway.v1.AddI" + + "temReplyH\000\0227\n\tadd_item2\030\026 \001(\0132\".mxaccess" + + "_gateway.v1.AddItem2ReplyH\000\022F\n\021add_buffe" + + "red_item\030\027 \001(\0132).mxaccess_gateway.v1.Add" + + "BufferedItemReplyH\000\0224\n\007suspend\030\030 \001(\0132!.m" + + "xaccess_gateway.v1.SuspendReplyH\000\0226\n\010act" + + "ivate\030\031 \001(\0132\".mxaccess_gateway.v1.Activa" + + "teReplyH\000\022G\n\021authenticate_user\030\032 \001(\0132*.m" + + "xaccess_gateway.v1.AuthenticateUserReply" + + "H\000\022K\n\024archestra_user_to_id\030\033 \001(\0132+.mxacc" + + "ess_gateway.v1.ArchestrAUserToIdReplyH\000\022" + + "@\n\radd_item_bulk\030\034 \001(\0132\'.mxaccess_gatewa" + + "y.v1.BulkSubscribeReplyH\000\022C\n\020advise_item" + + "_bulk\030\035 \001(\0132\'.mxaccess_gateway.v1.BulkSu" + + "bscribeReplyH\000\022C\n\020remove_item_bulk\030\036 \001(\013" + + "2\'.mxaccess_gateway.v1.BulkSubscribeRepl" + + "yH\000\022F\n\023un_advise_item_bulk\030\037 \001(\0132\'.mxacc" + + "ess_gateway.v1.BulkSubscribeReplyH\000\022A\n\016s" + + "ubscribe_bulk\030 \001(\0132\'.mxaccess_gateway.v" + + "1.BulkSubscribeReplyH\000\022C\n\020unsubscribe_bu" + + "lk\030! \001(\0132\'.mxaccess_gateway.v1.BulkSubsc" + + "ribeReplyH\000\022N\n\021acknowledge_alarm\030\" \001(\01321" + + ".mxaccess_gateway.v1.AcknowledgeAlarmRep" + + "lyPayloadH\000\022Q\n\023query_active_alarms\030# \001(\013" + + "22.mxaccess_gateway.v1.QueryActiveAlarms" + + "ReplyPayloadH\000\0229\n\nwrite_bulk\030$ \001(\0132#.mxa" + + "ccess_gateway.v1.BulkWriteReplyH\000\022:\n\013wri" + + "te2_bulk\030% \001(\0132#.mxaccess_gateway.v1.Bul" + + "kWriteReplyH\000\022A\n\022write_secured_bulk\030& \001(" + + "\0132#.mxaccess_gateway.v1.BulkWriteReplyH\000" + + "\022B\n\023write_secured2_bulk\030\' \001(\0132#.mxaccess" + + "_gateway.v1.BulkWriteReplyH\000\0227\n\tread_bul" + + "k\030( \001(\0132\".mxaccess_gateway.v1.BulkReadRe" + + "plyH\000\022?\n\rsession_state\030d \001(\0132&.mxaccess_" + + "gateway.v1.SessionStateReplyH\000\022;\n\013worker" + + "_info\030e \001(\0132$.mxaccess_gateway.v1.Worker" + + "InfoReplyH\000\022=\n\014drain_events\030f \001(\0132%.mxac" + + "cess_gateway.v1.DrainEventsReplyH\000B\t\n\007pa" + + "yloadB\n\n\010_hresult\"&\n\rRegisterReply\022\025\n\rse" + + "rver_handle\030\001 \001(\005\"#\n\014AddItemReply\022\023\n\013ite" + + "m_handle\030\001 \001(\005\"$\n\rAddItem2Reply\022\023\n\013item_" + + "handle\030\001 \001(\005\"+\n\024AddBufferedItemReply\022\023\n\013" + + "item_handle\030\001 \001(\005\"B\n\014SuspendReply\0222\n\006sta" + + "tus\030\001 \001(\0132\".mxaccess_gateway.v1.MxStatus" + + "Proxy\"C\n\rActivateReply\0222\n\006status\030\001 \001(\0132\"" + + ".mxaccess_gateway.v1.MxStatusProxy\"(\n\025Au" + + "thenticateUserReply\022\017\n\007user_id\030\001 \001(\005\")\n\026" + + "ArchestrAUserToIdReply\022\017\n\007user_id\030\001 \001(\005\"" + + "\201\001\n\017SubscribeResult\022\025\n\rserver_handle\030\001 \001" + + "(\005\022\023\n\013tag_address\030\002 \001(\t\022\023\n\013item_handle\030\003" + + " \001(\005\022\026\n\016was_successful\030\004 \001(\010\022\025\n\rerror_me" + + "ssage\030\005 \001(\t\"K\n\022BulkSubscribeReply\0225\n\007res" + + "ults\030\001 \003(\0132$.mxaccess_gateway.v1.Subscri" + + "beResult\"\304\001\n\017BulkWriteResult\022\025\n\rserver_h" + + "andle\030\001 \001(\005\022\023\n\013item_handle\030\002 \001(\005\022\026\n\016was_" + + "successful\030\003 \001(\010\022\024\n\007hresult\030\004 \001(\005H\000\210\001\001\0224" + + "\n\010statuses\030\005 \003(\0132\".mxaccess_gateway.v1.M" + + "xStatusProxy\022\025\n\rerror_message\030\006 \001(\tB\n\n\010_" + + "hresult\"G\n\016BulkWriteReply\0225\n\007results\030\001 \003" + + "(\0132$.mxaccess_gateway.v1.BulkWriteResult" + + "\"\276\002\n\016BulkReadResult\022\025\n\rserver_handle\030\001 \001" + + "(\005\022\023\n\013tag_address\030\002 \001(\t\022\023\n\013item_handle\030\003" + + " \001(\005\022\026\n\016was_successful\030\004 \001(\010\022\022\n\nwas_cach" + + "ed\030\005 \001(\010\022+\n\005value\030\006 \001(\0132\034.mxaccess_gatew" + + "ay.v1.MxValue\022\017\n\007quality\030\007 \001(\005\0224\n\020source" + + "_timestamp\030\010 \001(\0132\032.google.protobuf.Times" + + "tamp\0224\n\010statuses\030\t \003(\0132\".mxaccess_gatewa" + + "y.v1.MxStatusProxy\022\025\n\rerror_message\030\n \001(" + + "\t\"E\n\rBulkReadReply\0224\n\007results\030\001 \003(\0132#.mx" + + "access_gateway.v1.BulkReadResult\"E\n\021Sess" + + "ionStateReply\0220\n\005state\030\001 \001(\0162!.mxaccess_" + + "gateway.v1.SessionState\"u\n\017WorkerInfoRep" + + "ly\022\031\n\021worker_process_id\030\001 \001(\005\022\026\n\016worker_" + + "version\030\002 \001(\t\022\027\n\017mxaccess_progid\030\003 \001(\t\022\026" + + "\n\016mxaccess_clsid\030\004 \001(\t\"@\n\020DrainEventsRep" + + "ly\022,\n\006events\030\001 \003(\0132\034.mxaccess_gateway.v1" + + ".MxEvent\"5\n\034AcknowledgeAlarmReplyPayload" + + "\022\025\n\rnative_status\030\001 \001(\005\"\\\n\035QueryActiveAl" + + "armsReplyPayload\022;\n\tsnapshots\030\001 \003(\0132(.mx" + + "access_gateway.v1.ActiveAlarmSnapshot\"\217\010" + + "\n\007MxEvent\0222\n\006family\030\001 \001(\0162\".mxaccess_gat" + + "eway.v1.MxEventFamily\022\022\n\nsession_id\030\002 \001(" + + "\t\022\025\n\rserver_handle\030\003 \001(\005\022\023\n\013item_handle\030" + + "\004 \001(\005\022+\n\005value\030\005 \001(\0132\034.mxaccess_gateway." + + "v1.MxValue\022\017\n\007quality\030\006 \001(\005\0224\n\020source_ti" + + "mestamp\030\007 \001(\0132\032.google.protobuf.Timestam" + + "p\0224\n\010statuses\030\010 \003(\0132\".mxaccess_gateway.v" + + "1.MxStatusProxy\022\027\n\017worker_sequence\030\t \001(\004" + + "\0224\n\020worker_timestamp\030\n \001(\0132\032.google.prot" + + "obuf.Timestamp\022=\n\031gateway_receive_timest" + + "amp\030\013 \001(\0132\032.google.protobuf.Timestamp\022\024\n" + + "\007hresult\030\014 \001(\005H\001\210\001\001\022\022\n\nraw_status\030\r \001(\t\022" + + "7\n\nreplay_gap\030\016 \001(\0132\036.mxaccess_gateway.v" + + "1.ReplayGapH\002\210\001\001\022@\n\016on_data_change\030\024 \001(\013" + + "2&.mxaccess_gateway.v1.OnDataChangeEvent" + + "H\000\022F\n\021on_write_complete\030\025 \001(\0132).mxaccess" + + "_gateway.v1.OnWriteCompleteEventH\000\022I\n\022op" + + "eration_complete\030\026 \001(\0132+.mxaccess_gatewa" + + "y.v1.OperationCompleteEventH\000\022Q\n\027on_buff" + + "ered_data_change\030\027 \001(\0132..mxaccess_gatewa" + + "y.v1.OnBufferedDataChangeEventH\000\022J\n\023on_a" + + "larm_transition\030\030 \001(\0132+.mxaccess_gateway" + + ".v1.OnAlarmTransitionEventH\000\022^\n\036on_alarm" + + "_provider_mode_changed\030\031 \001(\01324.mxaccess_" + + "gateway.v1.OnAlarmProviderModeChangedEve" + + "ntH\000B\006\n\004bodyB\n\n\010_hresultB\r\n\013_replay_gap\"" + + "P\n\tReplayGap\022 \n\030requested_after_sequence" + + "\030\001 \001(\004\022!\n\031oldest_available_sequence\030\002 \001(" + + "\004\"\023\n\021OnDataChangeEvent\"\026\n\024OnWriteComplet" + + "eEvent\"\030\n\026OperationCompleteEvent\"\324\001\n\031OnB" + + "ufferedDataChangeEvent\0222\n\tdata_type\030\001 \001(" + + "\0162\037.mxaccess_gateway.v1.MxDataType\0224\n\016qu" + + "ality_values\030\002 \001(\0132\034.mxaccess_gateway.v1" + + ".MxArray\0226\n\020timestamp_values\030\003 \001(\0132\034.mxa" + + "ccess_gateway.v1.MxArray\022\025\n\rraw_data_typ" + + "e\030\004 \001(\005\"\320\004\n\026OnAlarmTransitionEvent\022\034\n\024al" + + "arm_full_reference\030\001 \001(\t\022\037\n\027source_objec" + + "t_reference\030\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001" + + "(\t\022A\n\017transition_kind\030\004 \001(\0162(.mxaccess_g" + + "ateway.v1.AlarmTransitionKind\022\020\n\010severit" + + "y\030\005 \001(\005\022<\n\030original_raise_timestamp\030\006 \001(" + + "\0132\032.google.protobuf.Timestamp\0228\n\024transit" + + "ion_timestamp\030\007 \001(\0132\032.google.protobuf.Ti" + + "mestamp\022\025\n\roperator_user\030\010 \001(\t\022\030\n\020operat" + + "or_comment\030\t \001(\t\022\020\n\010category\030\n \001(\t\022\023\n\013de" + + "scription\030\013 \001(\t\0223\n\rcurrent_value\030\014 \001(\0132\034" + + ".mxaccess_gateway.v1.MxValue\0221\n\013limit_va" + + "lue\030\r \001(\0132\034.mxaccess_gateway.v1.MxValue\022" + + "\020\n\010degraded\030\016 \001(\010\022?\n\017source_provider\030\017 \001" + + "(\0162&.mxaccess_gateway.v1.AlarmProviderMo" + + "de\"\240\001\n\037OnAlarmProviderModeChangedEvent\0224" + + "\n\004mode\030\001 \001(\0162&.mxaccess_gateway.v1.Alarm" + + "ProviderMode\022\016\n\006reason\030\002 \001(\t\022\017\n\007hresult\030" + + "\003 \001(\005\022&\n\002at\030\004 \001(\0132\032.google.protobuf.Time" + + "stamp\"\320\004\n\023ActiveAlarmSnapshot\022\034\n\024alarm_f" + + "ull_reference\030\001 \001(\t\022\037\n\027source_object_ref" + + "erence\030\002 \001(\t\022\027\n\017alarm_type_name\030\003 \001(\t\022\020\n" + + "\010severity\030\004 \001(\005\022<\n\030original_raise_timest" + + "amp\030\005 \001(\0132\032.google.protobuf.Timestamp\022?\n" + + "\rcurrent_state\030\006 \001(\0162(.mxaccess_gateway." + + "v1.AlarmConditionState\022\020\n\010category\030\007 \001(\t" + + "\022\023\n\013description\030\010 \001(\t\022=\n\031last_transition" + + "_timestamp\030\t \001(\0132\032.google.protobuf.Times" + + "tamp\022\025\n\roperator_user\030\n \001(\t\022\030\n\020operator_" + + "comment\030\013 \001(\t\0223\n\rcurrent_value\030\014 \001(\0132\034.m" + + "xaccess_gateway.v1.MxValue\0221\n\013limit_valu" + + "e\030\r \001(\0132\034.mxaccess_gateway.v1.MxValue\022\020\n" + + "\010degraded\030\016 \001(\010\022?\n\017source_provider\030\017 \001(\016" + + "2&.mxaccess_gateway.v1.AlarmProviderMode" + "\"\220\001\n\027AcknowledgeAlarmRequest\022\035\n\025client_c" + "orrelation_id\030\002 \001(\t\022\034\n\024alarm_full_refere" + "nce\030\003 \001(\t\022\017\n\007comment\030\004 \001(\t\022\025\n\roperator_u" + @@ -95667,177 +104677,195 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { "MxStatusProxy\022\032\n\022diagnostic_message\030\006 \001(" + "\tB\n\n\010_hresultJ\004\010\001\020\002R\nsession_id\"Q\n\023Strea" + "mAlarmsRequest\022\035\n\025client_correlation_id\030" + - "\001 \001(\t\022\033\n\023alarm_filter_prefix\030\002 \001(\t\"\277\001\n\020A" + + "\001 \001(\t\022\033\n\023alarm_filter_prefix\030\002 \001(\t\"\204\002\n\020A" + "larmFeedMessage\022@\n\014active_alarm\030\001 \001(\0132(." + "mxaccess_gateway.v1.ActiveAlarmSnapshotH" + "\000\022\033\n\021snapshot_complete\030\002 \001(\010H\000\022A\n\ntransi" + "tion\030\003 \001(\0132+.mxaccess_gateway.v1.OnAlarm" + - "TransitionEventH\000B\t\n\007payload\"\353\001\n\rMxStatu" + - "sProxy\022\017\n\007success\030\001 \001(\005\0227\n\010category\030\002 \001(" + - "\0162%.mxaccess_gateway.v1.MxStatusCategory" + - "\0228\n\013detected_by\030\003 \001(\0162#.mxaccess_gateway" + - ".v1.MxStatusSource\022\016\n\006detail\030\004 \001(\005\022\024\n\014ra" + - "w_category\030\005 \001(\005\022\027\n\017raw_detected_by\030\006 \001(" + - "\005\022\027\n\017diagnostic_text\030\007 \001(\t\"\247\003\n\007MxValue\0222" + - "\n\tdata_type\030\001 \001(\0162\037.mxaccess_gateway.v1." + - "MxDataType\022\024\n\014variant_type\030\002 \001(\t\022\017\n\007is_n" + - "ull\030\003 \001(\010\022\026\n\016raw_diagnostic\030\004 \001(\t\022\025\n\rraw" + - "_data_type\030\005 \001(\005\022\024\n\nbool_value\030\n \001(\010H\000\022\025" + - "\n\013int32_value\030\013 \001(\005H\000\022\025\n\013int64_value\030\014 \001" + - "(\003H\000\022\025\n\013float_value\030\r \001(\002H\000\022\026\n\014double_va" + - "lue\030\016 \001(\001H\000\022\026\n\014string_value\030\017 \001(\tH\000\0225\n\017t" + - "imestamp_value\030\020 \001(\0132\032.google.protobuf.T" + - "imestampH\000\0223\n\013array_value\030\021 \001(\0132\034.mxacce" + - "ss_gateway.v1.MxArrayH\000\022\023\n\traw_value\030\022 \001" + - "(\014H\000B\006\n\004kind\"\376\004\n\007MxArray\022:\n\021element_data" + - "_type\030\001 \001(\0162\037.mxaccess_gateway.v1.MxData" + - "Type\022\024\n\014variant_type\030\002 \001(\t\022\022\n\ndimensions" + - "\030\003 \003(\r\022\026\n\016raw_diagnostic\030\004 \001(\t\022\035\n\025raw_el" + - "ement_data_type\030\005 \001(\005\0225\n\013bool_values\030\n \001" + - "(\0132\036.mxaccess_gateway.v1.BoolArrayH\000\0227\n\014" + - "int32_values\030\013 \001(\0132\037.mxaccess_gateway.v1" + - ".Int32ArrayH\000\0227\n\014int64_values\030\014 \001(\0132\037.mx" + - "access_gateway.v1.Int64ArrayH\000\0227\n\014float_" + - "values\030\r \001(\0132\037.mxaccess_gateway.v1.Float" + - "ArrayH\000\0229\n\rdouble_values\030\016 \001(\0132 .mxacces" + - "s_gateway.v1.DoubleArrayH\000\0229\n\rstring_val" + - "ues\030\017 \001(\0132 .mxaccess_gateway.v1.StringAr" + - "rayH\000\022?\n\020timestamp_values\030\020 \001(\0132#.mxacce" + - "ss_gateway.v1.TimestampArrayH\000\0223\n\nraw_va" + - "lues\030\021 \001(\0132\035.mxaccess_gateway.v1.RawArra" + - "yH\000B\010\n\006values\"\033\n\tBoolArray\022\016\n\006values\030\001 \003" + - "(\010\"\034\n\nInt32Array\022\016\n\006values\030\001 \003(\005\"\034\n\nInt6" + - "4Array\022\016\n\006values\030\001 \003(\003\"\034\n\nFloatArray\022\016\n\006" + - "values\030\001 \003(\002\"\035\n\013DoubleArray\022\016\n\006values\030\001 " + - "\003(\001\"\035\n\013StringArray\022\016\n\006values\030\001 \003(\t\"<\n\016Ti" + - "mestampArray\022*\n\006values\030\001 \003(\0132\032.google.pr" + - "otobuf.Timestamp\"\032\n\010RawArray\022\016\n\006values\030\001" + - " \003(\014\"X\n\016ProtocolStatus\0225\n\004code\030\001 \001(\0162\'.m" + - "xaccess_gateway.v1.ProtocolStatusCode\022\017\n" + - "\007message\030\002 \001(\t*\237\013\n\rMxCommandKind\022\037\n\033MX_C" + - "OMMAND_KIND_UNSPECIFIED\020\000\022\034\n\030MX_COMMAND_" + - "KIND_REGISTER\020\001\022\036\n\032MX_COMMAND_KIND_UNREG", - "ISTER\020\002\022\034\n\030MX_COMMAND_KIND_ADD_ITEM\020\003\022\035\n" + - "\031MX_COMMAND_KIND_ADD_ITEM2\020\004\022\037\n\033MX_COMMA" + - "ND_KIND_REMOVE_ITEM\020\005\022\032\n\026MX_COMMAND_KIND" + - "_ADVISE\020\006\022\035\n\031MX_COMMAND_KIND_UN_ADVISE\020\007" + - "\022&\n\"MX_COMMAND_KIND_ADVISE_SUPERVISORY\020\010" + - "\022%\n!MX_COMMAND_KIND_ADD_BUFFERED_ITEM\020\t\022" + - "0\n,MX_COMMAND_KIND_SET_BUFFERED_UPDATE_I" + - "NTERVAL\020\n\022\033\n\027MX_COMMAND_KIND_SUSPEND\020\013\022\034" + - "\n\030MX_COMMAND_KIND_ACTIVATE\020\014\022\031\n\025MX_COMMA" + - "ND_KIND_WRITE\020\r\022\032\n\026MX_COMMAND_KIND_WRITE" + - "2\020\016\022!\n\035MX_COMMAND_KIND_WRITE_SECURED\020\017\022\"" + - "\n\036MX_COMMAND_KIND_WRITE_SECURED2\020\020\022%\n!MX" + - "_COMMAND_KIND_AUTHENTICATE_USER\020\021\022(\n$MX_" + - "COMMAND_KIND_ARCHESTRA_USER_TO_ID\020\022\022!\n\035M" + - "X_COMMAND_KIND_ADD_ITEM_BULK\020\023\022$\n MX_COM" + - "MAND_KIND_ADVISE_ITEM_BULK\020\024\022$\n MX_COMMA" + - "ND_KIND_REMOVE_ITEM_BULK\020\025\022\'\n#MX_COMMAND" + - "_KIND_UN_ADVISE_ITEM_BULK\020\026\022\"\n\036MX_COMMAN" + - "D_KIND_SUBSCRIBE_BULK\020\027\022$\n MX_COMMAND_KI" + - "ND_UNSUBSCRIBE_BULK\020\030\022$\n MX_COMMAND_KIND" + - "_SUBSCRIBE_ALARMS\020\031\022&\n\"MX_COMMAND_KIND_U" + - "NSUBSCRIBE_ALARMS\020\032\022%\n!MX_COMMAND_KIND_A" + - "CKNOWLEDGE_ALARM\020\033\022\'\n#MX_COMMAND_KIND_QU" + - "ERY_ACTIVE_ALARMS\020\034\022-\n)MX_COMMAND_KIND_A" + - "CKNOWLEDGE_ALARM_BY_NAME\020\035\022\036\n\032MX_COMMAND" + - "_KIND_WRITE_BULK\020\036\022\037\n\033MX_COMMAND_KIND_WR" + - "ITE2_BULK\020\037\022&\n\"MX_COMMAND_KIND_WRITE_SEC" + - "URED_BULK\020 \022\'\n#MX_COMMAND_KIND_WRITE_SEC" + - "URED2_BULK\020!\022\035\n\031MX_COMMAND_KIND_READ_BUL" + - "K\020\"\022\030\n\024MX_COMMAND_KIND_PING\020d\022%\n!MX_COMM" + - "AND_KIND_GET_SESSION_STATE\020e\022#\n\037MX_COMMA" + - "ND_KIND_GET_WORKER_INFO\020f\022 \n\034MX_COMMAND_" + - "KIND_DRAIN_EVENTS\020g\022#\n\037MX_COMMAND_KIND_S" + - "HUTDOWN_WORKER\020h*\371\001\n\rMxEventFamily\022\037\n\033MX" + - "_EVENT_FAMILY_UNSPECIFIED\020\000\022\"\n\036MX_EVENT_" + - "FAMILY_ON_DATA_CHANGE\020\001\022%\n!MX_EVENT_FAMI" + - "LY_ON_WRITE_COMPLETE\020\002\022&\n\"MX_EVENT_FAMIL" + - "Y_OPERATION_COMPLETE\020\003\022+\n\'MX_EVENT_FAMIL" + - "Y_ON_BUFFERED_DATA_CHANGE\020\004\022\'\n#MX_EVENT_" + - "FAMILY_ON_ALARM_TRANSITION\020\005*\312\001\n\023AlarmTr" + - "ansitionKind\022%\n!ALARM_TRANSITION_KIND_UN" + - "SPECIFIED\020\000\022\037\n\033ALARM_TRANSITION_KIND_RAI" + - "SE\020\001\022%\n!ALARM_TRANSITION_KIND_ACKNOWLEDG" + - "E\020\002\022\037\n\033ALARM_TRANSITION_KIND_CLEAR\020\003\022#\n\037" + - "ALARM_TRANSITION_KIND_RETRIGGER\020\004*\252\001\n\023Al" + - "armConditionState\022%\n!ALARM_CONDITION_STA" + - "TE_UNSPECIFIED\020\000\022 \n\034ALARM_CONDITION_STAT" + - "E_ACTIVE\020\001\022&\n\"ALARM_CONDITION_STATE_ACTI" + - "VE_ACKED\020\002\022\"\n\036ALARM_CONDITION_STATE_INAC" + - "TIVE\020\003*\245\003\n\020MxStatusCategory\022\"\n\036MX_STATUS" + - "_CATEGORY_UNSPECIFIED\020\000\022\036\n\032MX_STATUS_CAT" + - "EGORY_UNKNOWN\020\001\022\031\n\025MX_STATUS_CATEGORY_OK" + - "\020\002\022\036\n\032MX_STATUS_CATEGORY_PENDING\020\003\022\036\n\032MX" + - "_STATUS_CATEGORY_WARNING\020\004\022*\n&MX_STATUS_" + - "CATEGORY_COMMUNICATION_ERROR\020\005\022*\n&MX_STA" + - "TUS_CATEGORY_CONFIGURATION_ERROR\020\006\022(\n$MX" + - "_STATUS_CATEGORY_OPERATIONAL_ERROR\020\007\022%\n!" + - "MX_STATUS_CATEGORY_SECURITY_ERROR\020\010\022%\n!M" + - "X_STATUS_CATEGORY_SOFTWARE_ERROR\020\t\022\"\n\036MX" + - "_STATUS_CATEGORY_OTHER_ERROR\020\n*\312\002\n\016MxSta" + - "tusSource\022 \n\034MX_STATUS_SOURCE_UNSPECIFIE" + - "D\020\000\022\034\n\030MX_STATUS_SOURCE_UNKNOWN\020\001\022#\n\037MX_" + - "STATUS_SOURCE_REQUESTING_LMX\020\002\022#\n\037MX_STA" + - "TUS_SOURCE_RESPONDING_LMX\020\003\022#\n\037MX_STATUS" + - "_SOURCE_REQUESTING_NMX\020\004\022#\n\037MX_STATUS_SO" + - "URCE_RESPONDING_NMX\020\005\0221\n-MX_STATUS_SOURC" + - "E_REQUESTING_AUTOMATION_OBJECT\020\006\0221\n-MX_S" + - "TATUS_SOURCE_RESPONDING_AUTOMATION_OBJEC" + - "T\020\007*\335\004\n\nMxDataType\022\034\n\030MX_DATA_TYPE_UNSPE" + - "CIFIED\020\000\022\030\n\024MX_DATA_TYPE_UNKNOWN\020\001\022\030\n\024MX" + - "_DATA_TYPE_NO_DATA\020\002\022\030\n\024MX_DATA_TYPE_BOO" + - "LEAN\020\003\022\030\n\024MX_DATA_TYPE_INTEGER\020\004\022\026\n\022MX_D" + - "ATA_TYPE_FLOAT\020\005\022\027\n\023MX_DATA_TYPE_DOUBLE\020" + - "\006\022\027\n\023MX_DATA_TYPE_STRING\020\007\022\025\n\021MX_DATA_TY" + - "PE_TIME\020\010\022\035\n\031MX_DATA_TYPE_ELAPSED_TIME\020\t" + - "\022\037\n\033MX_DATA_TYPE_REFERENCE_TYPE\020\n\022\034\n\030MX_" + - "DATA_TYPE_STATUS_TYPE\020\013\022\025\n\021MX_DATA_TYPE_" + - "ENUM\020\014\022-\n)MX_DATA_TYPE_SECURITY_CLASSIFI" + - "CATION_ENUM\020\r\022\"\n\036MX_DATA_TYPE_DATA_QUALI" + - "TY_TYPE\020\016\022\037\n\033MX_DATA_TYPE_QUALIFIED_ENUM" + - "\020\017\022!\n\035MX_DATA_TYPE_QUALIFIED_STRUCT\020\020\022)\n" + - "%MX_DATA_TYPE_INTERNATIONALIZED_STRING\020\021" + - "\022\033\n\027MX_DATA_TYPE_BIG_STRING\020\022\022\024\n\020MX_DATA" + - "_TYPE_END\020\023*\243\003\n\022ProtocolStatusCode\022$\n PR" + - "OTOCOL_STATUS_CODE_UNSPECIFIED\020\000\022\033\n\027PROT" + - "OCOL_STATUS_CODE_OK\020\001\022(\n$PROTOCOL_STATUS" + - "_CODE_INVALID_REQUEST\020\002\022*\n&PROTOCOL_STAT" + - "US_CODE_SESSION_NOT_FOUND\020\003\022*\n&PROTOCOL_" + - "STATUS_CODE_SESSION_NOT_READY\020\004\022+\n\'PROTO" + - "COL_STATUS_CODE_WORKER_UNAVAILABLE\020\005\022 \n\034" + - "PROTOCOL_STATUS_CODE_TIMEOUT\020\006\022!\n\035PROTOC" + - "OL_STATUS_CODE_CANCELED\020\007\022+\n\'PROTOCOL_ST" + - "ATUS_CODE_PROTOCOL_VIOLATION\020\010\022)\n%PROTOC" + - "OL_STATUS_CODE_MXACCESS_FAILURE\020\t*\277\002\n\014Se" + - "ssionState\022\035\n\031SESSION_STATE_UNSPECIFIED\020" + - "\000\022\032\n\026SESSION_STATE_CREATING\020\001\022!\n\035SESSION" + - "_STATE_STARTING_WORKER\020\002\022\"\n\036SESSION_STAT" + - "E_WAITING_FOR_PIPE\020\003\022\035\n\031SESSION_STATE_HA" + - "NDSHAKING\020\004\022%\n!SESSION_STATE_INITIALIZIN" + - "G_WORKER\020\005\022\027\n\023SESSION_STATE_READY\020\006\022\031\n\025S" + - "ESSION_STATE_CLOSING\020\007\022\030\n\024SESSION_STATE_" + - "CLOSED\020\010\022\031\n\025SESSION_STATE_FAULTED\020\t2\303\005\n\017" + - "MxAccessGateway\022]\n\013OpenSession\022\'.mxacces" + - "s_gateway.v1.OpenSessionRequest\032%.mxacce" + - "ss_gateway.v1.OpenSessionReply\022`\n\014CloseS" + - "ession\022(.mxaccess_gateway.v1.CloseSessio" + - "nRequest\032&.mxaccess_gateway.v1.CloseSess" + - "ionReply\022T\n\006Invoke\022%.mxaccess_gateway.v1" + - ".MxCommandRequest\032#.mxaccess_gateway.v1." + - "MxCommandReply\022X\n\014StreamEvents\022(.mxacces" + - "s_gateway.v1.StreamEventsRequest\032\034.mxacc" + - "ess_gateway.v1.MxEvent0\001\022l\n\020AcknowledgeA" + - "larm\022,.mxaccess_gateway.v1.AcknowledgeAl" + - "armRequest\032*.mxaccess_gateway.v1.Acknowl" + - "edgeAlarmReply\022a\n\014StreamAlarms\022(.mxacces" + - "s_gateway.v1.StreamAlarmsRequest\032%.mxacc" + - "ess_gateway.v1.AlarmFeedMessage0\001\022n\n\021Que" + - "ryActiveAlarms\022-.mxaccess_gateway.v1.Que" + - "ryActiveAlarmsRequest\032(.mxaccess_gateway" + - ".v1.ActiveAlarmSnapshot0\001B&\252\002#ZB.MOM.WW." + - "MxGateway.Contracts.Protob\006proto3" + "TransitionEventH\000\022C\n\017provider_status\030\004 \001" + + "(\0132(.mxaccess_gateway.v1.AlarmProviderSt" + + "atusH\000B\t\n\007payload\"\230\001\n\023AlarmProviderStatu" + + "s\0224\n\004mode\030\001 \001(\0162&.mxaccess_gateway.v1.Al" + + "armProviderMode\022\020\n\010degraded\030\002 \001(\010\022\016\n\006rea" + + "son\030\003 \001(\t\022)\n\005since\030\004 \001(\0132\032.google.protob" + + "uf.Timestamp\"\353\001\n\rMxStatusProxy\022\017\n\007succes" + + "s\030\001 \001(\005\0227\n\010category\030\002 \001(\0162%.mxaccess_gat" + + "eway.v1.MxStatusCategory\0228\n\013detected_by\030" + + "\003 \001(\0162#.mxaccess_gateway.v1.MxStatusSour" + + "ce\022\016\n\006detail\030\004 \001(\005\022\024\n\014raw_category\030\005 \001(\005" + + "\022\027\n\017raw_detected_by\030\006 \001(\005\022\027\n\017diagnostic_" + + "text\030\007 \001(\t\"\351\003\n\007MxValue\0222\n\tdata_type\030\001 \001(" + + "\0162\037.mxaccess_gateway.v1.MxDataType\022\024\n\014va" + + "riant_type\030\002 \001(\t\022\017\n\007is_null\030\003 \001(\010\022\026\n\016raw" + + "_diagnostic\030\004 \001(\t\022\025\n\rraw_data_type\030\005 \001(\005" + + "\022\024\n\nbool_value\030\n \001(\010H\000\022\025\n\013int32_value\030\013 " + + "\001(\005H\000\022\025\n\013int64_value\030\014 \001(\003H\000\022\025\n\013float_va", + "lue\030\r \001(\002H\000\022\026\n\014double_value\030\016 \001(\001H\000\022\026\n\014s" + + "tring_value\030\017 \001(\tH\000\0225\n\017timestamp_value\030\020" + + " \001(\0132\032.google.protobuf.TimestampH\000\0223\n\013ar" + + "ray_value\030\021 \001(\0132\034.mxaccess_gateway.v1.Mx" + + "ArrayH\000\022\023\n\traw_value\030\022 \001(\014H\000\022@\n\022sparse_a" + + "rray_value\030\023 \001(\0132\".mxaccess_gateway.v1.M" + + "xSparseArrayH\000B\006\n\004kind\"\376\004\n\007MxArray\022:\n\021el" + + "ement_data_type\030\001 \001(\0162\037.mxaccess_gateway" + + ".v1.MxDataType\022\024\n\014variant_type\030\002 \001(\t\022\022\n\n" + + "dimensions\030\003 \003(\r\022\026\n\016raw_diagnostic\030\004 \001(\t" + + "\022\035\n\025raw_element_data_type\030\005 \001(\005\0225\n\013bool_" + + "values\030\n \001(\0132\036.mxaccess_gateway.v1.BoolA" + + "rrayH\000\0227\n\014int32_values\030\013 \001(\0132\037.mxaccess_" + + "gateway.v1.Int32ArrayH\000\0227\n\014int64_values\030" + + "\014 \001(\0132\037.mxaccess_gateway.v1.Int64ArrayH\000" + + "\0227\n\014float_values\030\r \001(\0132\037.mxaccess_gatewa" + + "y.v1.FloatArrayH\000\0229\n\rdouble_values\030\016 \001(\013" + + "2 .mxaccess_gateway.v1.DoubleArrayH\000\0229\n\r" + + "string_values\030\017 \001(\0132 .mxaccess_gateway.v" + + "1.StringArrayH\000\022?\n\020timestamp_values\030\020 \001(" + + "\0132#.mxaccess_gateway.v1.TimestampArrayH\000" + + "\0223\n\nraw_values\030\021 \001(\0132\035.mxaccess_gateway." + + "v1.RawArrayH\000B\010\n\006values\"\231\001\n\rMxSparseArra" + + "y\022:\n\021element_data_type\030\001 \001(\0162\037.mxaccess_" + + "gateway.v1.MxDataType\022\024\n\014total_length\030\002 " + + "\001(\r\0226\n\010elements\030\003 \003(\0132$.mxaccess_gateway" + + ".v1.MxSparseElement\"M\n\017MxSparseElement\022\r" + + "\n\005index\030\001 \001(\r\022+\n\005value\030\002 \001(\0132\034.mxaccess_" + + "gateway.v1.MxValue\"\033\n\tBoolArray\022\016\n\006value" + + "s\030\001 \003(\010\"\034\n\nInt32Array\022\016\n\006values\030\001 \003(\005\"\034\n" + + "\nInt64Array\022\016\n\006values\030\001 \003(\003\"\034\n\nFloatArra" + + "y\022\016\n\006values\030\001 \003(\002\"\035\n\013DoubleArray\022\016\n\006valu" + + "es\030\001 \003(\001\"\035\n\013StringArray\022\016\n\006values\030\001 \003(\t\"" + + "<\n\016TimestampArray\022*\n\006values\030\001 \003(\0132\032.goog" + + "le.protobuf.Timestamp\"\032\n\010RawArray\022\016\n\006val" + + "ues\030\001 \003(\014\"X\n\016ProtocolStatus\0225\n\004code\030\001 \001(" + + "\0162\'.mxaccess_gateway.v1.ProtocolStatusCo" + + "de\022\017\n\007message\030\002 \001(\t*\237\013\n\rMxCommandKind\022\037\n" + + "\033MX_COMMAND_KIND_UNSPECIFIED\020\000\022\034\n\030MX_COM" + + "MAND_KIND_REGISTER\020\001\022\036\n\032MX_COMMAND_KIND_" + + "UNREGISTER\020\002\022\034\n\030MX_COMMAND_KIND_ADD_ITEM" + + "\020\003\022\035\n\031MX_COMMAND_KIND_ADD_ITEM2\020\004\022\037\n\033MX_" + + "COMMAND_KIND_REMOVE_ITEM\020\005\022\032\n\026MX_COMMAND" + + "_KIND_ADVISE\020\006\022\035\n\031MX_COMMAND_KIND_UN_ADV" + + "ISE\020\007\022&\n\"MX_COMMAND_KIND_ADVISE_SUPERVIS" + + "ORY\020\010\022%\n!MX_COMMAND_KIND_ADD_BUFFERED_IT" + + "EM\020\t\0220\n,MX_COMMAND_KIND_SET_BUFFERED_UPD" + + "ATE_INTERVAL\020\n\022\033\n\027MX_COMMAND_KIND_SUSPEN" + + "D\020\013\022\034\n\030MX_COMMAND_KIND_ACTIVATE\020\014\022\031\n\025MX_" + + "COMMAND_KIND_WRITE\020\r\022\032\n\026MX_COMMAND_KIND_" + + "WRITE2\020\016\022!\n\035MX_COMMAND_KIND_WRITE_SECURE" + + "D\020\017\022\"\n\036MX_COMMAND_KIND_WRITE_SECURED2\020\020\022" + + "%\n!MX_COMMAND_KIND_AUTHENTICATE_USER\020\021\022(" + + "\n$MX_COMMAND_KIND_ARCHESTRA_USER_TO_ID\020\022" + + "\022!\n\035MX_COMMAND_KIND_ADD_ITEM_BULK\020\023\022$\n M" + + "X_COMMAND_KIND_ADVISE_ITEM_BULK\020\024\022$\n MX_" + + "COMMAND_KIND_REMOVE_ITEM_BULK\020\025\022\'\n#MX_CO" + + "MMAND_KIND_UN_ADVISE_ITEM_BULK\020\026\022\"\n\036MX_C" + + "OMMAND_KIND_SUBSCRIBE_BULK\020\027\022$\n MX_COMMA" + + "ND_KIND_UNSUBSCRIBE_BULK\020\030\022$\n MX_COMMAND" + + "_KIND_SUBSCRIBE_ALARMS\020\031\022&\n\"MX_COMMAND_K" + + "IND_UNSUBSCRIBE_ALARMS\020\032\022%\n!MX_COMMAND_K" + + "IND_ACKNOWLEDGE_ALARM\020\033\022\'\n#MX_COMMAND_KI" + + "ND_QUERY_ACTIVE_ALARMS\020\034\022-\n)MX_COMMAND_K" + + "IND_ACKNOWLEDGE_ALARM_BY_NAME\020\035\022\036\n\032MX_CO" + + "MMAND_KIND_WRITE_BULK\020\036\022\037\n\033MX_COMMAND_KI" + + "ND_WRITE2_BULK\020\037\022&\n\"MX_COMMAND_KIND_WRIT" + + "E_SECURED_BULK\020 \022\'\n#MX_COMMAND_KIND_WRIT" + + "E_SECURED2_BULK\020!\022\035\n\031MX_COMMAND_KIND_REA" + + "D_BULK\020\"\022\030\n\024MX_COMMAND_KIND_PING\020d\022%\n!MX" + + "_COMMAND_KIND_GET_SESSION_STATE\020e\022#\n\037MX_" + + "COMMAND_KIND_GET_WORKER_INFO\020f\022 \n\034MX_COM" + + "MAND_KIND_DRAIN_EVENTS\020g\022#\n\037MX_COMMAND_K" + + "IND_SHUTDOWN_WORKER\020h*z\n\021AlarmProviderMo" + + "de\022#\n\037ALARM_PROVIDER_MODE_UNSPECIFIED\020\000\022" + + " \n\034ALARM_PROVIDER_MODE_ALARMMGR\020\001\022\036\n\032ALA" + + "RM_PROVIDER_MODE_SUBTAG\020\002*\255\002\n\rMxEventFam" + + "ily\022\037\n\033MX_EVENT_FAMILY_UNSPECIFIED\020\000\022\"\n\036" + + "MX_EVENT_FAMILY_ON_DATA_CHANGE\020\001\022%\n!MX_E" + + "VENT_FAMILY_ON_WRITE_COMPLETE\020\002\022&\n\"MX_EV" + + "ENT_FAMILY_OPERATION_COMPLETE\020\003\022+\n\'MX_EV" + + "ENT_FAMILY_ON_BUFFERED_DATA_CHANGE\020\004\022\'\n#" + + "MX_EVENT_FAMILY_ON_ALARM_TRANSITION\020\005\0222\n" + + ".MX_EVENT_FAMILY_ON_ALARM_PROVIDER_MODE_" + + "CHANGED\020\006*\312\001\n\023AlarmTransitionKind\022%\n!ALA" + + "RM_TRANSITION_KIND_UNSPECIFIED\020\000\022\037\n\033ALAR" + + "M_TRANSITION_KIND_RAISE\020\001\022%\n!ALARM_TRANS" + + "ITION_KIND_ACKNOWLEDGE\020\002\022\037\n\033ALARM_TRANSI" + + "TION_KIND_CLEAR\020\003\022#\n\037ALARM_TRANSITION_KI" + + "ND_RETRIGGER\020\004*\252\001\n\023AlarmConditionState\022%" + + "\n!ALARM_CONDITION_STATE_UNSPECIFIED\020\000\022 \n" + + "\034ALARM_CONDITION_STATE_ACTIVE\020\001\022&\n\"ALARM" + + "_CONDITION_STATE_ACTIVE_ACKED\020\002\022\"\n\036ALARM" + + "_CONDITION_STATE_INACTIVE\020\003*\245\003\n\020MxStatus" + + "Category\022\"\n\036MX_STATUS_CATEGORY_UNSPECIFI" + + "ED\020\000\022\036\n\032MX_STATUS_CATEGORY_UNKNOWN\020\001\022\031\n\025" + + "MX_STATUS_CATEGORY_OK\020\002\022\036\n\032MX_STATUS_CAT" + + "EGORY_PENDING\020\003\022\036\n\032MX_STATUS_CATEGORY_WA" + + "RNING\020\004\022*\n&MX_STATUS_CATEGORY_COMMUNICAT" + + "ION_ERROR\020\005\022*\n&MX_STATUS_CATEGORY_CONFIG" + + "URATION_ERROR\020\006\022(\n$MX_STATUS_CATEGORY_OP" + + "ERATIONAL_ERROR\020\007\022%\n!MX_STATUS_CATEGORY_" + + "SECURITY_ERROR\020\010\022%\n!MX_STATUS_CATEGORY_S" + + "OFTWARE_ERROR\020\t\022\"\n\036MX_STATUS_CATEGORY_OT" + + "HER_ERROR\020\n*\312\002\n\016MxStatusSource\022 \n\034MX_STA" + + "TUS_SOURCE_UNSPECIFIED\020\000\022\034\n\030MX_STATUS_SO" + + "URCE_UNKNOWN\020\001\022#\n\037MX_STATUS_SOURCE_REQUE" + + "STING_LMX\020\002\022#\n\037MX_STATUS_SOURCE_RESPONDI" + + "NG_LMX\020\003\022#\n\037MX_STATUS_SOURCE_REQUESTING_" + + "NMX\020\004\022#\n\037MX_STATUS_SOURCE_RESPONDING_NMX" + + "\020\005\0221\n-MX_STATUS_SOURCE_REQUESTING_AUTOMA" + + "TION_OBJECT\020\006\0221\n-MX_STATUS_SOURCE_RESPON" + + "DING_AUTOMATION_OBJECT\020\007*\335\004\n\nMxDataType\022" + + "\034\n\030MX_DATA_TYPE_UNSPECIFIED\020\000\022\030\n\024MX_DATA" + + "_TYPE_UNKNOWN\020\001\022\030\n\024MX_DATA_TYPE_NO_DATA\020" + + "\002\022\030\n\024MX_DATA_TYPE_BOOLEAN\020\003\022\030\n\024MX_DATA_T" + + "YPE_INTEGER\020\004\022\026\n\022MX_DATA_TYPE_FLOAT\020\005\022\027\n" + + "\023MX_DATA_TYPE_DOUBLE\020\006\022\027\n\023MX_DATA_TYPE_S" + + "TRING\020\007\022\025\n\021MX_DATA_TYPE_TIME\020\010\022\035\n\031MX_DAT" + + "A_TYPE_ELAPSED_TIME\020\t\022\037\n\033MX_DATA_TYPE_RE" + + "FERENCE_TYPE\020\n\022\034\n\030MX_DATA_TYPE_STATUS_TY" + + "PE\020\013\022\025\n\021MX_DATA_TYPE_ENUM\020\014\022-\n)MX_DATA_T" + + "YPE_SECURITY_CLASSIFICATION_ENUM\020\r\022\"\n\036MX" + + "_DATA_TYPE_DATA_QUALITY_TYPE\020\016\022\037\n\033MX_DAT" + + "A_TYPE_QUALIFIED_ENUM\020\017\022!\n\035MX_DATA_TYPE_" + + "QUALIFIED_STRUCT\020\020\022)\n%MX_DATA_TYPE_INTER" + + "NATIONALIZED_STRING\020\021\022\033\n\027MX_DATA_TYPE_BI" + + "G_STRING\020\022\022\024\n\020MX_DATA_TYPE_END\020\023*\243\003\n\022Pro" + + "tocolStatusCode\022$\n PROTOCOL_STATUS_CODE_" + + "UNSPECIFIED\020\000\022\033\n\027PROTOCOL_STATUS_CODE_OK" + + "\020\001\022(\n$PROTOCOL_STATUS_CODE_INVALID_REQUE" + + "ST\020\002\022*\n&PROTOCOL_STATUS_CODE_SESSION_NOT" + + "_FOUND\020\003\022*\n&PROTOCOL_STATUS_CODE_SESSION" + + "_NOT_READY\020\004\022+\n\'PROTOCOL_STATUS_CODE_WOR" + + "KER_UNAVAILABLE\020\005\022 \n\034PROTOCOL_STATUS_COD" + + "E_TIMEOUT\020\006\022!\n\035PROTOCOL_STATUS_CODE_CANC" + + "ELED\020\007\022+\n\'PROTOCOL_STATUS_CODE_PROTOCOL_" + + "VIOLATION\020\010\022)\n%PROTOCOL_STATUS_CODE_MXAC" + + "CESS_FAILURE\020\t*\277\002\n\014SessionState\022\035\n\031SESSI" + + "ON_STATE_UNSPECIFIED\020\000\022\032\n\026SESSION_STATE_" + + "CREATING\020\001\022!\n\035SESSION_STATE_STARTING_WOR" + + "KER\020\002\022\"\n\036SESSION_STATE_WAITING_FOR_PIPE\020" + + "\003\022\035\n\031SESSION_STATE_HANDSHAKING\020\004\022%\n!SESS" + + "ION_STATE_INITIALIZING_WORKER\020\005\022\027\n\023SESSI" + + "ON_STATE_READY\020\006\022\031\n\025SESSION_STATE_CLOSIN" + + "G\020\007\022\030\n\024SESSION_STATE_CLOSED\020\010\022\031\n\025SESSION" + + "_STATE_FAULTED\020\t2\303\005\n\017MxAccessGateway\022]\n\013" + + "OpenSession\022\'.mxaccess_gateway.v1.OpenSe" + + "ssionRequest\032%.mxaccess_gateway.v1.OpenS" + + "essionReply\022`\n\014CloseSession\022(.mxaccess_g" + + "ateway.v1.CloseSessionRequest\032&.mxaccess" + + "_gateway.v1.CloseSessionReply\022T\n\006Invoke\022" + + "%.mxaccess_gateway.v1.MxCommandRequest\032#" + + ".mxaccess_gateway.v1.MxCommandReply\022X\n\014S" + + "treamEvents\022(.mxaccess_gateway.v1.Stream" + + "EventsRequest\032\034.mxaccess_gateway.v1.MxEv" + + "ent0\001\022l\n\020AcknowledgeAlarm\022,.mxaccess_gat" + + "eway.v1.AcknowledgeAlarmRequest\032*.mxacce" + + "ss_gateway.v1.AcknowledgeAlarmReply\022a\n\014S" + + "treamAlarms\022(.mxaccess_gateway.v1.Stream" + + "AlarmsRequest\032%.mxaccess_gateway.v1.Alar" + + "mFeedMessage0\001\022n\n\021QueryActiveAlarms\022-.mx" + + "access_gateway.v1.QueryActiveAlarmsReque" + + "st\032(.mxaccess_gateway.v1.ActiveAlarmSnap" + + "shot0\001B&\252\002#ZB.MOM.WW.MxGateway.Contracts" + + ".Protob\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -96036,375 +105064,417 @@ public final class MxaccessGateway extends com.google.protobuf.GeneratedFile { internal_static_mxaccess_gateway_v1_SubscribeAlarmsCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_SubscribeAlarmsCommand_descriptor, - new java.lang.String[] { "SubscriptionExpression", }); + new java.lang.String[] { "SubscriptionExpression", "ForcedMode", "WatchList", "Failover", }); internal_static_mxaccess_gateway_v1_UnsubscribeAlarmsCommand_descriptor = getDescriptor().getMessageType(32); internal_static_mxaccess_gateway_v1_UnsubscribeAlarmsCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_UnsubscribeAlarmsCommand_descriptor, new java.lang.String[] { }); - internal_static_mxaccess_gateway_v1_AcknowledgeAlarmCommand_descriptor = + internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor = getDescriptor().getMessageType(33); + internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_AlarmSubtagTarget_descriptor, + new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "ActiveSubtag", "AckedSubtag", "AckCommentSubtag", "PrioritySubtag", }); + internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor = + getDescriptor().getMessageType(34); + internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_AlarmFailoverConfig_descriptor, + new java.lang.String[] { "ConsecutiveFailureThreshold", "FailbackProbeIntervalSeconds", "FailbackStableProbes", }); + internal_static_mxaccess_gateway_v1_AcknowledgeAlarmCommand_descriptor = + getDescriptor().getMessageType(35); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AcknowledgeAlarmCommand_descriptor, new java.lang.String[] { "AlarmGuid", "Comment", "OperatorUser", "OperatorNode", "OperatorDomain", "OperatorFullName", }); internal_static_mxaccess_gateway_v1_QueryActiveAlarmsCommand_descriptor = - getDescriptor().getMessageType(34); + getDescriptor().getMessageType(36); internal_static_mxaccess_gateway_v1_QueryActiveAlarmsCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_QueryActiveAlarmsCommand_descriptor, new java.lang.String[] { "AlarmFilterPrefix", }); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmByNameCommand_descriptor = - getDescriptor().getMessageType(35); + getDescriptor().getMessageType(37); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmByNameCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AcknowledgeAlarmByNameCommand_descriptor, new java.lang.String[] { "AlarmName", "ProviderName", "GroupName", "Comment", "OperatorUser", "OperatorNode", "OperatorDomain", "OperatorFullName", }); internal_static_mxaccess_gateway_v1_UnsubscribeBulkCommand_descriptor = - getDescriptor().getMessageType(36); + getDescriptor().getMessageType(38); internal_static_mxaccess_gateway_v1_UnsubscribeBulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_UnsubscribeBulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "ItemHandles", }); internal_static_mxaccess_gateway_v1_WriteBulkCommand_descriptor = - getDescriptor().getMessageType(37); + getDescriptor().getMessageType(39); internal_static_mxaccess_gateway_v1_WriteBulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteBulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "Entries", }); internal_static_mxaccess_gateway_v1_WriteBulkEntry_descriptor = - getDescriptor().getMessageType(38); + getDescriptor().getMessageType(40); internal_static_mxaccess_gateway_v1_WriteBulkEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteBulkEntry_descriptor, new java.lang.String[] { "ItemHandle", "Value", "UserId", }); internal_static_mxaccess_gateway_v1_Write2BulkCommand_descriptor = - getDescriptor().getMessageType(39); + getDescriptor().getMessageType(41); internal_static_mxaccess_gateway_v1_Write2BulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_Write2BulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "Entries", }); internal_static_mxaccess_gateway_v1_Write2BulkEntry_descriptor = - getDescriptor().getMessageType(40); + getDescriptor().getMessageType(42); internal_static_mxaccess_gateway_v1_Write2BulkEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_Write2BulkEntry_descriptor, new java.lang.String[] { "ItemHandle", "Value", "TimestampValue", "UserId", }); internal_static_mxaccess_gateway_v1_WriteSecuredBulkCommand_descriptor = - getDescriptor().getMessageType(41); + getDescriptor().getMessageType(43); internal_static_mxaccess_gateway_v1_WriteSecuredBulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteSecuredBulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "Entries", }); internal_static_mxaccess_gateway_v1_WriteSecuredBulkEntry_descriptor = - getDescriptor().getMessageType(42); + getDescriptor().getMessageType(44); internal_static_mxaccess_gateway_v1_WriteSecuredBulkEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteSecuredBulkEntry_descriptor, new java.lang.String[] { "ItemHandle", "CurrentUserId", "VerifierUserId", "Value", }); internal_static_mxaccess_gateway_v1_WriteSecured2BulkCommand_descriptor = - getDescriptor().getMessageType(43); + getDescriptor().getMessageType(45); internal_static_mxaccess_gateway_v1_WriteSecured2BulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteSecured2BulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "Entries", }); internal_static_mxaccess_gateway_v1_WriteSecured2BulkEntry_descriptor = - getDescriptor().getMessageType(44); + getDescriptor().getMessageType(46); internal_static_mxaccess_gateway_v1_WriteSecured2BulkEntry_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WriteSecured2BulkEntry_descriptor, new java.lang.String[] { "ItemHandle", "CurrentUserId", "VerifierUserId", "Value", "TimestampValue", }); internal_static_mxaccess_gateway_v1_ReadBulkCommand_descriptor = - getDescriptor().getMessageType(45); + getDescriptor().getMessageType(47); internal_static_mxaccess_gateway_v1_ReadBulkCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ReadBulkCommand_descriptor, new java.lang.String[] { "ServerHandle", "TagAddresses", "TimeoutMs", }); internal_static_mxaccess_gateway_v1_PingCommand_descriptor = - getDescriptor().getMessageType(46); + getDescriptor().getMessageType(48); internal_static_mxaccess_gateway_v1_PingCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_PingCommand_descriptor, new java.lang.String[] { "Message", }); internal_static_mxaccess_gateway_v1_GetSessionStateCommand_descriptor = - getDescriptor().getMessageType(47); + getDescriptor().getMessageType(49); internal_static_mxaccess_gateway_v1_GetSessionStateCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_GetSessionStateCommand_descriptor, new java.lang.String[] { }); internal_static_mxaccess_gateway_v1_GetWorkerInfoCommand_descriptor = - getDescriptor().getMessageType(48); + getDescriptor().getMessageType(50); internal_static_mxaccess_gateway_v1_GetWorkerInfoCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_GetWorkerInfoCommand_descriptor, new java.lang.String[] { }); internal_static_mxaccess_gateway_v1_DrainEventsCommand_descriptor = - getDescriptor().getMessageType(49); + getDescriptor().getMessageType(51); internal_static_mxaccess_gateway_v1_DrainEventsCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_DrainEventsCommand_descriptor, new java.lang.String[] { "MaxEvents", }); internal_static_mxaccess_gateway_v1_ShutdownWorkerCommand_descriptor = - getDescriptor().getMessageType(50); + getDescriptor().getMessageType(52); internal_static_mxaccess_gateway_v1_ShutdownWorkerCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ShutdownWorkerCommand_descriptor, new java.lang.String[] { "GracePeriod", }); internal_static_mxaccess_gateway_v1_MxCommandReply_descriptor = - getDescriptor().getMessageType(51); + getDescriptor().getMessageType(53); internal_static_mxaccess_gateway_v1_MxCommandReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_MxCommandReply_descriptor, new java.lang.String[] { "SessionId", "CorrelationId", "Kind", "ProtocolStatus", "Hresult", "ReturnValue", "Statuses", "DiagnosticMessage", "Register", "AddItem", "AddItem2", "AddBufferedItem", "Suspend", "Activate", "AuthenticateUser", "ArchestraUserToId", "AddItemBulk", "AdviseItemBulk", "RemoveItemBulk", "UnAdviseItemBulk", "SubscribeBulk", "UnsubscribeBulk", "AcknowledgeAlarm", "QueryActiveAlarms", "WriteBulk", "Write2Bulk", "WriteSecuredBulk", "WriteSecured2Bulk", "ReadBulk", "SessionState", "WorkerInfo", "DrainEvents", "Payload", }); internal_static_mxaccess_gateway_v1_RegisterReply_descriptor = - getDescriptor().getMessageType(52); + getDescriptor().getMessageType(54); internal_static_mxaccess_gateway_v1_RegisterReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_RegisterReply_descriptor, new java.lang.String[] { "ServerHandle", }); internal_static_mxaccess_gateway_v1_AddItemReply_descriptor = - getDescriptor().getMessageType(53); + getDescriptor().getMessageType(55); internal_static_mxaccess_gateway_v1_AddItemReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AddItemReply_descriptor, new java.lang.String[] { "ItemHandle", }); internal_static_mxaccess_gateway_v1_AddItem2Reply_descriptor = - getDescriptor().getMessageType(54); + getDescriptor().getMessageType(56); internal_static_mxaccess_gateway_v1_AddItem2Reply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AddItem2Reply_descriptor, new java.lang.String[] { "ItemHandle", }); internal_static_mxaccess_gateway_v1_AddBufferedItemReply_descriptor = - getDescriptor().getMessageType(55); + getDescriptor().getMessageType(57); internal_static_mxaccess_gateway_v1_AddBufferedItemReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AddBufferedItemReply_descriptor, new java.lang.String[] { "ItemHandle", }); internal_static_mxaccess_gateway_v1_SuspendReply_descriptor = - getDescriptor().getMessageType(56); + getDescriptor().getMessageType(58); internal_static_mxaccess_gateway_v1_SuspendReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_SuspendReply_descriptor, new java.lang.String[] { "Status", }); internal_static_mxaccess_gateway_v1_ActivateReply_descriptor = - getDescriptor().getMessageType(57); + getDescriptor().getMessageType(59); internal_static_mxaccess_gateway_v1_ActivateReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ActivateReply_descriptor, new java.lang.String[] { "Status", }); internal_static_mxaccess_gateway_v1_AuthenticateUserReply_descriptor = - getDescriptor().getMessageType(58); + getDescriptor().getMessageType(60); internal_static_mxaccess_gateway_v1_AuthenticateUserReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AuthenticateUserReply_descriptor, new java.lang.String[] { "UserId", }); internal_static_mxaccess_gateway_v1_ArchestrAUserToIdReply_descriptor = - getDescriptor().getMessageType(59); + getDescriptor().getMessageType(61); internal_static_mxaccess_gateway_v1_ArchestrAUserToIdReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ArchestrAUserToIdReply_descriptor, new java.lang.String[] { "UserId", }); internal_static_mxaccess_gateway_v1_SubscribeResult_descriptor = - getDescriptor().getMessageType(60); + getDescriptor().getMessageType(62); internal_static_mxaccess_gateway_v1_SubscribeResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_SubscribeResult_descriptor, new java.lang.String[] { "ServerHandle", "TagAddress", "ItemHandle", "WasSuccessful", "ErrorMessage", }); internal_static_mxaccess_gateway_v1_BulkSubscribeReply_descriptor = - getDescriptor().getMessageType(61); + getDescriptor().getMessageType(63); internal_static_mxaccess_gateway_v1_BulkSubscribeReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BulkSubscribeReply_descriptor, new java.lang.String[] { "Results", }); internal_static_mxaccess_gateway_v1_BulkWriteResult_descriptor = - getDescriptor().getMessageType(62); + getDescriptor().getMessageType(64); internal_static_mxaccess_gateway_v1_BulkWriteResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BulkWriteResult_descriptor, new java.lang.String[] { "ServerHandle", "ItemHandle", "WasSuccessful", "Hresult", "Statuses", "ErrorMessage", }); internal_static_mxaccess_gateway_v1_BulkWriteReply_descriptor = - getDescriptor().getMessageType(63); + getDescriptor().getMessageType(65); internal_static_mxaccess_gateway_v1_BulkWriteReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BulkWriteReply_descriptor, new java.lang.String[] { "Results", }); internal_static_mxaccess_gateway_v1_BulkReadResult_descriptor = - getDescriptor().getMessageType(64); + getDescriptor().getMessageType(66); internal_static_mxaccess_gateway_v1_BulkReadResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BulkReadResult_descriptor, new java.lang.String[] { "ServerHandle", "TagAddress", "ItemHandle", "WasSuccessful", "WasCached", "Value", "Quality", "SourceTimestamp", "Statuses", "ErrorMessage", }); internal_static_mxaccess_gateway_v1_BulkReadReply_descriptor = - getDescriptor().getMessageType(65); + getDescriptor().getMessageType(67); internal_static_mxaccess_gateway_v1_BulkReadReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BulkReadReply_descriptor, new java.lang.String[] { "Results", }); internal_static_mxaccess_gateway_v1_SessionStateReply_descriptor = - getDescriptor().getMessageType(66); + getDescriptor().getMessageType(68); internal_static_mxaccess_gateway_v1_SessionStateReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_SessionStateReply_descriptor, new java.lang.String[] { "State", }); internal_static_mxaccess_gateway_v1_WorkerInfoReply_descriptor = - getDescriptor().getMessageType(67); + getDescriptor().getMessageType(69); internal_static_mxaccess_gateway_v1_WorkerInfoReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_WorkerInfoReply_descriptor, new java.lang.String[] { "WorkerProcessId", "WorkerVersion", "MxaccessProgid", "MxaccessClsid", }); internal_static_mxaccess_gateway_v1_DrainEventsReply_descriptor = - getDescriptor().getMessageType(68); + getDescriptor().getMessageType(70); internal_static_mxaccess_gateway_v1_DrainEventsReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_DrainEventsReply_descriptor, new java.lang.String[] { "Events", }); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReplyPayload_descriptor = - getDescriptor().getMessageType(69); + getDescriptor().getMessageType(71); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReplyPayload_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReplyPayload_descriptor, new java.lang.String[] { "NativeStatus", }); internal_static_mxaccess_gateway_v1_QueryActiveAlarmsReplyPayload_descriptor = - getDescriptor().getMessageType(70); + getDescriptor().getMessageType(72); internal_static_mxaccess_gateway_v1_QueryActiveAlarmsReplyPayload_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_QueryActiveAlarmsReplyPayload_descriptor, new java.lang.String[] { "Snapshots", }); internal_static_mxaccess_gateway_v1_MxEvent_descriptor = - getDescriptor().getMessageType(71); + getDescriptor().getMessageType(73); internal_static_mxaccess_gateway_v1_MxEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_MxEvent_descriptor, - new java.lang.String[] { "Family", "SessionId", "ServerHandle", "ItemHandle", "Value", "Quality", "SourceTimestamp", "Statuses", "WorkerSequence", "WorkerTimestamp", "GatewayReceiveTimestamp", "Hresult", "RawStatus", "OnDataChange", "OnWriteComplete", "OperationComplete", "OnBufferedDataChange", "OnAlarmTransition", "Body", }); + new java.lang.String[] { "Family", "SessionId", "ServerHandle", "ItemHandle", "Value", "Quality", "SourceTimestamp", "Statuses", "WorkerSequence", "WorkerTimestamp", "GatewayReceiveTimestamp", "Hresult", "RawStatus", "ReplayGap", "OnDataChange", "OnWriteComplete", "OperationComplete", "OnBufferedDataChange", "OnAlarmTransition", "OnAlarmProviderModeChanged", "Body", }); + internal_static_mxaccess_gateway_v1_ReplayGap_descriptor = + getDescriptor().getMessageType(74); + internal_static_mxaccess_gateway_v1_ReplayGap_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_ReplayGap_descriptor, + new java.lang.String[] { "RequestedAfterSequence", "OldestAvailableSequence", }); internal_static_mxaccess_gateway_v1_OnDataChangeEvent_descriptor = - getDescriptor().getMessageType(72); + getDescriptor().getMessageType(75); internal_static_mxaccess_gateway_v1_OnDataChangeEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_OnDataChangeEvent_descriptor, new java.lang.String[] { }); internal_static_mxaccess_gateway_v1_OnWriteCompleteEvent_descriptor = - getDescriptor().getMessageType(73); + getDescriptor().getMessageType(76); internal_static_mxaccess_gateway_v1_OnWriteCompleteEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_OnWriteCompleteEvent_descriptor, new java.lang.String[] { }); internal_static_mxaccess_gateway_v1_OperationCompleteEvent_descriptor = - getDescriptor().getMessageType(74); + getDescriptor().getMessageType(77); internal_static_mxaccess_gateway_v1_OperationCompleteEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_OperationCompleteEvent_descriptor, new java.lang.String[] { }); internal_static_mxaccess_gateway_v1_OnBufferedDataChangeEvent_descriptor = - getDescriptor().getMessageType(75); + getDescriptor().getMessageType(78); internal_static_mxaccess_gateway_v1_OnBufferedDataChangeEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_OnBufferedDataChangeEvent_descriptor, new java.lang.String[] { "DataType", "QualityValues", "TimestampValues", "RawDataType", }); internal_static_mxaccess_gateway_v1_OnAlarmTransitionEvent_descriptor = - getDescriptor().getMessageType(76); + getDescriptor().getMessageType(79); internal_static_mxaccess_gateway_v1_OnAlarmTransitionEvent_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_OnAlarmTransitionEvent_descriptor, - new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "TransitionKind", "Severity", "OriginalRaiseTimestamp", "TransitionTimestamp", "OperatorUser", "OperatorComment", "Category", "Description", "CurrentValue", "LimitValue", }); + new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "TransitionKind", "Severity", "OriginalRaiseTimestamp", "TransitionTimestamp", "OperatorUser", "OperatorComment", "Category", "Description", "CurrentValue", "LimitValue", "Degraded", "SourceProvider", }); + internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor = + getDescriptor().getMessageType(80); + internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_OnAlarmProviderModeChangedEvent_descriptor, + new java.lang.String[] { "Mode", "Reason", "Hresult", "At", }); internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_descriptor = - getDescriptor().getMessageType(77); + getDescriptor().getMessageType(81); internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ActiveAlarmSnapshot_descriptor, - new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "Severity", "OriginalRaiseTimestamp", "CurrentState", "Category", "Description", "LastTransitionTimestamp", "OperatorUser", "OperatorComment", "CurrentValue", "LimitValue", }); + new java.lang.String[] { "AlarmFullReference", "SourceObjectReference", "AlarmTypeName", "Severity", "OriginalRaiseTimestamp", "CurrentState", "Category", "Description", "LastTransitionTimestamp", "OperatorUser", "OperatorComment", "CurrentValue", "LimitValue", "Degraded", "SourceProvider", }); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmRequest_descriptor = - getDescriptor().getMessageType(78); + getDescriptor().getMessageType(82); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AcknowledgeAlarmRequest_descriptor, new java.lang.String[] { "ClientCorrelationId", "AlarmFullReference", "Comment", "OperatorUser", }); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReply_descriptor = - getDescriptor().getMessageType(79); + getDescriptor().getMessageType(83); internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReply_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AcknowledgeAlarmReply_descriptor, new java.lang.String[] { "CorrelationId", "ProtocolStatus", "Hresult", "Status", "DiagnosticMessage", }); internal_static_mxaccess_gateway_v1_StreamAlarmsRequest_descriptor = - getDescriptor().getMessageType(80); + getDescriptor().getMessageType(84); internal_static_mxaccess_gateway_v1_StreamAlarmsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_StreamAlarmsRequest_descriptor, new java.lang.String[] { "ClientCorrelationId", "AlarmFilterPrefix", }); internal_static_mxaccess_gateway_v1_AlarmFeedMessage_descriptor = - getDescriptor().getMessageType(81); + getDescriptor().getMessageType(85); internal_static_mxaccess_gateway_v1_AlarmFeedMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_AlarmFeedMessage_descriptor, - new java.lang.String[] { "ActiveAlarm", "SnapshotComplete", "Transition", "Payload", }); + new java.lang.String[] { "ActiveAlarm", "SnapshotComplete", "Transition", "ProviderStatus", "Payload", }); + internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor = + getDescriptor().getMessageType(86); + internal_static_mxaccess_gateway_v1_AlarmProviderStatus_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_AlarmProviderStatus_descriptor, + new java.lang.String[] { "Mode", "Degraded", "Reason", "Since", }); internal_static_mxaccess_gateway_v1_MxStatusProxy_descriptor = - getDescriptor().getMessageType(82); + getDescriptor().getMessageType(87); internal_static_mxaccess_gateway_v1_MxStatusProxy_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_MxStatusProxy_descriptor, new java.lang.String[] { "Success", "Category", "DetectedBy", "Detail", "RawCategory", "RawDetectedBy", "DiagnosticText", }); internal_static_mxaccess_gateway_v1_MxValue_descriptor = - getDescriptor().getMessageType(83); + getDescriptor().getMessageType(88); internal_static_mxaccess_gateway_v1_MxValue_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_MxValue_descriptor, - new java.lang.String[] { "DataType", "VariantType", "IsNull", "RawDiagnostic", "RawDataType", "BoolValue", "Int32Value", "Int64Value", "FloatValue", "DoubleValue", "StringValue", "TimestampValue", "ArrayValue", "RawValue", "Kind", }); + new java.lang.String[] { "DataType", "VariantType", "IsNull", "RawDiagnostic", "RawDataType", "BoolValue", "Int32Value", "Int64Value", "FloatValue", "DoubleValue", "StringValue", "TimestampValue", "ArrayValue", "RawValue", "SparseArrayValue", "Kind", }); internal_static_mxaccess_gateway_v1_MxArray_descriptor = - getDescriptor().getMessageType(84); + getDescriptor().getMessageType(89); internal_static_mxaccess_gateway_v1_MxArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_MxArray_descriptor, new java.lang.String[] { "ElementDataType", "VariantType", "Dimensions", "RawDiagnostic", "RawElementDataType", "BoolValues", "Int32Values", "Int64Values", "FloatValues", "DoubleValues", "StringValues", "TimestampValues", "RawValues", "Values", }); + internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor = + getDescriptor().getMessageType(90); + internal_static_mxaccess_gateway_v1_MxSparseArray_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_MxSparseArray_descriptor, + new java.lang.String[] { "ElementDataType", "TotalLength", "Elements", }); + internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor = + getDescriptor().getMessageType(91); + internal_static_mxaccess_gateway_v1_MxSparseElement_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_mxaccess_gateway_v1_MxSparseElement_descriptor, + new java.lang.String[] { "Index", "Value", }); internal_static_mxaccess_gateway_v1_BoolArray_descriptor = - getDescriptor().getMessageType(85); + getDescriptor().getMessageType(92); internal_static_mxaccess_gateway_v1_BoolArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_BoolArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_Int32Array_descriptor = - getDescriptor().getMessageType(86); + getDescriptor().getMessageType(93); internal_static_mxaccess_gateway_v1_Int32Array_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_Int32Array_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_Int64Array_descriptor = - getDescriptor().getMessageType(87); + getDescriptor().getMessageType(94); internal_static_mxaccess_gateway_v1_Int64Array_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_Int64Array_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_FloatArray_descriptor = - getDescriptor().getMessageType(88); + getDescriptor().getMessageType(95); internal_static_mxaccess_gateway_v1_FloatArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_FloatArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_DoubleArray_descriptor = - getDescriptor().getMessageType(89); + getDescriptor().getMessageType(96); internal_static_mxaccess_gateway_v1_DoubleArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_DoubleArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_StringArray_descriptor = - getDescriptor().getMessageType(90); + getDescriptor().getMessageType(97); internal_static_mxaccess_gateway_v1_StringArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_StringArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_TimestampArray_descriptor = - getDescriptor().getMessageType(91); + getDescriptor().getMessageType(98); internal_static_mxaccess_gateway_v1_TimestampArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_TimestampArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_RawArray_descriptor = - getDescriptor().getMessageType(92); + getDescriptor().getMessageType(99); internal_static_mxaccess_gateway_v1_RawArray_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_RawArray_descriptor, new java.lang.String[] { "Values", }); internal_static_mxaccess_gateway_v1_ProtocolStatus_descriptor = - getDescriptor().getMessageType(93); + getDescriptor().getMessageType(100); internal_static_mxaccess_gateway_v1_ProtocolStatus_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_mxaccess_gateway_v1_ProtocolStatus_descriptor, diff --git a/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewaySession.java b/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewaySession.java index 73b7d0c..7374981 100644 --- a/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewaySession.java +++ b/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxGatewaySession.java @@ -4,7 +4,9 @@ import java.security.SecureRandom; import java.time.Duration; import java.util.HexFormat; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.TreeMap; import mxaccess_gateway.v1.MxaccessGateway.AddItem2Command; import mxaccess_gateway.v1.MxaccessGateway.AddItemBulkCommand; import mxaccess_gateway.v1.MxaccessGateway.AddItemCommand; @@ -18,6 +20,9 @@ import mxaccess_gateway.v1.MxaccessGateway.MxCommand; import mxaccess_gateway.v1.MxaccessGateway.MxCommandKind; import mxaccess_gateway.v1.MxaccessGateway.MxCommandReply; import mxaccess_gateway.v1.MxaccessGateway.MxCommandRequest; +import mxaccess_gateway.v1.MxaccessGateway.MxDataType; +import mxaccess_gateway.v1.MxaccessGateway.MxSparseArray; +import mxaccess_gateway.v1.MxaccessGateway.MxSparseElement; import mxaccess_gateway.v1.MxaccessGateway.MxValue; import mxaccess_gateway.v1.MxaccessGateway.OpenSessionReply; import mxaccess_gateway.v1.MxaccessGateway.ReadBulkCommand; @@ -603,6 +608,54 @@ public final class MxGatewaySession implements AutoCloseable { .build()); } + /** + * Writes a subset of an array's elements using MXAccess {@code Write}, building a + * write-only {@link MxSparseArray} value that the gateway expands into a full, + * default-filled array before forwarding to the worker. + * + *

Default-fill semantics: only the indices supplied in + * {@code elements} are written; every unmentioned index is reset to the + * element type's default (for example {@code 0}, {@code false}, or an empty string), + * not preserved from the array's current contents. Use a full + * {@link MxValue} array write when you need to keep existing element values. + * + *

{@code totalLength} is required and defines the length of the expanded array; + * supplied indices must be within {@code [0, totalLength)}. Elements are iterated in + * ascending index order so the produced command is deterministic. + * + * @param serverHandle the {@code ServerHandle} owning the item + * @param itemHandle the {@code ItemHandle} to write + * @param elementDataType the {@link MxDataType} of the array's elements + * @param totalLength the total length of the expanded array + * @param elements the indices to write mapped to their scalar values; unmentioned + * indices are reset to the element type default + * @param userId the MXAccess user id used for security checks + * @throws MxGatewayException on transport or protocol failure + */ + public void writeArrayElements( + int serverHandle, + int itemHandle, + MxDataType elementDataType, + int totalLength, + Map elements, + int userId) { + Objects.requireNonNull(elementDataType, "elementDataType"); + Objects.requireNonNull(elements, "elements"); + MxSparseArray.Builder sparse = MxSparseArray.newBuilder() + .setElementDataType(elementDataType) + .setTotalLength(totalLength); + // Iterate in ascending index order so the built command is deterministic. + for (Map.Entry entry : new TreeMap<>(elements).entrySet()) { + sparse.addElements(MxSparseElement.newBuilder() + .setIndex(entry.getKey()) + .setValue(Objects.requireNonNull(entry.getValue(), "elements value"))); + } + MxValue value = MxValue.newBuilder() + .setSparseArrayValue(sparse) + .build(); + writeRaw(serverHandle, itemHandle, value, userId); + } + /** * Invokes MXAccess {@code Write2}, which carries an explicit timestamp. * diff --git a/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxValues.java b/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxValues.java index 2840ec4..6fc4faa 100644 --- a/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxValues.java +++ b/clients/java/zb-mom-ww-mxgateway-client/src/main/java/com/zb/mom/ww/mxgateway/client/MxValues.java @@ -153,6 +153,9 @@ public final class MxValues { case TIMESTAMP_VALUE -> instant(value.getTimestampValue()); case ARRAY_VALUE -> nativeArray(value.getArrayValue()); case RAW_VALUE -> value.getRawValue().toByteArray(); + // Write-only sparse descriptor: never produced by a read/decoded + // value, so it has no native representation. + case SPARSE_ARRAY_VALUE -> null; case KIND_NOT_SET -> null; }; } diff --git a/clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientSessionTests.java b/clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientSessionTests.java index 089fd96..06be396 100644 --- a/clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientSessionTests.java +++ b/clients/java/zb-mom-ww-mxgateway-client/src/test/java/com/zb/mom/ww/mxgateway/client/MxGatewayClientSessionTests.java @@ -19,6 +19,7 @@ import io.grpc.stub.ServerCallStreamObserver; import io.grpc.stub.StreamObserver; import java.time.Duration; import java.util.List; +import java.util.Map; import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -36,7 +37,10 @@ import mxaccess_gateway.v1.MxaccessGateway.CloseSessionRequest; import mxaccess_gateway.v1.MxaccessGateway.MxCommandKind; import mxaccess_gateway.v1.MxaccessGateway.MxCommandReply; import mxaccess_gateway.v1.MxaccessGateway.MxCommandRequest; +import mxaccess_gateway.v1.MxaccessGateway.MxDataType; import mxaccess_gateway.v1.MxaccessGateway.MxEvent; +import mxaccess_gateway.v1.MxaccessGateway.MxSparseElement; +import mxaccess_gateway.v1.MxaccessGateway.MxValue; import mxaccess_gateway.v1.MxaccessGateway.OpenSessionReply; import mxaccess_gateway.v1.MxaccessGateway.OpenSessionRequest; import mxaccess_gateway.v1.MxaccessGateway.ProtocolStatus; @@ -396,6 +400,57 @@ final class MxGatewayClientSessionTests { } } + @Test + void writeArrayElementsBuildsSparseArrayWriteCommand() throws Exception { + AtomicReference commandRequest = new AtomicReference<>(); + TestGatewayService service = new TestGatewayService() { + @Override + public void invoke(MxCommandRequest request, StreamObserver responseObserver) { + commandRequest.set(request); + responseObserver.onNext(MxCommandReply.newBuilder() + .setSessionId(request.getSessionId()) + .setKind(request.getCommand().getKind()) + .setProtocolStatus(ok()) + .build()); + responseObserver.onCompleted(); + } + }; + + try (InProcessGateway gateway = InProcessGateway.start(service, new AtomicReference<>()); + MxGatewayClient client = gateway.client("", Duration.ofSeconds(5))) { + MxGatewaySession session = MxGatewaySession.forSessionId(client, "sparse-session"); + + // Supply indices out of order to prove deterministic ascending iteration. + Map elements = Map.of( + 3, MxValues.int32Value(99), + 1, MxValues.int32Value(7)); + + session.writeArrayElements(12, 34, MxDataType.MX_DATA_TYPE_INTEGER, 5, elements, 56); + + MxCommandRequest request = commandRequest.get(); + assertNotNull(request); + assertEquals(MxCommandKind.MX_COMMAND_KIND_WRITE, request.getCommand().getKind()); + assertEquals(12, request.getCommand().getWrite().getServerHandle()); + assertEquals(34, request.getCommand().getWrite().getItemHandle()); + assertEquals(56, request.getCommand().getWrite().getUserId()); + + MxValue written = request.getCommand().getWrite().getValue(); + assertEquals(MxValue.KindCase.SPARSE_ARRAY_VALUE, written.getKindCase()); + assertEquals(5, written.getSparseArrayValue().getTotalLength()); + assertEquals( + MxDataType.MX_DATA_TYPE_INTEGER, + written.getSparseArrayValue().getElementDataType()); + + List sparse = written.getSparseArrayValue().getElementsList(); + assertEquals(2, sparse.size()); + // Ascending index order is guaranteed by the helper. + assertEquals(1, sparse.get(0).getIndex()); + assertEquals(7, sparse.get(0).getValue().getInt32Value()); + assertEquals(3, sparse.get(1).getIndex()); + assertEquals(99, sparse.get(1).getValue().getInt32Value()); + } + } + private static ProtocolStatus ok() { return ProtocolStatus.newBuilder() .setCode(ProtocolStatusCode.PROTOCOL_STATUS_CODE_OK)