new: add cli interface with basic webui
This commit is contained in:
27
custom/cmd_interface.go
Normal file
27
custom/cmd_interface.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package main
|
||||
|
||||
/*
|
||||
#include <stdlib.h>
|
||||
*/
|
||||
import "C"
|
||||
import (
|
||||
"fmt"
|
||||
"unsafe"
|
||||
|
||||
"github.com/hiddify/libcore/cmd"
|
||||
)
|
||||
|
||||
//export parseCli
|
||||
func parseCli(argc C.int, argv **C.char) *C.char {
|
||||
args := make([]string, argc)
|
||||
for i := 0; i < int(argc); i++ {
|
||||
fmt.Println("parseCli", C.GoString(*argv))
|
||||
args[i] = C.GoString(*argv)
|
||||
argv = (**C.char)(unsafe.Pointer(uintptr(unsafe.Pointer(argv)) + uintptr(unsafe.Sizeof(*argv))))
|
||||
}
|
||||
err := cmd.ParseCli(args[1:])
|
||||
if err != nil {
|
||||
return C.CString(err.Error())
|
||||
}
|
||||
return C.CString("Ok")
|
||||
}
|
||||
@@ -16,9 +16,6 @@ import (
|
||||
func AdminServiceStart(arg *C.char) *C.char {
|
||||
goArg := C.GoString(arg)
|
||||
exitCode, outMessage := admin_service.StartService(goArg)
|
||||
|
||||
// Allocate memory for the message and copy the string content
|
||||
|
||||
return C.CString(fmt.Sprintf("%d %s", exitCode, outMessage))
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user