2using System.Collections.Generic;
3using System.Xml.Serialization;
13[XmlType(TypeName =
"solverDiscoveryResult")]
16 private readonly List<SolverDiscoveryCandidate>
20 private readonly List<SolverAdapterDescriptor>
24 private readonly List<SolverAvailabilityInfo>
25 _availabilityInformation =
28 private readonly List<string> _diagnostics =
44 [XmlElement(
"startedAtUtc")]
55 [XmlElement(
"completedAtUtc")]
65 [XmlElement(
"elapsedSeconds")]
76 [XmlArray(
"candidates")]
77 [XmlArrayItem(
"candidate")]
85 [XmlArray(
"adapterDescriptors")]
86 [XmlArrayItem(
"adapter")]
94 [XmlArray(
"availabilityInformation")]
95 [XmlArrayItem(
"solver")]
96 public List<SolverAvailabilityInfo>
98 _availabilityInformation;
103 [XmlArray(
"diagnostics")]
104 [XmlArrayItem(
"diagnostic")]
114 _availabilityInformation.Exists(
116 availability.IsUsable);
130 if (
string.IsNullOrWhiteSpace(
133 throw new ArgumentException(
134 "A discovery diagnostic cannot be empty.",
156 return _availabilityInformation.Find(
158 availability.SolverKind ==
Describes the availability and detected installation details of a mathematical optimization solver.
DateTime? CompletedAtUtc
Gets or sets the UTC date and time at which discovery completed.
List< SolverAvailabilityInfo > AvailabilityInformation
Gets the availability information reported for detected solvers.
List< SolverAdapterDescriptor > AdapterDescriptors
Gets the solver adapter descriptors discovered during the scan.
List< string > Diagnostics
Gets the diagnostics produced during discovery.
bool HasUsableSolver
Gets a value indicating whether at least one solver is currently usable.
void AddDiagnostic(string message)
Adds a diagnostic message.
DateTime StartedAtUtc
Gets or sets the UTC date and time at which discovery started.
double ElapsedSeconds
Gets or sets the elapsed discovery time in seconds.
SolverDiscoveryResult()
Initializes an empty solver-discovery result.
SolverAvailabilityInfo? FindAvailability(SolverKind solverKind)
Gets the availability information associated with a solver kind.
List< SolverDiscoveryCandidate > Candidates
Gets the discovered solver installation and adapter location candidates.
SolverKind
Identifies a supported mathematical optimization solver.