mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-13 11:53:41 +00:00
fix: ffi instance be singleton
This commit is contained in:
1 parent
91dfd78b77
commit
4b4c03fd90
18 files changed
+844
-5336
No files matched your search
@@ -10,22 +10,25 @@ import (
|
||||
|
||||
func main() {}
|
||||
|
||||
//export Create
|
||||
func Create(cfg *C.char) *C.char {
|
||||
//export Init
|
||||
func Init(cfg *C.char) *C.char {
|
||||
var config model.StartConfig
|
||||
if err := json.Unmarshal([]byte(C.GoString(cfg)), &config); err != nil {
|
||||
return C.CString(bind.BuildResult(err))
|
||||
return C.CString(err.Error())
|
||||
}
|
||||
if err := bind.Init(&config); err != nil {
|
||||
return C.CString(err.Error())
|
||||
}
|
||||
|
||||
return C.CString(bind.Create(&config))
|
||||
return nil
|
||||
}
|
||||
|
||||
//export Invoke
|
||||
func Invoke(index int, req *C.char) *C.char {
|
||||
func Invoke(req *C.char) *C.char {
|
||||
var request api.Request
|
||||
if err := json.Unmarshal([]byte(C.GoString(req)), &request); err != nil {
|
||||
return C.CString(bind.BuildResult(err))
|
||||
}
|
||||
|
||||
return C.CString(bind.Invoke(index, &request))
|
||||
return C.CString(bind.Invoke(&request))
|
||||
}
|
||||
Reference in new issue
Block a user