HostCapabilityProfile constructor
HostCapabilityProfile({
- required String name,
- required Map<
HostCapability, CapabilityState> states, - Map<
HostCapability, CapabilityFloor> floors = const {},
Builds and validates a profile.
states must declare EVERY HostCapability; floors may be partial —
missing floors derive from the corresponding state.
Implementation
factory HostCapabilityProfile({
required String name,
required Map<HostCapability, CapabilityState> states,
Map<HostCapability, CapabilityFloor> floors = const {},
}) {
_requireComplete(name, states);
final resolvedFloors = {
for (final c in HostCapability.values)
c: floors[c] ?? CapabilityFloor.fromState(states[c]!),
};
_validate(name: name, states: states, floors: resolvedFloors);
return HostCapabilityProfile._(
name,
Map.unmodifiable(states),
Map.unmodifiable(resolvedFloors),
);
}