package com.hdl.sdk.connect;
|
|
import com.hdl.sdk.connect.config.HDLLinkConfig;
|
import com.hdl.sdk.common.event.EventDispatcher;
|
import com.hdl.sdk.common.event.EventListener;
|
import com.hdl.sdk.connect.bean.AuthenticateRequest;
|
import com.hdl.sdk.connect.socket.HDLAuthSocket;
|
|
/**
|
* Created by jlchen on 11/15/21.
|
*
|
* @Description : HDLLink
|
*/
|
public class HDLLink {
|
/**
|
* instance
|
*/
|
private volatile static HDLLink instance;
|
/**
|
* getInstance
|
*
|
* @return HDLLink
|
*/
|
public static synchronized HDLLink getInstance() {
|
if (instance == null) {
|
synchronized (HDLLink.class) {
|
if (instance == null) {
|
instance = new HDLLink();
|
}
|
}
|
}
|
return instance;
|
}
|
|
/**
|
* 注册所有主题消息的监听
|
* @param listener
|
*/
|
public synchronized void registerAllTopicsListener(EventListener listener){
|
EventDispatcher.getInstance().registerAllTopicsListener(listener);
|
}
|
/**
|
* 取消所有主题消息的监听
|
* @param listener
|
*/
|
public synchronized void removeAllTopicsListener(EventListener listener) {
|
EventDispatcher.getInstance().removeAllTopicsListener(listener);
|
}
|
|
/**
|
* 检测是否已经认证过
|
* 认证通过才能进行设备控制
|
* @return
|
*/
|
public boolean checkIfCertified(){
|
return HDLLinkConfig.getInstance().checkIfCertified();
|
}
|
|
/**
|
* 发送入网及认证请求
|
*
|
* @param ip 网关IP
|
* @param request 认证请求信息
|
* @param callBack 结果回调
|
*/
|
public void sendAuthenticateRequest(String ip, AuthenticateRequest request, HDLAuthSocket.CallBack callBack) {
|
HDLAuthSocket.getInstance().sendAuthenticateRequest(ip,request,callBack);
|
}
|
|
/**
|
* 搜索指定网关是否在线,搜索到则返回指定的网关对象
|
*
|
* @param callBack 回调
|
*/
|
public void searchGateway(HDLAuthSocket.SearchGatewayCallBack callBack) {
|
HDLAuthSocket.getInstance().searchGateway(HDLLinkConfig.getInstance().getGatewayId(), callBack);
|
}
|
}
|