|
@@ -0,0 +1,228 @@
|
|
|
+package com.gzlh.hx.api;
|
|
|
+
|
|
|
+
|
|
|
+import com.gzlh.hx.api.T_AlgoAdvParam;
|
|
|
+
|
|
|
+import com.gzlh.hx.callback.IDeviceEventCallback;
|
|
|
+import com.gzlh.hx.callback.IPlateCallback;
|
|
|
+import com.gzlh.hx.callback.IStillEventCallback;
|
|
|
+import com.gzlh.hx.callback.ITurnbackEventCallback;
|
|
|
+import com.sun.jna.Library;
|
|
|
+import com.sun.jna.Native;
|
|
|
+import com.sun.jna.Pointer;
|
|
|
+import com.sun.jna.ptr.IntByReference;
|
|
|
+
|
|
|
+public interface IceSdk extends Library {
|
|
|
+ String strdir = "E:\\libs\\ice_ipcsdk\\bin\\ice_ipcsdk.dll";
|
|
|
+ IceSdk jnaLib = (IceSdk) Native.loadLibrary(strdir, IceSdk.class);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 全局初始化
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_Init();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 全局释放
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_Fini();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 连接相机,不带视频流
|
|
|
+ * @param [IN] pcIP 相机ip
|
|
|
+ * @return sdk句柄(连接不成功时,返回值为null)
|
|
|
+ */
|
|
|
+ public Pointer ICE_IPCSDK_OpenDevice(String ip);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 断开连接
|
|
|
+ * @param [IN] hSDK 连接相机时返回的句柄值
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_Close(Pointer hSDK);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 断开视频
|
|
|
+ * @param [IN] hSDK 连接相机时返回的句柄值
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_StopStream(Pointer hSDK);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 软触发扩展接口
|
|
|
+ * @param [IN] hSDK 由连接相机接口获得的句柄
|
|
|
+ * @return 1表示成功,0表示失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_TriggerExt(Pointer hSDK);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 打开道闸
|
|
|
+ * @param [IN] hSDK SDK句柄
|
|
|
+ * @return 1 成功 0 失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_OpenGate(Pointer hSDK);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置获得实时识别数据的相关回调函数
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pfOnPlate 实时识别数据,通过该回调获得
|
|
|
+ * @param [IN] pvParam 回调函数中的参数,能区分开不同的使用者即可
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_SetPlateCallback(Pointer hSDK, IPlateCallback callback, int param);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置相机事件回调
|
|
|
+ * @param [IN] reserve 预留参数
|
|
|
+ * @param [IN] callback 相机事件回调
|
|
|
+ * @param [IN] param 回调上下文
|
|
|
+ * return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_SetDeviceEventCallBack(Pointer reserve, IDeviceEventCallback callback, Pointer param);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 车牌识别回调信息输出编码配置
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] enable 是否以UTF-8编码输出抓拍信息(1:UTF8格式输出车牌号,0:GB2312格式输出车牌号)
|
|
|
+ * return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_EnableUTF8(Pointer hSDK, int enable);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 添加黑白名单项(以车牌号为索引)
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pcNumber 黑白名单项中的车牌号
|
|
|
+ * @param [IN] pcDateBegin 黑白名单项中的开始日期(格式为yyyy/MM/dd)
|
|
|
+ * @param [IN] pcDateEnd 黑白名单项中的结束日期(格式为yyyy/MM/dd)
|
|
|
+ * @param [IN] pcTimeBegin 黑白名单项中的开始时间(格式为HH:mm:ss)
|
|
|
+ * @param [IN] pcTimeEnd 黑白名单项中的结束时间(格式为HH:mm:ss)
|
|
|
+ * @param [IN] pcType 名单类型(白名单"W"/黑名单"B")
|
|
|
+ * @param [IN] pcRemark 备注
|
|
|
+ * @param [IN] pcRsrv2 预留字段2
|
|
|
+ * @param [IN] pcRsrv3 预留字段3
|
|
|
+ * @param [IN] pcRsrv4 预留字段4
|
|
|
+ * @return 1 添加成功 0 添加失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_WhiteListInsertItem_ByNumber(Pointer hSDK, String pcNumber, String pcDateBegin, String pcDateEnd, String pcTimeBegin, String pcTimeEnd, String pcType, String pcRemark, String pcRsrv2, String pcRsrv3, String pcRsrv4);
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 删除黑白名单项(以车牌号为索引)
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pcNumber 要删除的车牌号
|
|
|
+ * @return 1 删除成功 0 删除失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_WhiteListDeleteItem_ByNumber(Pointer hSDK, String pcNumber);
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 获取白名单项总数(包括黑白名单)
|
|
|
+ * 注意事项: 在使用任何白名单操作前,都需调用此接口,用于分配内存
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [OUT] pu32Count 白名单项总数
|
|
|
+ * @return 1 成功 0 失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_WhiteListGetCount(Pointer hSDK, IntByReference pu32Count);
|
|
|
+ public int ICE_IPCSDK_GetWhiteCount(Pointer hSDK, IntByReference pu32Count);
|
|
|
+
|
|
|
+ public int ICE_IPCSDK_ConnectNormalSdk(Pointer hSDK);
|
|
|
+ public int ICE_IPCSDK_SetWBListMode(Pointer hSDK, int mode);
|
|
|
+ public int ICE_IPCSDK_InsertWhiteItem(Pointer hSDK, byte[] pcNumber, String pcDateBegin, String pcDateEnd, String pcTimeBegin, String pcTimeEnd, String pcRemark, String pcRsrv2, String pcRsrv3, String pcRsrv4);
|
|
|
+ public int ICE_IPCSDK_DeleteWhiteItem(Pointer hSDK, byte[] pcNumber);
|
|
|
+
|
|
|
+ public int ICE_IPCSDK_GetWhiteItem(Pointer hSDK, int index,byte[] carNo, byte[] pcDateBegin, byte[] pcDateEnd, byte[] pcTimeBegin, byte[] pcTimeEnd, byte[] pcRemark, byte[] pcRsrv2, byte[] pcRsrv3, byte[] pcRsrv4);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 获得相机mac地址
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [OUT] szDevID 相机mac地址
|
|
|
+ * @return 0 失败 1 成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_GetDevID(Pointer hSDK, byte [] szDevID);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 开始录像
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pcFileName 录像文件名
|
|
|
+ * @return 0 失败 1 成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_StartRecord(Pointer hSDK, String pcFileName);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 结束录像
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_StopRecord(Pointer hSDK);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 日志配置
|
|
|
+ * @param [IN] openLog 是否开启日志
|
|
|
+ * @param [IN] logPath 日志路径,默认为D:\
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public void ICE_IPCSDK_LogConfig(int openLog, String logPath);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 开启是否加密
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] ucEncId 如果为0则为不加密,如果为其它的则为加密
|
|
|
+ * @param [IN] szPwd 相机密码
|
|
|
+ * @return 0 失败 1 成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_EnableEnc(Pointer hSDK, int u32EncId, byte [] szPwd);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 修改车牌解密密码
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] szOldPwd 车牌解密旧密码
|
|
|
+ * @param [IN] szNewPwd 车牌解密新密码
|
|
|
+ * @return 0 失败 1 成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_ModifyEncPwd(Pointer hSDK, byte [] szOldPwd, byte [] szNewPwd);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置车牌解密密码
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] szPwd 车牌解密密码
|
|
|
+ * @return 0 失败 1 成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_SetDecPwd(Pointer hSDK, byte [] szPwd);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置滞留报警事件的相关回调函数
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pfStillEvent 滞留报警事件
|
|
|
+ * @param [IN] pvStillEventParam 回调上下文
|
|
|
+ * @return 0 失败,1成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_SetStillEventCallback(Pointer hSDK, IStillEventCallback callback, int param);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置折返报警事件的相关回调函数
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] pfTurnbackEvent 折返报警事件
|
|
|
+ * @param [IN] pvTurnbackEventParam 回调上下文
|
|
|
+ * @return 0 失败,1成功
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_SetTurnbackEventCallback(Pointer hSDK, ITurnbackEventCallback callback, int param);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置算法高级参数
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [IN] ptAlgoAdvParam 算法高级参数结构体
|
|
|
+ * @return 获取状态 1 成功 0 失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_SetAlgoAdvParam(Pointer hSDK, T_AlgoAdvParam.ByReference ptAlgoAdvParam);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 设置算法高级参数
|
|
|
+ * @param [IN] hSDK 连接相机时返回的sdk句柄
|
|
|
+ * @param [OUT] ptAlgoAdvParam 算法高级参数结构体
|
|
|
+ * @return 获取状态 1 成功 0 失败
|
|
|
+ */
|
|
|
+ public int ICE_IPCSDK_GetAlgoAdvParam(Pointer hSDK, T_AlgoAdvParam.ByReference ptAlgoAdvParam);
|
|
|
+}
|