package com.dahua.netsdk.lib.callback;
|
|
import com.dahua.netsdk.lib.NetSDKLib;
|
import com.dahua.netsdk.lib.ToolKits;
|
import com.dahua.netsdk.lib.enumeration.EM_HEATMAP_TYPE;
|
import com.dahua.netsdk.lib.structure.NET_CB_VIDEOSTAT_HEATMAP;
|
import com.sun.jna.Pointer;
|
|
/**
|
* @author 47081
|
* @version 1.0
|
* @description 热度图回调函数的基类
|
* @date 2020/9/24
|
*/
|
public abstract class BasicVideoStatHeatMapCallBack implements fVideoStatHeatMapCallBack {
|
@Override
|
public void invoke(
|
NetSDKLib.LLong lAttachHandle,
|
Pointer pBuf,
|
Pointer pBinData,
|
int dwBinDataLen,
|
Pointer dwUser) {
|
/** 获取热度图数据 */
|
NET_CB_VIDEOSTAT_HEATMAP heatmap = new NET_CB_VIDEOSTAT_HEATMAP();
|
ToolKits.GetPointerData(pBuf, heatmap);
|
byte[] bytes = new byte[dwBinDataLen];
|
pBinData.read(0, bytes, 0, dwBinDataLen);
|
/** 处理热度图数据 */
|
parseData(
|
lAttachHandle.longValue(),
|
heatmap.nToken,
|
EM_HEATMAP_TYPE.getEmHeatMap(heatmap.emHeatMapType),
|
bytes);
|
}
|
|
public abstract void parseData(
|
long attachHandle, int nToken, EM_HEATMAP_TYPE type, byte[] binData);
|
}
|