SharedConfig.cs 999 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using ConfigOperator;
  2. using RealtimeData;
  3. namespace Mini8SlaveSim.Configuration;
  4. public class SharedConfig : ISharedConfig
  5. {
  6. private readonly HardwareAddress _hardwareAddress;
  7. private readonly AddressFileLoader _addressFileLoader;
  8. private bool _isLoaded = false;
  9. public SharedConfig()
  10. {
  11. _hardwareAddress = new HardwareAddress();
  12. _addressFileLoader = new(_hardwareAddress);
  13. }
  14. public HardwareAddress HardwareAddress => _hardwareAddress;
  15. public bool IsLoaded => _isLoaded;
  16. public void Load(string path)
  17. {
  18. _isLoaded = false;
  19. _hardwareAddress.Mini8sAddress.Clear();
  20. _hardwareAddress.Mini8ChannelsAddress.Clear();
  21. if (string.IsNullOrWhiteSpace(path))
  22. {
  23. return;
  24. }
  25. _addressFileLoader.Load(path);
  26. if (_hardwareAddress.Mini8sAddress.IsEmpty || _hardwareAddress.Mini8ChannelsAddress.IsEmpty)
  27. {
  28. return;
  29. }
  30. _isLoaded = true;
  31. }
  32. }