2using System.Collections.Generic;
3using System.Xml.Serialization;
12[XmlType(TypeName =
"solverAvailabilityInfo")]
15 private readonly List<string> _diagnostics =
18 private readonly List<string> _limitations =
69 [XmlAttribute(
"solverKind")]
79 [XmlAttribute(
"status")]
89 [XmlElement(
"solverName")]
99 [XmlElement(
"solverVersion")]
109 [XmlElement(
"installationPath")]
120 [XmlElement(
"managedAssemblyPath")]
131 [XmlElement(
"nativeLibraryPath")]
142 [XmlElement(
"licenseInformation")]
163 [XmlArray(
"diagnostics")]
164 [XmlArrayItem(
"diagnostic")]
171 [XmlArray(
"limitations")]
172 [XmlArrayItem(
"limitation")]
188 if (
string.IsNullOrWhiteSpace(
191 throw new ArgumentException(
192 "A diagnostic message cannot be empty.",
212 if (
string.IsNullOrWhiteSpace(
215 throw new ArgumentException(
216 "A limitation description cannot be empty.",
void AddDiagnostic(string message)
Adds a diagnostic message.
string NativeLibraryPath
Gets or sets the path of the native solver library or executable, when applicable.
string SolverVersion
Gets or sets the detected solver version.
string InstallationPath
Gets or sets the detected installation directory.
string LicenseInformation
Gets or sets information about the detected solver license.
List< string > Diagnostics
Gets the diagnostic messages produced during solver discovery and validation.
string SolverName
Gets or sets the display name of the solver.
void AddLimitation(string limitation)
Adds a functional limitation.
SolverAvailabilityInfo()
Initializes an empty availability description.
List< string > Limitations
Gets the functional limitations detected for the solver.
string ManagedAssemblyPath
Gets or sets the path of the managed solver assembly, when applicable.
SolverAvailabilityStatus Status
Gets or sets the detected availability status.
bool IsUsable
Gets or sets a value indicating whether the solver can currently be used.
SolverKind SolverKind
Gets or sets the solver kind.
SolverAvailabilityInfo(SolverKind solverKind, SolverAvailabilityStatus status)
Initializes an availability description for a solver.
SolverAvailabilityStatus
Describes the availability state of a solver adapter on the current computer.
@ Available
The solver is installed, loadable, licensed when required, and available for use.