package cgmblelib.ble.reconnectManagament;

import cgmblelib.database.entity.PocDevice;

/***
 * 重连管理类的接口
 * @author minyuchun
 */
interface BaseReconnect {
    /**
     * 需要通过扫描进行连接
     * 此方式由于重新应用程序或者重启蓝牙后部分手机需要重新进行扫描才能连接设备
     * @param device 绑定的发射器信息
     */
    void reconnectViaScan(PocDevice device);

    /**
     * 直接使用旧的Gatt缓存进行连接
     * 当发射器与接收器由于距离或者其他意外发生断开连接时，使用缓存重新连接
     * @param device 绑定的发射器信息
     */
    void reconnectViaCache(PocDevice device);

    /***
     * 直接通过mac地址新建新的Gatt通道进行连接
     * 当发射器与接收器由于距离或者其他意外发生断开连接时，需要新建Gatt通道进行连接
     * @param device 绑定的发射器信息
     */
    void reconnectViaNew(PocDevice device);

    /**
     * 停止重新连接
     */
    void stopReconnect();
}
