1using System.Collections.Generic;
2using System.Collections.ObjectModel;
19 private readonly ObservableCollection<IConsumablePool>
mPools =
new ObservableCollection<IConsumablePool>();
20 public ReadOnlyObservableCollection<IConsumablePool>
Pools {
get; }
42 Pools =
new ReadOnlyObservableCollection<IConsumablePool>(
mPools);
60 private readonly List<MockConsumablesForCoffeeMakerDevice>
mPerDeviceConsumables =
new List<MockConsumablesForCoffeeMakerDevice>();
68 mPerDeviceConsumables.AddRange(newDevs.Select(someDev =>
new MockConsumablesForCoffeeMakerDevice(someDev,
this)));
71 if (newDevs.Any() || removedDevs.Any())
88 return $
"{dev.Name}:{ingredientName}";
Classes and interfaces that are meant for plugins. The classes and interfaces below this namespace ar...
A fake device. This namespace contains the fake device driver and auxiliary classes for settings,...
Keep track of consumables levels.
Implement this interface if you need direct access to the list of configured devices.
Static instance for access to utility functions and resources.
static IDebugHelper Debug
Utility functions for debugging.
Keeps track of all consumables that are associated to our mock coffee machine.
IEnumerable< IDevice > mConfiguredDevices
CoffeeConsumableManager(CoffeeConsumableManager copyFrom)
void UpdateDeviceConsumables()
readonly ObservableCollection< IConsumablePool > mPools
readonly List< MockDevice > mKnownCoffeeMakers
static string GetLocationIdentifier(MockDevice dev, string ingredientName)
CoffeeConsumableManager()
IEnumerable< IDevice > ConfiguredDevices
List of IDevice for all configured devices in Chronos.
readonly List< MockConsumablesForCoffeeMakerDevice > mPerDeviceConsumables
IManageConsumables Clone()
Will be cloned for schedule validation.
ReadOnlyObservableCollection< IConsumablePool > Pools
List of all consumable pools you manage.
A chronos plugin implementation for a fake device. We pretend we are controlling a mixture of coffee ...