package net.northking.cctp.upperComputer.deviceManager;

import java.util.LinkedHashMap;
import java.util.List;

/**
 * @author : yineng.huang
 * @date : 2023/10/16 14:50
 */
public interface DeviceManager {

    void registerDeviceToDeviceManager(LinkedHashMap<String, Object> deviceInfo);

    //从设备管理那边下线设备
    void offlineDeviceFromDeviceManager(String serial);

    List<String> getOnlineDevice();

    void shutdown();


    /**
     * 设置设备系统情况
     *
     * @param serial
     * @param status
     */
    void setDeviceSystemStatus(String serial, Boolean status);


    /**
     * 发布设备agent挂掉
     *
     * @param serial
     */
    void publishDeviceAgentDead(String serial);

    /**
     * 发布agent准备好
     *
     * @param serial
     */
    void publishDeviceAgentAlready(String serial);
}
