diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/sitestream.proto b/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/sitestream.proto index 43af8af4..6beae55c 100644 --- a/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/sitestream.proto +++ b/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/sitestream.proto @@ -66,6 +66,23 @@ message AlarmStateUpdate { google.protobuf.Timestamp timestamp = 5; AlarmLevelEnum level = 6; // ALARM_LEVEL_NONE for binary trigger types; set by HiLo. string message = 7; // Optional per-band operator message; empty when unset. + + // Native alarm enrichment (additive — computed alarms leave these at defaults). + // kind: "Computed" | "NativeOpcUa" | "NativeMxAccess". + string kind = 8; + bool active = 9; // unified condition: active vs inactive + bool acknowledged = 10; // acked vs unacked + bool confirmed = 11; // confirmed (false when not confirmable) + string shelve_state = 12; // Unshelved | OneShotShelved | TimedShelved | PermanentShelved + bool suppressed = 13; + string source_reference = 14; // native per-condition key; empty for computed + string alarm_type_name = 15; + string category = 16; + string operator_user = 17; + string operator_comment = 18; + google.protobuf.Timestamp original_raise_time = 19; // null when unknown + string current_value = 20; + string limit_value = 21; } // Audit Log (#23) telemetry: single lifecycle event ferried from a site SQLite diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/SiteStreamGrpc/Sitestream.cs b/src/ZB.MOM.WW.ScadaBridge.Communication/SiteStreamGrpc/Sitestream.cs index 08687101..cebfccab 100644 --- a/src/ZB.MOM.WW.ScadaBridge.Communication/SiteStreamGrpc/Sitestream.cs +++ b/src/ZB.MOM.WW.ScadaBridge.Communication/SiteStreamGrpc/Sitestream.cs @@ -36,68 +36,75 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { "KAkSFgoOYXR0cmlidXRlX3BhdGgYAiABKAkSFgoOYXR0cmlidXRlX25hbWUY", "AyABKAkSDQoFdmFsdWUYBCABKAkSJAoHcXVhbGl0eRgFIAEoDjITLnNpdGVz", "dHJlYW0uUXVhbGl0eRItCgl0aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJv", - "dG9idWYuVGltZXN0YW1wIuwBChBBbGFybVN0YXRlVXBkYXRlEhwKFGluc3Rh", + "dG9idWYuVGltZXN0YW1wIrgEChBBbGFybVN0YXRlVXBkYXRlEhwKFGluc3Rh", "bmNlX3VuaXF1ZV9uYW1lGAEgASgJEhIKCmFsYXJtX25hbWUYAiABKAkSKQoF", "c3RhdGUYAyABKA4yGi5zaXRlc3RyZWFtLkFsYXJtU3RhdGVFbnVtEhAKCHBy", "aW9yaXR5GAQgASgFEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90", "b2J1Zi5UaW1lc3RhbXASKQoFbGV2ZWwYBiABKA4yGi5zaXRlc3RyZWFtLkFs", - "YXJtTGV2ZWxFbnVtEg8KB21lc3NhZ2UYByABKAkivQQKDUF1ZGl0RXZlbnRE", - "dG8SEAoIZXZlbnRfaWQYASABKAkSMwoPb2NjdXJyZWRfYXRfdXRjGAIgASgL", - "MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjaGFubmVsGAMgASgJ", - "EgwKBGtpbmQYBCABKAkSFgoOY29ycmVsYXRpb25faWQYBSABKAkSFgoOc291", - "cmNlX3NpdGVfaWQYBiABKAkSGgoSc291cmNlX2luc3RhbmNlX2lkGAcgASgJ", - "EhUKDXNvdXJjZV9zY3JpcHQYCCABKAkSDQoFYWN0b3IYCSABKAkSDgoGdGFy", - "Z2V0GAogASgJEg4KBnN0YXR1cxgLIAEoCRIwCgtodHRwX3N0YXR1cxgMIAEo", - "CzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjAKC2R1cmF0aW9uX21z", - "GA0gASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSFQoNZXJyb3Jf", - "bWVzc2FnZRgOIAEoCRIUCgxlcnJvcl9kZXRhaWwYDyABKAkSFwoPcmVxdWVz", - "dF9zdW1tYXJ5GBAgASgJEhgKEHJlc3BvbnNlX3N1bW1hcnkYESABKAkSGQoR", - "cGF5bG9hZF90cnVuY2F0ZWQYEiABKAgSDQoFZXh0cmEYEyABKAkSFAoMZXhl", - "Y3V0aW9uX2lkGBQgASgJEhsKE3BhcmVudF9leGVjdXRpb25faWQYFSABKAkS", - "EwoLc291cmNlX25vZGUYFiABKAkiPAoPQXVkaXRFdmVudEJhdGNoEikKBmV2", - "ZW50cxgBIAMoCzIZLnNpdGVzdHJlYW0uQXVkaXRFdmVudER0byInCglJbmdl", - "c3RBY2sSGgoSYWNjZXB0ZWRfZXZlbnRfaWRzGAEgAygJIokDChZTaXRlQ2Fs", - "bE9wZXJhdGlvbmFsRHRvEhwKFHRyYWNrZWRfb3BlcmF0aW9uX2lkGAEgASgJ", - "Eg8KB2NoYW5uZWwYAiABKAkSDgoGdGFyZ2V0GAMgASgJEhMKC3NvdXJjZV9z", - "aXRlGAQgASgJEg4KBnN0YXR1cxgFIAEoCRITCgtyZXRyeV9jb3VudBgGIAEo", - "BRISCgpsYXN0X2Vycm9yGAcgASgJEjAKC2h0dHBfc3RhdHVzGAggASgLMhsu", - "Z29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUSMgoOY3JlYXRlZF9hdF91dGMY", - "CSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDnVwZGF0ZWRf", - "YXRfdXRjGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg90", - "ZXJtaW5hbF9hdF91dGMYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0", - "YW1wEhMKC3NvdXJjZV9ub2RlGAwgASgJIoABChVDYWNoZWRUZWxlbWV0cnlQ", - "YWNrZXQSLgoLYXVkaXRfZXZlbnQYASABKAsyGS5zaXRlc3RyZWFtLkF1ZGl0", - "RXZlbnREdG8SNwoLb3BlcmF0aW9uYWwYAiABKAsyIi5zaXRlc3RyZWFtLlNp", - "dGVDYWxsT3BlcmF0aW9uYWxEdG8iSgoUQ2FjaGVkVGVsZW1ldHJ5QmF0Y2gS", - "MgoHcGFja2V0cxgBIAMoCzIhLnNpdGVzdHJlYW0uQ2FjaGVkVGVsZW1ldHJ5", - "UGFja2V0IlsKFlB1bGxBdWRpdEV2ZW50c1JlcXVlc3QSLQoJc2luY2VfdXRj", - "GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpiYXRjaF9z", - "aXplGAIgASgFIlwKF1B1bGxBdWRpdEV2ZW50c1Jlc3BvbnNlEikKBmV2ZW50", - "cxgBIAMoCzIZLnNpdGVzdHJlYW0uQXVkaXRFdmVudER0bxIWCg5tb3JlX2F2", - "YWlsYWJsZRgCIAEoCCpcCgdRdWFsaXR5EhcKE1FVQUxJVFlfVU5TUEVDSUZJ", - "RUQQABIQCgxRVUFMSVRZX0dPT0QQARIVChFRVUFMSVRZX1VOQ0VSVEFJThAC", - "Eg8KC1FVQUxJVFlfQkFEEAMqXQoOQWxhcm1TdGF0ZUVudW0SGwoXQUxBUk1f", - "U1RBVEVfVU5TUEVDSUZJRUQQABIWChJBTEFSTV9TVEFURV9OT1JNQUwQARIW", - "ChJBTEFSTV9TVEFURV9BQ1RJVkUQAiqFAQoOQWxhcm1MZXZlbEVudW0SFAoQ", - "QUxBUk1fTEVWRUxfTk9ORRAAEhMKD0FMQVJNX0xFVkVMX0xPVxABEhcKE0FM", - "QVJNX0xFVkVMX0xPV19MT1cQAhIUChBBTEFSTV9MRVZFTF9ISUdIEAMSGQoV", - "QUxBUk1fTEVWRUxfSElHSF9ISUdIEAQy4QIKEVNpdGVTdHJlYW1TZXJ2aWNl", - "ElUKEVN1YnNjcmliZUluc3RhbmNlEiEuc2l0ZXN0cmVhbS5JbnN0YW5jZVN0", - "cmVhbVJlcXVlc3QaGy5zaXRlc3RyZWFtLlNpdGVTdHJlYW1FdmVudDABEkcK", - "EUluZ2VzdEF1ZGl0RXZlbnRzEhsuc2l0ZXN0cmVhbS5BdWRpdEV2ZW50QmF0", - "Y2gaFS5zaXRlc3RyZWFtLkluZ2VzdEFjaxJQChVJbmdlc3RDYWNoZWRUZWxl", - "bWV0cnkSIC5zaXRlc3RyZWFtLkNhY2hlZFRlbGVtZXRyeUJhdGNoGhUuc2l0", - "ZXN0cmVhbS5Jbmdlc3RBY2sSWgoPUHVsbEF1ZGl0RXZlbnRzEiIuc2l0ZXN0", - "cmVhbS5QdWxsQXVkaXRFdmVudHNSZXF1ZXN0GiMuc2l0ZXN0cmVhbS5QdWxs", - "QXVkaXRFdmVudHNSZXNwb25zZUIfqgIcU2NhZGFMaW5rLkNvbW11bmljYXRp", - "b24uR3JwY2IGcHJvdG8z")); + "YXJtTGV2ZWxFbnVtEg8KB21lc3NhZ2UYByABKAkSDAoEa2luZBgIIAEoCRIO", + "CgZhY3RpdmUYCSABKAgSFAoMYWNrbm93bGVkZ2VkGAogASgIEhEKCWNvbmZp", + "cm1lZBgLIAEoCBIUCgxzaGVsdmVfc3RhdGUYDCABKAkSEgoKc3VwcHJlc3Nl", + "ZBgNIAEoCBIYChBzb3VyY2VfcmVmZXJlbmNlGA4gASgJEhcKD2FsYXJtX3R5", + "cGVfbmFtZRgPIAEoCRIQCghjYXRlZ29yeRgQIAEoCRIVCg1vcGVyYXRvcl91", + "c2VyGBEgASgJEhgKEG9wZXJhdG9yX2NvbW1lbnQYEiABKAkSNwoTb3JpZ2lu", + "YWxfcmFpc2VfdGltZRgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh", + "bXASFQoNY3VycmVudF92YWx1ZRgUIAEoCRITCgtsaW1pdF92YWx1ZRgVIAEo", + "CSK9BAoNQXVkaXRFdmVudER0bxIQCghldmVudF9pZBgBIAEoCRIzCg9vY2N1", + "cnJlZF9hdF91dGMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w", + "Eg8KB2NoYW5uZWwYAyABKAkSDAoEa2luZBgEIAEoCRIWCg5jb3JyZWxhdGlv", + "bl9pZBgFIAEoCRIWCg5zb3VyY2Vfc2l0ZV9pZBgGIAEoCRIaChJzb3VyY2Vf", + "aW5zdGFuY2VfaWQYByABKAkSFQoNc291cmNlX3NjcmlwdBgIIAEoCRINCgVh", + "Y3RvchgJIAEoCRIOCgZ0YXJnZXQYCiABKAkSDgoGc3RhdHVzGAsgASgJEjAK", + "C2h0dHBfc3RhdHVzGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFs", + "dWUSMAoLZHVyYXRpb25fbXMYDSABKAsyGy5nb29nbGUucHJvdG9idWYuSW50", + "MzJWYWx1ZRIVCg1lcnJvcl9tZXNzYWdlGA4gASgJEhQKDGVycm9yX2RldGFp", + "bBgPIAEoCRIXCg9yZXF1ZXN0X3N1bW1hcnkYECABKAkSGAoQcmVzcG9uc2Vf", + "c3VtbWFyeRgRIAEoCRIZChFwYXlsb2FkX3RydW5jYXRlZBgSIAEoCBINCgVl", + "eHRyYRgTIAEoCRIUCgxleGVjdXRpb25faWQYFCABKAkSGwoTcGFyZW50X2V4", + "ZWN1dGlvbl9pZBgVIAEoCRITCgtzb3VyY2Vfbm9kZRgWIAEoCSI8Cg9BdWRp", + "dEV2ZW50QmF0Y2gSKQoGZXZlbnRzGAEgAygLMhkuc2l0ZXN0cmVhbS5BdWRp", + "dEV2ZW50RHRvIicKCUluZ2VzdEFjaxIaChJhY2NlcHRlZF9ldmVudF9pZHMY", + "ASADKAkiiQMKFlNpdGVDYWxsT3BlcmF0aW9uYWxEdG8SHAoUdHJhY2tlZF9v", + "cGVyYXRpb25faWQYASABKAkSDwoHY2hhbm5lbBgCIAEoCRIOCgZ0YXJnZXQY", + "AyABKAkSEwoLc291cmNlX3NpdGUYBCABKAkSDgoGc3RhdHVzGAUgASgJEhMK", + "C3JldHJ5X2NvdW50GAYgASgFEhIKCmxhc3RfZXJyb3IYByABKAkSMAoLaHR0", + "cF9zdGF0dXMYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZRIy", + "Cg5jcmVhdGVkX2F0X3V0YxgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1l", + "c3RhbXASMgoOdXBkYXRlZF9hdF91dGMYCiABKAsyGi5nb29nbGUucHJvdG9i", + "dWYuVGltZXN0YW1wEjMKD3Rlcm1pbmFsX2F0X3V0YxgLIAEoCzIaLmdvb2ds", + "ZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLc291cmNlX25vZGUYDCABKAkigAEK", + "FUNhY2hlZFRlbGVtZXRyeVBhY2tldBIuCgthdWRpdF9ldmVudBgBIAEoCzIZ", + "LnNpdGVzdHJlYW0uQXVkaXRFdmVudER0bxI3CgtvcGVyYXRpb25hbBgCIAEo", + "CzIiLnNpdGVzdHJlYW0uU2l0ZUNhbGxPcGVyYXRpb25hbER0byJKChRDYWNo", + "ZWRUZWxlbWV0cnlCYXRjaBIyCgdwYWNrZXRzGAEgAygLMiEuc2l0ZXN0cmVh", + "bS5DYWNoZWRUZWxlbWV0cnlQYWNrZXQiWwoWUHVsbEF1ZGl0RXZlbnRzUmVx", + "dWVzdBItCglzaW5jZV91dGMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt", + "ZXN0YW1wEhIKCmJhdGNoX3NpemUYAiABKAUiXAoXUHVsbEF1ZGl0RXZlbnRz", + "UmVzcG9uc2USKQoGZXZlbnRzGAEgAygLMhkuc2l0ZXN0cmVhbS5BdWRpdEV2", + "ZW50RHRvEhYKDm1vcmVfYXZhaWxhYmxlGAIgASgIKlwKB1F1YWxpdHkSFwoT", + "UVVBTElUWV9VTlNQRUNJRklFRBAAEhAKDFFVQUxJVFlfR09PRBABEhUKEVFV", + "QUxJVFlfVU5DRVJUQUlOEAISDwoLUVVBTElUWV9CQUQQAypdCg5BbGFybVN0", + "YXRlRW51bRIbChdBTEFSTV9TVEFURV9VTlNQRUNJRklFRBAAEhYKEkFMQVJN", + "X1NUQVRFX05PUk1BTBABEhYKEkFMQVJNX1NUQVRFX0FDVElWRRACKoUBCg5B", + "bGFybUxldmVsRW51bRIUChBBTEFSTV9MRVZFTF9OT05FEAASEwoPQUxBUk1f", + "TEVWRUxfTE9XEAESFwoTQUxBUk1fTEVWRUxfTE9XX0xPVxACEhQKEEFMQVJN", + "X0xFVkVMX0hJR0gQAxIZChVBTEFSTV9MRVZFTF9ISUdIX0hJR0gQBDLhAgoR", + "U2l0ZVN0cmVhbVNlcnZpY2USVQoRU3Vic2NyaWJlSW5zdGFuY2USIS5zaXRl", + "c3RyZWFtLkluc3RhbmNlU3RyZWFtUmVxdWVzdBobLnNpdGVzdHJlYW0uU2l0", + "ZVN0cmVhbUV2ZW50MAESRwoRSW5nZXN0QXVkaXRFdmVudHMSGy5zaXRlc3Ry", + "ZWFtLkF1ZGl0RXZlbnRCYXRjaBoVLnNpdGVzdHJlYW0uSW5nZXN0QWNrElAK", + "FUluZ2VzdENhY2hlZFRlbGVtZXRyeRIgLnNpdGVzdHJlYW0uQ2FjaGVkVGVs", + "ZW1ldHJ5QmF0Y2gaFS5zaXRlc3RyZWFtLkluZ2VzdEFjaxJaCg9QdWxsQXVk", + "aXRFdmVudHMSIi5zaXRlc3RyZWFtLlB1bGxBdWRpdEV2ZW50c1JlcXVlc3Qa", + "Iy5zaXRlc3RyZWFtLlB1bGxBdWRpdEV2ZW50c1Jlc3BvbnNlQiuqAihaQi5N", + "T00uV1cuU2NhZGFCcmlkZ2UuQ29tbXVuaWNhdGlvbi5HcnBjYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.Quality), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateEnum), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelEnum), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceStreamRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.InstanceStreamRequest.Parser, new[]{ "CorrelationId", "InstanceUniqueName" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteStreamEvent), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SiteStreamEvent.Parser, new[]{ "CorrelationId", "AttributeChanged", "AlarmChanged" }, new[]{ "Event" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AttributeValueUpdate), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AttributeValueUpdate.Parser, new[]{ "InstanceUniqueName", "AttributePath", "AttributeName", "Value", "Quality", "Timestamp" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateUpdate), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateUpdate.Parser, new[]{ "InstanceUniqueName", "AlarmName", "State", "Priority", "Timestamp", "Level", "Message" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateUpdate), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateUpdate.Parser, new[]{ "InstanceUniqueName", "AlarmName", "State", "Priority", "Timestamp", "Level", "Message", "Kind", "Active", "Acknowledged", "Confirmed", "ShelveState", "Suppressed", "SourceReference", "AlarmTypeName", "Category", "OperatorUser", "OperatorComment", "OriginalRaiseTime", "CurrentValue", "LimitValue" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AuditEventDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AuditEventDto.Parser, new[]{ "EventId", "OccurredAtUtc", "Channel", "Kind", "CorrelationId", "SourceSiteId", "SourceInstanceId", "SourceScript", "Actor", "Target", "Status", "HttpStatus", "DurationMs", "ErrorMessage", "ErrorDetail", "RequestSummary", "ResponseSummary", "PayloadTruncated", "Extra", "ExecutionId", "ParentExecutionId", "SourceNode" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AuditEventBatch), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AuditEventBatch.Parser, new[]{ "Events" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.IngestAck), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.IngestAck.Parser, new[]{ "AcceptedEventIds" }, null, null, null, null), @@ -1141,6 +1148,20 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null; level_ = other.level_; message_ = other.message_; + kind_ = other.kind_; + active_ = other.active_; + acknowledged_ = other.acknowledged_; + confirmed_ = other.confirmed_; + shelveState_ = other.shelveState_; + suppressed_ = other.suppressed_; + sourceReference_ = other.sourceReference_; + alarmTypeName_ = other.alarmTypeName_; + category_ = other.category_; + operatorUser_ = other.operatorUser_; + operatorComment_ = other.operatorComment_; + originalRaiseTime_ = other.originalRaiseTime_ != null ? other.originalRaiseTime_.Clone() : null; + currentValue_ = other.currentValue_; + limitValue_ = other.limitValue_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -1240,6 +1261,196 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { } } + /// Field number for the "kind" field. + public const int KindFieldNumber = 8; + private string kind_ = ""; + /// + /// Native alarm enrichment (additive — computed alarms leave these at defaults). + /// kind: "Computed" | "NativeOpcUa" | "NativeMxAccess". + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Kind { + get { return kind_; } + set { + kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "active" field. + public const int ActiveFieldNumber = 9; + private bool active_; + /// + /// unified condition: active vs inactive + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Active { + get { return active_; } + set { + active_ = value; + } + } + + /// Field number for the "acknowledged" field. + public const int AcknowledgedFieldNumber = 10; + private bool acknowledged_; + /// + /// acked vs unacked + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Acknowledged { + get { return acknowledged_; } + set { + acknowledged_ = value; + } + } + + /// Field number for the "confirmed" field. + public const int ConfirmedFieldNumber = 11; + private bool confirmed_; + /// + /// confirmed (false when not confirmable) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Confirmed { + get { return confirmed_; } + set { + confirmed_ = value; + } + } + + /// Field number for the "shelve_state" field. + public const int ShelveStateFieldNumber = 12; + private string shelveState_ = ""; + /// + /// Unshelved | OneShotShelved | TimedShelved | PermanentShelved + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string ShelveState { + get { return shelveState_; } + set { + shelveState_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "suppressed" field. + public const int SuppressedFieldNumber = 13; + private bool suppressed_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Suppressed { + get { return suppressed_; } + set { + suppressed_ = value; + } + } + + /// Field number for the "source_reference" field. + public const int SourceReferenceFieldNumber = 14; + private string sourceReference_ = ""; + /// + /// native per-condition key; empty for computed + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string SourceReference { + get { return sourceReference_; } + set { + sourceReference_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "alarm_type_name" field. + public const int AlarmTypeNameFieldNumber = 15; + private string alarmTypeName_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string AlarmTypeName { + get { return alarmTypeName_; } + set { + alarmTypeName_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "category" field. + public const int CategoryFieldNumber = 16; + private string category_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string Category { + get { return category_; } + set { + category_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "operator_user" field. + public const int OperatorUserFieldNumber = 17; + private string operatorUser_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string OperatorUser { + get { return operatorUser_; } + set { + operatorUser_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "operator_comment" field. + public const int OperatorCommentFieldNumber = 18; + private string operatorComment_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string OperatorComment { + get { return operatorComment_; } + set { + operatorComment_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "original_raise_time" field. + public const int OriginalRaiseTimeFieldNumber = 19; + private global::Google.Protobuf.WellKnownTypes.Timestamp originalRaiseTime_; + /// + /// null when unknown + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Google.Protobuf.WellKnownTypes.Timestamp OriginalRaiseTime { + get { return originalRaiseTime_; } + set { + originalRaiseTime_ = value; + } + } + + /// Field number for the "current_value" field. + public const int CurrentValueFieldNumber = 20; + private string currentValue_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string CurrentValue { + get { return currentValue_; } + set { + currentValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "limit_value" field. + public const int LimitValueFieldNumber = 21; + private string limitValue_ = ""; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public string LimitValue { + get { return limitValue_; } + set { + limitValue_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -1262,6 +1473,20 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { if (!object.Equals(Timestamp, other.Timestamp)) return false; if (Level != other.Level) return false; if (Message != other.Message) return false; + if (Kind != other.Kind) return false; + if (Active != other.Active) return false; + if (Acknowledged != other.Acknowledged) return false; + if (Confirmed != other.Confirmed) return false; + if (ShelveState != other.ShelveState) return false; + if (Suppressed != other.Suppressed) return false; + if (SourceReference != other.SourceReference) return false; + if (AlarmTypeName != other.AlarmTypeName) return false; + if (Category != other.Category) return false; + if (OperatorUser != other.OperatorUser) return false; + if (OperatorComment != other.OperatorComment) return false; + if (!object.Equals(OriginalRaiseTime, other.OriginalRaiseTime)) return false; + if (CurrentValue != other.CurrentValue) return false; + if (LimitValue != other.LimitValue) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1276,6 +1501,20 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { if (timestamp_ != null) hash ^= Timestamp.GetHashCode(); if (Level != global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelEnum.AlarmLevelNone) hash ^= Level.GetHashCode(); if (Message.Length != 0) hash ^= Message.GetHashCode(); + if (Kind.Length != 0) hash ^= Kind.GetHashCode(); + if (Active != false) hash ^= Active.GetHashCode(); + if (Acknowledged != false) hash ^= Acknowledged.GetHashCode(); + if (Confirmed != false) hash ^= Confirmed.GetHashCode(); + if (ShelveState.Length != 0) hash ^= ShelveState.GetHashCode(); + if (Suppressed != false) hash ^= Suppressed.GetHashCode(); + if (SourceReference.Length != 0) hash ^= SourceReference.GetHashCode(); + if (AlarmTypeName.Length != 0) hash ^= AlarmTypeName.GetHashCode(); + if (Category.Length != 0) hash ^= Category.GetHashCode(); + if (OperatorUser.Length != 0) hash ^= OperatorUser.GetHashCode(); + if (OperatorComment.Length != 0) hash ^= OperatorComment.GetHashCode(); + if (originalRaiseTime_ != null) hash ^= OriginalRaiseTime.GetHashCode(); + if (CurrentValue.Length != 0) hash ^= CurrentValue.GetHashCode(); + if (LimitValue.Length != 0) hash ^= LimitValue.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -1322,6 +1561,62 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { output.WriteRawTag(58); output.WriteString(Message); } + if (Kind.Length != 0) { + output.WriteRawTag(66); + output.WriteString(Kind); + } + if (Active != false) { + output.WriteRawTag(72); + output.WriteBool(Active); + } + if (Acknowledged != false) { + output.WriteRawTag(80); + output.WriteBool(Acknowledged); + } + if (Confirmed != false) { + output.WriteRawTag(88); + output.WriteBool(Confirmed); + } + if (ShelveState.Length != 0) { + output.WriteRawTag(98); + output.WriteString(ShelveState); + } + if (Suppressed != false) { + output.WriteRawTag(104); + output.WriteBool(Suppressed); + } + if (SourceReference.Length != 0) { + output.WriteRawTag(114); + output.WriteString(SourceReference); + } + if (AlarmTypeName.Length != 0) { + output.WriteRawTag(122); + output.WriteString(AlarmTypeName); + } + if (Category.Length != 0) { + output.WriteRawTag(130, 1); + output.WriteString(Category); + } + if (OperatorUser.Length != 0) { + output.WriteRawTag(138, 1); + output.WriteString(OperatorUser); + } + if (OperatorComment.Length != 0) { + output.WriteRawTag(146, 1); + output.WriteString(OperatorComment); + } + if (originalRaiseTime_ != null) { + output.WriteRawTag(154, 1); + output.WriteMessage(OriginalRaiseTime); + } + if (CurrentValue.Length != 0) { + output.WriteRawTag(162, 1); + output.WriteString(CurrentValue); + } + if (LimitValue.Length != 0) { + output.WriteRawTag(170, 1); + output.WriteString(LimitValue); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1360,6 +1655,62 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { output.WriteRawTag(58); output.WriteString(Message); } + if (Kind.Length != 0) { + output.WriteRawTag(66); + output.WriteString(Kind); + } + if (Active != false) { + output.WriteRawTag(72); + output.WriteBool(Active); + } + if (Acknowledged != false) { + output.WriteRawTag(80); + output.WriteBool(Acknowledged); + } + if (Confirmed != false) { + output.WriteRawTag(88); + output.WriteBool(Confirmed); + } + if (ShelveState.Length != 0) { + output.WriteRawTag(98); + output.WriteString(ShelveState); + } + if (Suppressed != false) { + output.WriteRawTag(104); + output.WriteBool(Suppressed); + } + if (SourceReference.Length != 0) { + output.WriteRawTag(114); + output.WriteString(SourceReference); + } + if (AlarmTypeName.Length != 0) { + output.WriteRawTag(122); + output.WriteString(AlarmTypeName); + } + if (Category.Length != 0) { + output.WriteRawTag(130, 1); + output.WriteString(Category); + } + if (OperatorUser.Length != 0) { + output.WriteRawTag(138, 1); + output.WriteString(OperatorUser); + } + if (OperatorComment.Length != 0) { + output.WriteRawTag(146, 1); + output.WriteString(OperatorComment); + } + if (originalRaiseTime_ != null) { + output.WriteRawTag(154, 1); + output.WriteMessage(OriginalRaiseTime); + } + if (CurrentValue.Length != 0) { + output.WriteRawTag(162, 1); + output.WriteString(CurrentValue); + } + if (LimitValue.Length != 0) { + output.WriteRawTag(170, 1); + output.WriteString(LimitValue); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1391,6 +1742,48 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { if (Message.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeStringSize(Message); } + if (Kind.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Kind); + } + if (Active != false) { + size += 1 + 1; + } + if (Acknowledged != false) { + size += 1 + 1; + } + if (Confirmed != false) { + size += 1 + 1; + } + if (ShelveState.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(ShelveState); + } + if (Suppressed != false) { + size += 1 + 1; + } + if (SourceReference.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(SourceReference); + } + if (AlarmTypeName.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(AlarmTypeName); + } + if (Category.Length != 0) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(Category); + } + if (OperatorUser.Length != 0) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(OperatorUser); + } + if (OperatorComment.Length != 0) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(OperatorComment); + } + if (originalRaiseTime_ != null) { + size += 2 + pb::CodedOutputStream.ComputeMessageSize(OriginalRaiseTime); + } + if (CurrentValue.Length != 0) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(CurrentValue); + } + if (LimitValue.Length != 0) { + size += 2 + pb::CodedOutputStream.ComputeStringSize(LimitValue); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1427,6 +1820,51 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { if (other.Message.Length != 0) { Message = other.Message; } + if (other.Kind.Length != 0) { + Kind = other.Kind; + } + if (other.Active != false) { + Active = other.Active; + } + if (other.Acknowledged != false) { + Acknowledged = other.Acknowledged; + } + if (other.Confirmed != false) { + Confirmed = other.Confirmed; + } + if (other.ShelveState.Length != 0) { + ShelveState = other.ShelveState; + } + if (other.Suppressed != false) { + Suppressed = other.Suppressed; + } + if (other.SourceReference.Length != 0) { + SourceReference = other.SourceReference; + } + if (other.AlarmTypeName.Length != 0) { + AlarmTypeName = other.AlarmTypeName; + } + if (other.Category.Length != 0) { + Category = other.Category; + } + if (other.OperatorUser.Length != 0) { + OperatorUser = other.OperatorUser; + } + if (other.OperatorComment.Length != 0) { + OperatorComment = other.OperatorComment; + } + if (other.originalRaiseTime_ != null) { + if (originalRaiseTime_ == null) { + OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + OriginalRaiseTime.MergeFrom(other.OriginalRaiseTime); + } + if (other.CurrentValue.Length != 0) { + CurrentValue = other.CurrentValue; + } + if (other.LimitValue.Length != 0) { + LimitValue = other.LimitValue; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -1477,6 +1915,65 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { Message = input.ReadString(); break; } + case 66: { + Kind = input.ReadString(); + break; + } + case 72: { + Active = input.ReadBool(); + break; + } + case 80: { + Acknowledged = input.ReadBool(); + break; + } + case 88: { + Confirmed = input.ReadBool(); + break; + } + case 98: { + ShelveState = input.ReadString(); + break; + } + case 104: { + Suppressed = input.ReadBool(); + break; + } + case 114: { + SourceReference = input.ReadString(); + break; + } + case 122: { + AlarmTypeName = input.ReadString(); + break; + } + case 130: { + Category = input.ReadString(); + break; + } + case 138: { + OperatorUser = input.ReadString(); + break; + } + case 146: { + OperatorComment = input.ReadString(); + break; + } + case 154: { + if (originalRaiseTime_ == null) { + OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + input.ReadMessage(OriginalRaiseTime); + break; + } + case 162: { + CurrentValue = input.ReadString(); + break; + } + case 170: { + LimitValue = input.ReadString(); + break; + } } } #endif @@ -1527,6 +2024,65 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc { Message = input.ReadString(); break; } + case 66: { + Kind = input.ReadString(); + break; + } + case 72: { + Active = input.ReadBool(); + break; + } + case 80: { + Acknowledged = input.ReadBool(); + break; + } + case 88: { + Confirmed = input.ReadBool(); + break; + } + case 98: { + ShelveState = input.ReadString(); + break; + } + case 104: { + Suppressed = input.ReadBool(); + break; + } + case 114: { + SourceReference = input.ReadString(); + break; + } + case 122: { + AlarmTypeName = input.ReadString(); + break; + } + case 130: { + Category = input.ReadString(); + break; + } + case 138: { + OperatorUser = input.ReadString(); + break; + } + case 146: { + OperatorComment = input.ReadString(); + break; + } + case 154: { + if (originalRaiseTime_ == null) { + OriginalRaiseTime = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + input.ReadMessage(OriginalRaiseTime); + break; + } + case 162: { + CurrentValue = input.ReadString(); + break; + } + case 170: { + LimitValue = input.ReadString(); + break; + } } } }