mirror of
https://github.com/bluszcz/cutego.git
synced 2024-09-29 05:35:16 +03:00
47 lines
787 B
Go
Executable file
47 lines
787 B
Go
Executable file
package androidextras
|
|
|
|
import (
|
|
"C"
|
|
"strings"
|
|
"unsafe"
|
|
|
|
"github.com/therecipe/qt"
|
|
)
|
|
|
|
func assertion(key int, input ...interface{}) unsafe.Pointer {
|
|
if len(input) > key {
|
|
switch deduced := input[key].(type) {
|
|
case string:
|
|
{
|
|
return QAndroidJniObject_FromString(deduced).Object()
|
|
}
|
|
|
|
case []string:
|
|
{
|
|
return QAndroidJniObject_FromString(strings.Join(deduced, ",,,")).CallObjectMethod2("split", "(Ljava/lang/String;)[Ljava/lang/String;", ",,,").Object()
|
|
}
|
|
|
|
case int:
|
|
{
|
|
return unsafe.Pointer(uintptr(C.int(deduced)))
|
|
}
|
|
|
|
case bool:
|
|
{
|
|
return unsafe.Pointer(uintptr(C.int(qt.GoBoolToInt(deduced))))
|
|
}
|
|
|
|
case unsafe.Pointer:
|
|
{
|
|
return deduced
|
|
}
|
|
|
|
case *QAndroidJniObject:
|
|
{
|
|
return deduced.Object()
|
|
}
|
|
}
|
|
}
|
|
return nil
|
|
}
|