using System; using System.Collections.ObjectModel; using System.Runtime.Serialization; namespace ArchestrAServices.Contract; [DataContract] public class ServiceInfo { [DataMember] private Collection diagnosticList = new Collection(); [DataMember] public string ServiceInstanceName { get; set; } [DataMember] public string ServiceConfig { get; set; } [DataMember] public string ServiceHostName { get; set; } [DataMember] public string ServiceDllName { get; set; } [DataMember] public string ContractTypeName { get; set; } [DataMember] public string BaseAddress { get; set; } [DataMember] public string MexAddress { get; set; } [DataMember] public DateTime ReregistrationTime { get; set; } [DataMember] public double RegistrationPeriod { get; set; } [DataMember] public DateTime PingTime { get; set; } [DataMember] public double PingPeriod { get; set; } [DataMember] public DateTime NextPingTime { get; set; } public long PingIntervalCounter { get; set; } [DataMember] public bool PublishWcfEndpoints { get; set; } [DataMember] public bool IsRunning { get; set; } public void ClearServiceDiagnostic() { diagnosticList.Clear(); } public Collection FetchDiagnosticList() { return diagnosticList; } public void AddServiceDiagnostic(ServiceDiagnostic serviceDiagnostic) { diagnosticList.Add(serviceDiagnostic); } public bool RemoveServiceDiagnostic(ServiceDiagnostic serviceDiagnostic) { return diagnosticList.Remove(serviceDiagnostic); } }