using System; using System.Collections.Generic; using leak_test_project.Models; namespace leak_test_project.Infrastructure { /// /// DIO 보드 추상화 인터페이스. /// 실제 하드웨어(JunSystem DIO) 또는 시뮬레이션 보드를 교체 가능하게 설계. /// public interface IDioBoard : IDisposable { /// DIO 보드를 초기화합니다. bool Initialize(); /// 지정된 입력 포인트의 현재 값을 읽습니다. bool ReadInput(string pointName); /// 지정된 출력 포인트에 값을 씁니다. void WriteOutput(string pointName, bool value); /// 모든 입력 포인트 목록을 반환합니다. List GetInputPoints(); /// 모든 출력 포인트 목록을 반환합니다. List GetOutputPoints(); /// 입력 포인트의 값이 OFF→ON으로 변경되었을 때 발생합니다. event EventHandler InputChanged; } }