export engineReceiverCall
(rcvr *C.struct__engine_receiver, name *C.char, args unsafe.Pointer)
| 259 | |
| 260 | //export engineReceiverCall |
| 261 | func engineReceiverCall(rcvr *C.struct__engine_receiver, name *C.char, args unsafe.Pointer) unsafe.Pointer { |
| 262 | n := C.GoString(C.receiver_get_name(rcvr)) |
| 263 | if engine == nil || engine.receivers[n].objects[rcvr] == nil { |
| 264 | return nil |
| 265 | } |
| 266 | |
| 267 | // Process input arguments. |
| 268 | va, err := NewValueFromPtr(args) |
| 269 | if err != nil { |
| 270 | return nil |
| 271 | } |
| 272 | |
| 273 | defer va.Destroy() |
| 274 | |
| 275 | val := engine.receivers[n].objects[rcvr].Call(C.GoString(name), va.Slice()) |
| 276 | if val == nil { |
| 277 | return nil |
| 278 | } |
| 279 | |
| 280 | return val.Ptr() |
| 281 | } |
no test coverage detected