Class DatabaseDriverInspector
Compares what is installed against what a manifest requires.
Inherited Members
Namespace: Serenity.StructuredPersistence.Infrastructure.Editor.Drivers
Assembly: Serenity.UnityStructuredPersistence.Infrastructure.Editor.dll
Syntax
public static class DatabaseDriverInspector
Remarks
Takes the installed paths and the defined symbols as arguments instead of reading the project, so the comparison is assertable without a filesystem or an editor. Whoever calls it collects those two lists; that collection is the part that cannot be tested cheaply, and keeping it out of here is what leaves the rules testable.
Detection is by file presence, not by resolving the type. Type resolution would be the stronger check but it cannot run: the provider assemblies only compile once the scripting define is set, and whether to set that define is exactly what this check exists to answer.
Methods
Inspect(DatabaseDriverManifest, IEnumerable<string>, IEnumerable<string>)
Measures one backend's installation against its manifest.
Declaration
public static DriverInstallationReport Inspect(DatabaseDriverManifest manifest, IEnumerable<string> installedRelativePaths, IEnumerable<string> definedSymbols)
Parameters
| Type | Name | Description |
|---|---|---|
| DatabaseDriverManifest | manifest | What the backend requires. |
| IEnumerable<string> | installedRelativePaths | Paths of the files found in the scanned folders, relative to each folder, in any separator style. Only the file names are matched — see the remarks on the class. |
| IEnumerable<string> | definedSymbols | Scripting defines set for the build target being inspected. |
Returns
| Type | Description |
|---|---|
| DriverInstallationReport | The report. |
InspectAll(IEnumerable<string>, IEnumerable<string>)
Measures every shipped manifest against the same installation.
Declaration
public static IReadOnlyList<DriverInstallationReport> InspectAll(IEnumerable<string> installedRelativePaths, IEnumerable<string> definedSymbols)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<string> | installedRelativePaths | |
| IEnumerable<string> | definedSymbols |
Returns
| Type | Description |
|---|---|
| IReadOnlyList<DriverInstallationReport> |