package com.ruoyi.utils.sdk.hiksdk.lib;
|
|
import com.ruoyi.device.camera.domain.ArdCameras;
|
import com.ruoyi.utils.sdk.common.GlobalVariable;
|
import com.sun.jna.Pointer;
|
import lombok.extern.slf4j.Slf4j;
|
import static com.ruoyi.utils.sdk.hiksdk.lib.HCNetSDK.*;
|
|
/**
|
* @Description: 注册接收异常、重连等消息的窗口句柄或回调函数
|
* @ClassName: ExceptionCallBack
|
* @Author: 刘苏义
|
* @Date: 2023年10月23日15:37:40
|
**/
|
@Slf4j(topic = "hikSdk")
|
public class ExceptionCallBack implements HCNetSDK.FExceptionCallBack {
|
@Override
|
public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
|
ArdCameras camera = (ArdCameras) GlobalVariable.loginCameraMap.get(lUserID);
|
if(camera!=null) {
|
String ip = camera.getIp();
|
Integer port = camera.getPort();
|
switch (dwType) {
|
case EXCEPTION_EXCHANGE:
|
log.warn("Device[" + ip + ":" + port + "]用户交互时异常");
|
break;
|
case EXCEPTION_PREVIEW:
|
log.warn("Device[" + ip + ":" + port + "]网络预览异常");
|
break;
|
case EXCEPTION_RECONNECT:
|
log.warn("Device[" + ip + ":" + port + "]预览时重连");
|
break;
|
case RELOGIN_SUCCESS:
|
log.warn("Device[" + ip + ":" + port + "]用户重登陆成功");
|
break;
|
case EXCEPTION_RELOGIN:
|
log.warn("Device[" + ip + ":" + port + "]用户重登陆");
|
break;
|
}
|
}
|
}
|
}
|