Commit 37fb0a9c authored by captainwong's avatar captainwong

update

parent ebf70911
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
* `Lpref` 以L开头的一段十六进制数字字符串,数字长度范围`1~6`,暂时仅占位,无意义。字段总长度`2~7` Bytes。 * `Lpref` 以L开头的一段十六进制数字字符串,数字长度范围`1~6`,暂时仅占位,无意义。字段总长度`2~7` Bytes。
* `#acct``#`开头,后跟有限位十进制数字(SIM卡号或出厂编号)或安定宝ID,表示主机的账号(有SIM卡的主机为手机号,无SIM卡的是出厂编号,有些主机直连时使用了安定宝ID为账号) * `#acct``#`开头,后跟有限位十进制数字(SIM卡号或出厂编号)或安定宝ID,表示主机的账号(有SIM卡的主机为手机号,无SIM卡的是出厂编号,有些主机直连时使用了安定宝ID为账号)
* `data` 格式为 `[]`(左右中括号,无空格,定长2Byte)或 `[#acct|event gg zone]`(有空格)。当事件类型为 `NULL/ACK/DUH``data` 段为`[]`;当事件类型为 `ADM-CID/HENG-BO``data` 段格式为 `[#acct|event gg zone]` * `data` 格式为 `[]`(左右中括号,无空格,定长2Byte)或 `[#acct|event gg zone]`(有空格)。当事件类型为 `NULL/ACK/DUH``data` 段为`[]`;当事件类型为 `ADM-CID/HENG-BO``data` 段格式为 `[#acct|event gg zone]`
* `#acct` 主机的安定宝ID,4位或6位或8位十六进制数字,如安定宝ID `16` 编码为6位是 `000010` * `#acct` 主机的安定宝ID,4位或6位或8位十六进制数字,我司使用固定6位,如安定宝ID `16` 编码为6位是 `000010`
* `event` 定长4Bytes,事件代码,具体含义见后文。 * `event` 定长4Bytes,事件代码,具体含义见后文。
* `gg` 定长2 Bytes, 一般为00,当非00时有特殊含义,参考《安定宝协议扩展》 * `gg` 定长2 Bytes, 一般为00,当非00时有特殊含义,参考《安定宝协议扩展》
* `zone` 防区号,范围 `0~999``zone``0` 表示主机自身事件,如布防、撤防、防拆等。`1~999` 则为防区号,表示防区事件。定长3 Bytes。 * `zone` 防区号,范围 `0~999``zone``0` 表示主机自身事件,如布防、撤防、防拆等。`1~999` 则为防区号,表示防区事件。定长3 Bytes。
......
...@@ -21,7 +21,11 @@ ...@@ -21,7 +21,11 @@
3. `java javademo.jni.SimpleServer 12345` 进行测试 3. `java javademo.jni.SimpleServer 12345` 进行测试
## 二次开发可以参考 `SimpleServer` 引入 `AdmeocHbLibrary` 进行解包、打包。 ## 二次开发
可以参考 `SimpleServer` 引入 `AdmeocHbLibrary` 进行解包、打包。
注意若使用预编译动态库,引入 `AdmeocHbLibrary` 时需整包引入,动态链接库会以包名查找 `AdmeocHbLibrary` 类,详情见 [dllmain.cpp](javademo/cpp/dllmain.cpp)`Java_javademo_jni_AdemcoHbLibrary_nativeParse` 函数,包名不同则查找失败,用户自行编译动态库时需同时修改此函数内容。
## 作者对 `Java` 开发不熟悉,有任何意见、建议欢迎提 `issue` 及 `pr` ## 作者对 `Java` 开发不熟悉,有任何意见、建议欢迎提 `issue` 及 `pr`
...@@ -36,8 +36,6 @@ JNIEXPORT jobject JNICALL Java_javademo_jni_AdemcoHbLibrary_nativeParse ...@@ -36,8 +36,6 @@ JNIEXPORT jobject JNICALL Java_javademo_jni_AdemcoHbLibrary_nativeParse
jboolean iscopy = 0; jboolean iscopy = 0;
std::string s = env->GetStringUTFChars(pack, &iscopy); std::string s = env->GetStringUTFChars(pack, &iscopy);
auto result = ap.parse(s.data(), static_cast<size_t>(pack_len), commited); auto result = ap.parse(s.data(), static_cast<size_t>(pack_len), commited);
//*cb_commited = static_cast<int>(commited);
//return static_cast<int>(result);
// Attempt to find the Version class. // Attempt to find the Version class.
clazz = env->FindClass("javademo/jni/AdemcoHbLibrary$ParseResult"); clazz = env->FindClass("javademo/jni/AdemcoHbLibrary$ParseResult");
// If this class does not exist then return null. // If this class does not exist then return null.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment