mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
feat: 导出单插件重载到 SDK (CORE_PLUGIN_RELOAD_ONE/48 + LIST/49 + IS_DISABLED/50)
- PluginManager 接口新增 ReloadOne(name) error - cabi dispatch: case 48 单插件重载, 49 列已加载, 50 查询禁用 - 外部 SDK 新增 PluginMgrAPI(ReloadOne/ListLoadedPlugins/IsPluginDisabled) + bridge dispatchPluginMgr 注入
This commit is contained in:
@ -887,6 +887,40 @@ func go_core_dispatch(methodID C.int, ctx unsafe.Pointer, s1, s2, s3 *C.char, i1
|
||||
}
|
||||
s.RegisterInputChannel(a1, chDef)
|
||||
return 0
|
||||
|
||||
case 48: // CORE_PLUGIN_RELOAD_ONE
|
||||
if s.PluginMgr() == nil {
|
||||
setErr(errorOut, fmt.Errorf("plugin manager not available"))
|
||||
return 1
|
||||
}
|
||||
if err := s.PluginMgr().ReloadOne(a1); err != nil {
|
||||
setErr(errorOut, err)
|
||||
return 1
|
||||
}
|
||||
setResult(result, "reloaded: "+a1)
|
||||
return 0
|
||||
|
||||
case 49: // CORE_PLUGIN_LIST_LOADED
|
||||
if s.PluginMgr() == nil {
|
||||
setErr(errorOut, fmt.Errorf("plugin manager not available"))
|
||||
return 1
|
||||
}
|
||||
if b, err := json.Marshal(s.PluginMgr().ListLoadedPlugins()); err == nil {
|
||||
setResult(result, string(b))
|
||||
}
|
||||
return 0
|
||||
|
||||
case 50: // CORE_PLUGIN_IS_DISABLED
|
||||
if s.PluginMgr() == nil {
|
||||
setErr(errorOut, fmt.Errorf("plugin manager not available"))
|
||||
return 1
|
||||
}
|
||||
if s.PluginMgr().IsPluginDisabled(a1) {
|
||||
setResult(result, "1")
|
||||
} else {
|
||||
setResult(result, "0")
|
||||
}
|
||||
return 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user