IDeviceAdapterFactory.cs 918 B

123456789101112131415161718192021222324252627282930
  1. using TeamAAS.Global.Devices;
  2. using TeamAAS.Motion.Models;
  3. using TeamAAS.Motion.Motions;
  4. namespace TeamAAS.Motion.AdapterFactorys
  5. {
  6. public interface IDeviceAdapterFactory
  7. {
  8. string Key { get; }
  9. IMotionCard Create(MotionDeviceConfig config);
  10. }
  11. public class SimulatedDeviceFactory : IDeviceAdapterFactory
  12. {
  13. public string Key => "Simulated";
  14. public IMotionCard Create(MotionDeviceConfig config) => new SimulatedMotionCard(config);
  15. }
  16. public class InovanceDeviceFactory : IDeviceAdapterFactory
  17. {
  18. public string Key => "Inovance";
  19. public IMotionCard Create(MotionDeviceConfig config) => new InovanceMotionCard(config);
  20. }
  21. public class LeadshineDeviceFactory : IDeviceAdapterFactory
  22. {
  23. public string Key => "Leadshine";
  24. public IMotionCard Create(MotionDeviceConfig config) => new LeadshineMotionCard(config);
  25. }
  26. }