seq.Transact is called when Go calls a method of a foreign object that implements a Go interface. Currently, we assume that the foreign object has an instance method that can conduct the message routing, so the object id and the method code is sufficient for transact. Passing the interface descriptor (e.g. go.testpkg.I) however allows the bind internal to use non-instance methods to implement the routing. Change-Id: I1f61a04f919fbd09117ea332d678cd50e4861e46 Reviewed-on: https://go-review.googlesource.com/12685 Reviewed-by: David Crawshaw <crawshaw@golang.org>
82 lines
1.8 KiB
Plaintext
82 lines
1.8 KiB
Plaintext
// Package go_interfaces is an autogenerated binder stub for package interfaces.
|
|
// gobind -lang=go interfaces
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package go_interfaces
|
|
|
|
import (
|
|
"golang.org/x/mobile/bind/seq"
|
|
"interfaces"
|
|
)
|
|
|
|
func proxy_Add3(out, in *seq.Buffer) {
|
|
var param_r interfaces.I
|
|
param_r_ref := in.ReadRef()
|
|
if param_r_ref.Num < 0 { // go object
|
|
param_r = param_r_ref.Get().(interfaces.I)
|
|
} else { // foreign object
|
|
param_r = (*proxyI)(param_r_ref)
|
|
}
|
|
res := interfaces.Add3(param_r)
|
|
out.WriteInt32(res)
|
|
}
|
|
|
|
const (
|
|
proxyI_Descriptor = "go.interfaces.I"
|
|
proxyI_Rand_Code = 0x10a
|
|
)
|
|
|
|
func proxyI_Rand(out, in *seq.Buffer) {
|
|
ref := in.ReadRef()
|
|
v := ref.Get().(interfaces.I)
|
|
res := v.Rand()
|
|
out.WriteInt32(res)
|
|
}
|
|
|
|
func init() {
|
|
seq.Register(proxyI_Descriptor, proxyI_Rand_Code, proxyI_Rand)
|
|
}
|
|
|
|
type proxyI seq.Ref
|
|
|
|
func (p *proxyI) Rand() int32 {
|
|
in := new(seq.Buffer)
|
|
out := seq.Transact((*seq.Ref)(p), "go.interfaces.I", proxyI_Rand_Code, in)
|
|
res_0 := out.ReadInt32()
|
|
return res_0
|
|
}
|
|
|
|
func proxy_Seven(out, in *seq.Buffer) {
|
|
res := interfaces.Seven()
|
|
out.WriteGoRef(res)
|
|
}
|
|
|
|
const (
|
|
proxyWithParam_Descriptor = "go.interfaces.WithParam"
|
|
proxyWithParam_HasParam_Code = 0x10a
|
|
)
|
|
|
|
func proxyWithParam_HasParam(out, in *seq.Buffer) {
|
|
ref := in.ReadRef()
|
|
v := ref.Get().(interfaces.WithParam)
|
|
param_p0 := in.ReadBool()
|
|
v.HasParam(param_p0)
|
|
}
|
|
|
|
func init() {
|
|
seq.Register(proxyWithParam_Descriptor, proxyWithParam_HasParam_Code, proxyWithParam_HasParam)
|
|
}
|
|
|
|
type proxyWithParam seq.Ref
|
|
|
|
func (p *proxyWithParam) HasParam(p0 bool) {
|
|
in := new(seq.Buffer)
|
|
in.WriteBool(p0)
|
|
seq.Transact((*seq.Ref)(p), "go.interfaces.WithParam", proxyWithParam_HasParam_Code, in)
|
|
}
|
|
|
|
func init() {
|
|
seq.Register("interfaces", 1, proxy_Add3)
|
|
seq.Register("interfaces", 2, proxy_Seven)
|
|
}
|