15 KiB
order, icon
| order | icon |
|---|---|
| 2 | material-symbols:u-turn-left |
回呼訊息協定
::: info 注意 回呼訊息 (Callback) 隨版本更新快速迭代中,本文件可能過時。如需獲取最新內容可參考 C# 整合原始碼 :::
回呼函式原型
typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg);
參數總覽
-
int msg
消息類型enum class AsstMsg { /* Global Info */ InternalError = 0, // 內部錯誤 InitFailed = 1, // 初始化失敗 ConnectionInfo = 2, // 連線相關資訊 AllTasksCompleted = 3, // 全部任務完成 AsyncCallInfo = 4, // 外部非同步調用資訊 Destroyed = 5, // 執行個體已銷毀 /* TaskChain Info */ TaskChainError = 10000, // 任務鏈執行 / 辨識錯誤 TaskChainStart = 10001, // 任務鏈開始 TaskChainCompleted = 10002, // 任務鏈完成 TaskChainExtraInfo = 10003, // 任務鏈額外資訊 TaskChainStopped = 10004, // 任務鏈手動停止 /* SubTask Info */ SubTaskError = 20000, // 原子任務執行 / 辨識錯誤 SubTaskStart = 20001, // 原子任務開始 SubTaskCompleted = 20002, // 原子任務完成 SubTaskExtraInfo = 20003, // 原子任務額外資訊 SubTaskStopped = 20004, // 原子任務手動停止 /* Web Request */ ReportRequest = 30000, // 彙報請求 }; -
const char* details
消息詳情,json 字串,詳見 欄位解釋 -
void* custom_arg
調用端自定義參數。會原樣傳出AsstCreateEx介面中的custom_arg參數,C 系語言可利用此參數傳出this指標。
欄位解釋
InternalError
details 欄位為空。
InitFailed
:::: field-group
::: field name="what" type="string" required
錯誤類型。
:::
::: field name="why" type="string" required
錯誤原因。
:::
::: field name="details" type="object" required
錯誤詳情。
:::
::::
ConnectionInfo
:::: field-group ::: field name="what" type="string" required 資訊類型。 ::: ::: field name="why" type="string" required 資訊原因。 ::: ::: field name="uuid" type="string" 設備唯一碼(連線失敗時為空)。 ::: ::: field name="details" type="object" required 連線詳情。其結構如下:
adb(string, required):AsstConnect介面adb_path參數。address(string, required):AsstConnect介面address參數。config(string, required):AsstConnect介面config參數。
::: ::::
常見 What 欄位
-
ConnectFailed
連線失敗 -
Connected
已連接,注意此時的uuid欄位值為空(下一步才是獲取) -
UuidGot
已獲取到設備唯一碼 -
UnsupportedResolution
解析度不被支援 -
ResolutionError
解析度獲取錯誤 -
Reconnecting
連線中斷(adb / 模擬器 炸了),正在重連 -
Reconnected
連線中斷(adb / 模擬器 炸了),重連成功 -
Disconnect
連線中斷(adb / 模擬器 炸了),並重試失敗 -
ScreencapFailed
截圖失敗(adb / 模擬器 炸了),並重試失敗 -
TouchModeNotAvailable
不支援的觸控模式 -
ResolutionGot
已獲取到解析度 -
FastestWayToScreencap
已找到最快的截圖方式,details結構如下:method(string, required): 最快的截圖方式。cost(number, required): 耗時,單位毫秒。alternatives(array