package com.ruoyi.device.api; import java.util.List; import java.util.Map; import java.util.Set; import com.ruoyi.device.model.AdapterCapabilities; import com.ruoyi.device.model.ChannelIdentity; import com.ruoyi.device.model.DetectedChannel; import com.ruoyi.device.model.DeviceControlCommand; import com.ruoyi.device.model.HistoryPage; import com.ruoyi.device.model.RealtimeSnapshot; public interface DeviceAdapter extends AutoCloseable { String adapterCode(); AdapterCapabilities capabilities(); List discoverChannels(); Map inquire(Set channels); HistoryPage downloadHistory(ChannelIdentity channel, String btsTestId, long startPosition, int limit); default void control(ChannelIdentity channel, DeviceControlCommand command) { throw new UnsupportedOperationException("Device control is not enabled for this adapter"); } @Override default void close() { } }