2
0
mirror of synced 2025-02-23 06:48:15 +00:00
mobile/bind/testdata/interfaces.go.golden
Hyang-Ah (Hana) Kim c261c465a9 bind: seq.Transact requires interface descriptor.
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>
2015-07-27 18:08:41 +00:00

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)
}