pygomx/libmxclient/mxclientlib.go

80 lines
1.6 KiB
Go
Raw Normal View History

2026-01-13 13:11:02 +01:00
// Copyright (C) 2026 saces@c-base.org
// SPDX-License-Identifier: AGPL-3.0-only
2026-01-09 18:52:31 +01:00
package main
2026-01-12 17:39:34 +01:00
import (
2026-01-13 13:11:02 +01:00
"fmt"
2026-01-12 17:39:34 +01:00
"mxclientlib/mxclient"
)
2026-01-09 18:52:31 +01:00
import "C"
2026-01-13 13:11:02 +01:00
/*
cli tools
*/
//export cli_discoverhs
func cli_discoverhs(id *C.char) *C.char {
2026-01-12 17:39:34 +01:00
mxid := C.GoString(id)
result := mxclient.DiscoverHS(mxid)
return C.CString(result)
}
2026-01-13 13:11:02 +01:00
//export cli_mkmxtoken
func cli_mkmxtoken(id *C.char, pw *C.char) *C.char {
mxid := C.GoString(id)
mxpw := C.GoString(pw)
result := mxclient.MkToken(mxid, mxpw)
2026-01-09 18:52:31 +01:00
return C.CString(result)
}
2026-01-13 13:11:02 +01:00
//export cli_whoami
func cli_whoami(hs *C.char, tk *C.char) *C.char {
_hs := C.GoString(hs)
_tk := C.GoString(tk)
result := mxclient.Whoami(_hs, _tk)
return C.CString(result)
}
//export cli_accountinfo
func cli_accountinfo(hs *C.char, tk *C.char) *C.char {
_hs := C.GoString(hs)
_tk := C.GoString(tk)
result := mxclient.AccountInfo(_hs, _tk)
return C.CString(result)
}
//export cli_clearaccount
func cli_clearaccount(hs *C.char, tk *C.char) *C.char {
_hs := C.GoString(hs)
_tk := C.GoString(tk)
result := mxclient.ClearAccount(_hs, _tk)
return C.CString(result)
}
//export cli_serverinfo
func cli_serverinfo(url *C.char) *C.char {
_url := C.GoString(url)
result := mxclient.ServerInfo(_url)
return C.CString(result)
}
/*
high api
*/
//export createclient
func createclient(url *C.char, userID *C.char, accessToken *C.char) C.int {
err := mxclient.CreateClient(C.GoString(url), C.GoString(userID), C.GoString(accessToken))
if err != nil {
fmt.Printf("ERR: %v", err)
return 1
}
return 0
}
//export shutdown
func shutdown() C.int {
return 0
}
2026-01-09 18:52:31 +01:00
func main() {}