nswrap/examples/simple/ClassOne/main.go

104 lines
1.6 KiB
Go

package ClassOne
/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Foundation
#import "simple.h"
ClassOne*
NewClassOne() {
return [ClassOne alloc];
}
int
ClassOne_geti1(void* obj) {
return [(id)obj geti1];
}
int*
ClassOne_getp1(void* obj) {
return [(id)obj getp1];
}
int
ClassOne_hi1(void* obj, struct stru in) {
return [(id)obj hi1:in];
}
int
ClassOne_hi2(void* obj, void* in) {
return [(id)obj hi2:in];
}
struct stru
ClassOne_nstru1(void* obj) {
return [(id)obj nstru1];
}
struct stru*
ClassOne_nstru2(void* obj) {
return [(id)obj nstru2];
}
ClassOne*
ClassOne_init(void* obj) {
return [(id)obj init];
}
*/
import "C"
import (
"unsafe"
)
//ClassOne*
type ClassOne struct { NSObject }
//NSObject*
type NSObject struct { ptr unsafe.Pointer }
//int
type Int C.int
//struct stru
type Stru C.struct_stru
func NewClassOne() *ClassOne {
ret := &ClassOne{}
ret.ptr = unsafe.Pointer(C.NewClassOne())
//ret = ret.Init()
return ret
}
func (o *ClassOne) Geti1() Int {
return (Int)(C.ClassOne_geti1(o.ptr))
}
func (o *ClassOne) Getp1() *Int {
return (*Int)(unsafe.Pointer(C.ClassOne_getp1(o.ptr)))
}
func (o *ClassOne) Hi1(in Stru) Int {
return (Int)(C.ClassOne_hi1(o.ptr, (C.struct_stru)(in)))
}
func (o *ClassOne) Hi2(in *Stru) Int {
return (Int)(C.ClassOne_hi2(o.ptr, unsafe.Pointer(in)))
}
func (o *ClassOne) Nstru1() Stru {
return (Stru)(C.ClassOne_nstru1(o.ptr))
}
func (o *ClassOne) Nstru2() *Stru {
return (*Stru)(unsafe.Pointer(C.ClassOne_nstru2(o.ptr)))
}
func (o *ClassOne) Init() *ClassOne {
ret := &ClassOne{}
ret.ptr = unsafe.Pointer(C.ClassOne_init(o.ptr))
return ret
}