using TeamAAS.Global.Devices; using TeamAAS.Motion.Models; using TeamAAS.Motion.Motions; namespace TeamAAS.Motion.AdapterFactorys { public interface IDeviceAdapterFactory { string Key { get; } IMotionCard Create(MotionDeviceConfig config); } public class SimulatedDeviceFactory : IDeviceAdapterFactory { public string Key => "Simulated"; public IMotionCard Create(MotionDeviceConfig config) => new SimulatedMotionCard(config); } public class InovanceDeviceFactory : IDeviceAdapterFactory { public string Key => "Inovance"; public IMotionCard Create(MotionDeviceConfig config) => new InovanceMotionCard(config); } public class LeadshineDeviceFactory : IDeviceAdapterFactory { public string Key => "Leadshine"; public IMotionCard Create(MotionDeviceConfig config) => new LeadshineMotionCard(config); } }