package com.netsdk.demo.intelligentTraffic.parkingDemo;
|
|
import com.netsdk.lib.NetSDKLib;
|
import com.netsdk.lib.ToolKits;
|
import com.netsdk.lib.structure.NET_CB_CAMERASTATE;
|
import com.sun.jna.Pointer;
|
|
/**
|
* @author : 47040
|
* @since : Created in 2021/1/15 14:12
|
*/
|
public class ParkingCameraStateCallBack implements NetSDKLib.fCameraStateCallBack {
|
|
private static ParkingCameraStateCallBack singleInstance;
|
|
public static ParkingCameraStateCallBack getSingleInstance() {
|
if (singleInstance == null) {
|
singleInstance = new ParkingCameraStateCallBack();
|
}
|
return singleInstance;
|
}
|
|
@Override
|
public void invoke(NetSDKLib.LLong lLoginID, NetSDKLib.LLong lAttachHandle, Pointer pBuf, int nBufLen, Pointer dwUser) {
|
NET_CB_CAMERASTATE cameraState = new NET_CB_CAMERASTATE();
|
ToolKits.GetPointerDataToStruct(pBuf, 0, cameraState);
|
System.out.println("设备 loginId-lAttachHandel: " + lLoginID.longValue() + "-" + lAttachHandle.longValue()
|
+ " 通道: " + cameraState.nChannel + " 相机状态: " + ParseCameraStatus(cameraState.emConnectState));
|
}
|
|
public static String ParseCameraStatus(int status) {
|
|
String statusStr;
|
switch (status) {
|
case 0:
|
statusStr = "UNCONNECT 未连接";
|
break;
|
case 1:
|
statusStr = "CONNECTING 连接中";
|
break;
|
case 2:
|
statusStr = "CONNECTED 已连接";
|
break;
|
default:
|
statusStr = "ERROR 获取错误";
|
break;
|
}
|
return statusStr;
|
}
|
}
|