리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.3 KiB

namespace leak_test_project.Infrastructure
{
/// <summary>
/// 하드웨어 통신을 위한 추상화 인터페이스.
/// 시리얼(RS232), 이더넷(TCP/IP) 등 통신 방식에 상관없이
/// 상위 서비스에서 동일한 방식으로 하드웨어에 접근할 수 있도록 정의함.
/// </summary>
public interface ICommunication
{
/// <summary> 통신 채널 식별 이름 (예: COM1, TCP_192.168.0.1) </summary>
string Name { get; }
/// <summary> 현재 통신 채널이 열려 있는지 여부 </summary>
bool IsOpen { get; }
/// <summary> 통신 채널을 연결함 </summary>
bool Open();
/// <summary> 통신 채널 연결을 해제함 </summary>
void Close();
/// <summary> 데이터를 하드웨어로 전송함 </summary>
bool Write(string data);
/// <summary> 수신 버퍼를 비워 잔류 데이터를 제거함 </summary>
void ClearBuffer();
/// <summary> 하드웨어로부터 데이터를 수신했을 때 발생하는 이벤트 </summary>
event System.EventHandler<string> DataReceived;
/// <summary> 연결 상태가 변경되었을 때 발생하는 이벤트 (connected, disconnected) </summary>
event System.EventHandler<bool> ConnectionStatusChanged;
}
}