using ConfigOperator; using RealtimeData; namespace Mini8SlaveSim.Configuration; public class SharedConfig : ISharedConfig { private readonly HardwareAddress _hardwareAddress; private readonly AddressFileLoader _addressFileLoader; private bool _isLoaded = false; public SharedConfig() { _hardwareAddress = new HardwareAddress(); _addressFileLoader = new(_hardwareAddress); } public HardwareAddress HardwareAddress => _hardwareAddress; public bool IsLoaded => _isLoaded; public void Load(string path) { _isLoaded = false; _hardwareAddress.Mini8sAddress.Clear(); _hardwareAddress.Mini8ChannelsAddress.Clear(); if (string.IsNullOrWhiteSpace(path)) { return; } _addressFileLoader.Load(path); if (_hardwareAddress.Mini8sAddress.IsEmpty || _hardwareAddress.Mini8ChannelsAddress.IsEmpty) { return; } _isLoaded = true; } }