2
0
mirror of synced 2025-02-24 07:18:15 +00:00
mobile/bind/testdata/issue10788.go.golden
Elias Naur bdf873ed8f bind,cmd: accept Java API in bound packages
Accept Java API interface types as arguments and return values from
bound Go package functions and methods. Also, allow Go structs
to extend Java classes and implement Java interfaces as well as override
and implement methods.

This is the third and final part of the implementation of the golang/go#16876
proposal.

Fixes golang/go#16876

Change-Id: I6951dd87235553ce09abe5117a39a503466163c0
Reviewed-on: https://go-review.googlesource.com/28597
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-09-22 10:16:33 +00:00

84 lines
2.6 KiB
Plaintext

// Package gomobile_bind is an autogenerated binder stub for package issue10788.
// gobind -lang=go issue10788
//
// File is generated by gobind. Do not edit.
package gomobile_bind
/*
#include <stdlib.h>
#include <stdint.h>
#include "seq.h"
#include "issue10788.h"
*/
import "C"
import (
_seq "golang.org/x/mobile/bind/seq"
"issue10788"
)
// suppress the error if seq ends up unused
var _ = _seq.FromRefNum
//export proxyissue10788_TestStruct_Value_Set
func proxyissue10788_TestStruct_Value_Set(refnum C.int32_t, v C.nstring) {
ref := _seq.FromRefNum(int32(refnum))
_v := decodeString(v)
ref.Get().(*issue10788.TestStruct).Value = _v
}
//export proxyissue10788_TestStruct_Value_Get
func proxyissue10788_TestStruct_Value_Get(refnum C.int32_t) C.nstring {
ref := _seq.FromRefNum(int32(refnum))
v := ref.Get().(*issue10788.TestStruct).Value
_v := encodeString(v)
return _v
}
//export new_issue10788_TestStruct
func new_issue10788_TestStruct() C.int32_t {
return C.int32_t(_seq.ToRefNum(new(issue10788.TestStruct)))
}
//export proxyissue10788_TestInterface_DoSomeWork
func proxyissue10788_TestInterface_DoSomeWork(refnum C.int32_t, param_s C.int32_t) {
ref := _seq.FromRefNum(int32(refnum))
v := ref.Get().(issue10788.TestInterface)
// Must be a Go object
_param_s_ref := _seq.FromRefNum(int32(param_s))
_param_s := _param_s_ref.Get().(*issue10788.TestStruct)
v.DoSomeWork(_param_s)
}
//export proxyissue10788_TestInterface_MultipleUnnamedParams
func proxyissue10788_TestInterface_MultipleUnnamedParams(refnum C.int32_t, param_p0 C.nint, param_p1 C.nstring, param_p2 C.int64_t) {
ref := _seq.FromRefNum(int32(refnum))
v := ref.Get().(issue10788.TestInterface)
_param_p0 := int(param_p0)
_param_p1 := decodeString(param_p1)
_param_p2 := int64(param_p2)
v.MultipleUnnamedParams(_param_p0, _param_p1, _param_p2)
}
type proxyissue10788_TestInterface _seq.Ref
func (p *proxyissue10788_TestInterface) Bind_proxy_refnum__() int32 {
return (*_seq.Ref)(p).Bind_IncNum()
}
func (p *proxyissue10788_TestInterface) DoSomeWork(param_s *issue10788.TestStruct) {
var _param_s C.int32_t = _seq.NullRefNum
if param_s != nil {
_param_s = C.int32_t(_seq.ToRefNum(param_s))
}
C.cproxyissue10788_TestInterface_DoSomeWork(C.int32_t(p.Bind_proxy_refnum__()), _param_s)
}
func (p *proxyissue10788_TestInterface) MultipleUnnamedParams(param_p0 int, param_p1 string, param_p2 int64) {
_param_p0 := C.nint(param_p0)
_param_p1 := encodeString(param_p1)
_param_p2 := C.int64_t(param_p2)
C.cproxyissue10788_TestInterface_MultipleUnnamedParams(C.int32_t(p.Bind_proxy_refnum__()), _param_p0, _param_p1, _param_p2)
}