blob: f4aaa4448bd4b5138202988718c758b4f7d4e57b [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// This file was auto-generated by the vanadium vdl tool.
// Package: app
// The app package contains the struct that keeps per javascript app state and handles translating
// javascript requests to vanadium requests and vice versa.
package app
import (
"fmt"
"reflect"
"v.io/v23"
"v.io/v23/context"
"v.io/v23/rpc"
"v.io/v23/security"
"v.io/v23/uniqueid"
"v.io/v23/vdl"
"v.io/v23/vdl/vdlconv"
"v.io/v23/vdlroot/signature"
"v.io/v23/vdlroot/time"
"v.io/v23/verror"
"v.io/v23/vom"
"v.io/v23/vtrace"
"v.io/x/ref/services/wspr/internal/principal"
"v.io/x/ref/services/wspr/internal/rpc/server"
)
var _ = __VDLInit() // Must be first; see __VDLInit comments for details.
//////////////////////////////////////////////////
// Type definitions
type GranterHandle int32
func (GranterHandle) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.GranterHandle"`
}) {
}
func (m *GranterHandle) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
if err := t.FromInt(int64((*m)), tt); err != nil {
return err
}
return nil
}
func (m *GranterHandle) MakeVDLTarget() vdl.Target {
return &GranterHandleTarget{Value: m}
}
type GranterHandleTarget struct {
Value *GranterHandle
vdl.TargetBase
}
func (t *GranterHandleTarget) FromUint(src uint64, tt *vdl.Type) error {
val, err := vdlconv.Uint64ToInt32(src)
if err != nil {
return err
}
*t.Value = GranterHandle(val)
return nil
}
func (t *GranterHandleTarget) FromInt(src int64, tt *vdl.Type) error {
val, err := vdlconv.Int64ToInt32(src)
if err != nil {
return err
}
*t.Value = GranterHandle(val)
return nil
}
func (t *GranterHandleTarget) FromFloat(src float64, tt *vdl.Type) error {
val, err := vdlconv.Float64ToInt32(src)
if err != nil {
return err
}
*t.Value = GranterHandle(val)
return nil
}
type (
// RpcCallOption represents any single field of the RpcCallOption union type.
RpcCallOption interface {
// Index returns the field index.
Index() int
// Interface returns the field value as an interface.
Interface() interface{}
// Name returns the field name.
Name() string
// __VDLReflect describes the RpcCallOption union type.
__VDLReflect(__RpcCallOptionReflect)
FillVDLTarget(vdl.Target, *vdl.Type) error
}
// RpcCallOptionAllowedServersPolicy represents field AllowedServersPolicy of the RpcCallOption union type.
RpcCallOptionAllowedServersPolicy struct{ Value []security.BlessingPattern }
// RpcCallOptionGranter represents field Granter of the RpcCallOption union type.
RpcCallOptionGranter struct{ Value GranterHandle }
// __RpcCallOptionReflect describes the RpcCallOption union type.
__RpcCallOptionReflect struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.RpcCallOption"`
Type RpcCallOption
UnionTargetFactory rpcCallOptionTargetFactory
Union struct {
AllowedServersPolicy RpcCallOptionAllowedServersPolicy
Granter RpcCallOptionGranter
}
}
)
func (x RpcCallOptionAllowedServersPolicy) Index() int { return 0 }
func (x RpcCallOptionAllowedServersPolicy) Interface() interface{} { return x.Value }
func (x RpcCallOptionAllowedServersPolicy) Name() string { return "AllowedServersPolicy" }
func (x RpcCallOptionAllowedServersPolicy) __VDLReflect(__RpcCallOptionReflect) {}
func (m RpcCallOptionAllowedServersPolicy) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("AllowedServersPolicy")
if err != nil {
return err
}
listTarget4, err := fieldTarget3.StartList(tt.NonOptional().Field(0).Type, len(m.Value))
if err != nil {
return err
}
for i, elem6 := range m.Value {
elemTarget5, err := listTarget4.StartElem(i)
if err != nil {
return err
}
if err := elem6.FillVDLTarget(elemTarget5, tt.NonOptional().Field(0).Type.Elem()); err != nil {
return err
}
if err := listTarget4.FinishElem(elemTarget5); err != nil {
return err
}
}
if err := fieldTarget3.FinishList(listTarget4); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m RpcCallOptionAllowedServersPolicy) MakeVDLTarget() vdl.Target {
return nil
}
func (x RpcCallOptionGranter) Index() int { return 1 }
func (x RpcCallOptionGranter) Interface() interface{} { return x.Value }
func (x RpcCallOptionGranter) Name() string { return "Granter" }
func (x RpcCallOptionGranter) __VDLReflect(__RpcCallOptionReflect) {}
func (m RpcCallOptionGranter) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Granter")
if err != nil {
return err
}
if err := m.Value.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(1).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m RpcCallOptionGranter) MakeVDLTarget() vdl.Target {
return nil
}
type RpcCallOptionTarget struct {
Value *RpcCallOption
fieldName string
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *RpcCallOptionTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*RpcCallOption)(nil)); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *RpcCallOptionTarget) StartField(name string) (key, field vdl.Target, _ error) {
t.fieldName = name
switch name {
case "AllowedServersPolicy":
val := []security.BlessingPattern(nil)
return nil, &__VDLTarget1_list{Value: &val}, nil
case "Granter":
val := GranterHandle(0)
return nil, &GranterHandleTarget{Value: &val}, nil
default:
return nil, nil, fmt.Errorf("field %s not in union v.io/x/ref/services/wspr/internal/app.RpcCallOption", name)
}
}
func (t *RpcCallOptionTarget) FinishField(_, fieldTarget vdl.Target) error {
switch t.fieldName {
case "AllowedServersPolicy":
*t.Value = RpcCallOptionAllowedServersPolicy{*(fieldTarget.(*__VDLTarget1_list)).Value}
case "Granter":
*t.Value = RpcCallOptionGranter{*(fieldTarget.(*GranterHandleTarget)).Value}
}
return nil
}
func (t *RpcCallOptionTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
type rpcCallOptionTargetFactory struct{}
func (t rpcCallOptionTargetFactory) VDLMakeUnionTarget(union interface{}) (vdl.Target, error) {
if typedUnion, ok := union.(*RpcCallOption); ok {
return &RpcCallOptionTarget{Value: typedUnion}, nil
}
return nil, fmt.Errorf("got %T, want *RpcCallOption", union)
}
// []security.BlessingPattern
type __VDLTarget1_list struct {
Value *[]security.BlessingPattern
elemTarget security.BlessingPatternTarget
vdl.TargetBase
vdl.ListTargetBase
}
func (t *__VDLTarget1_list) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) {
if ttWant := vdl.TypeOf((*[]security.BlessingPattern)(nil)); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
if cap(*t.Value) < len {
*t.Value = make([]security.BlessingPattern, len)
} else {
*t.Value = (*t.Value)[:len]
}
return t, nil
}
func (t *__VDLTarget1_list) StartElem(index int) (elem vdl.Target, _ error) {
t.elemTarget.Value = &(*t.Value)[index]
target, err := &t.elemTarget, error(nil)
return target, err
}
func (t *__VDLTarget1_list) FinishElem(elem vdl.Target) error {
return nil
}
func (t *__VDLTarget1_list) FinishList(elem vdl.ListTarget) error {
return nil
}
type RpcRequest struct {
Name string
Method string
NumInArgs int32
NumOutArgs int32
IsStreaming bool
Deadline time.Deadline
TraceRequest vtrace.Request
Context server.Context
CallOptions []RpcCallOption
}
func (RpcRequest) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.RpcRequest"`
}) {
}
func (m *RpcRequest) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
var4 := (m.Name == "")
if var4 {
if err := fieldsTarget1.ZeroField("Name"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Name")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := fieldTarget3.FromString(string(m.Name), tt.NonOptional().Field(0).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
}
}
var7 := (m.Method == "")
if var7 {
if err := fieldsTarget1.ZeroField("Method"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("Method")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := fieldTarget6.FromString(string(m.Method), tt.NonOptional().Field(1).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
return err
}
}
}
var10 := (m.NumInArgs == int32(0))
if var10 {
if err := fieldsTarget1.ZeroField("NumInArgs"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("NumInArgs")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := fieldTarget9.FromInt(int64(m.NumInArgs), tt.NonOptional().Field(2).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil {
return err
}
}
}
var13 := (m.NumOutArgs == int32(0))
if var13 {
if err := fieldsTarget1.ZeroField("NumOutArgs"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget11, fieldTarget12, err := fieldsTarget1.StartField("NumOutArgs")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := fieldTarget12.FromInt(int64(m.NumOutArgs), tt.NonOptional().Field(3).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget11, fieldTarget12); err != nil {
return err
}
}
}
var16 := (m.IsStreaming == false)
if var16 {
if err := fieldsTarget1.ZeroField("IsStreaming"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget14, fieldTarget15, err := fieldsTarget1.StartField("IsStreaming")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := fieldTarget15.FromBool(bool(m.IsStreaming), tt.NonOptional().Field(4).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget14, fieldTarget15); err != nil {
return err
}
}
}
var wireValue17 time.WireDeadline
if err := time.WireDeadlineFromNative(&wireValue17, m.Deadline); err != nil {
return err
}
var20 := (wireValue17 == time.WireDeadline{})
if var20 {
if err := fieldsTarget1.ZeroField("Deadline"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget18, fieldTarget19, err := fieldsTarget1.StartField("Deadline")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := wireValue17.FillVDLTarget(fieldTarget19, tt.NonOptional().Field(5).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget18, fieldTarget19); err != nil {
return err
}
}
}
var23 := (m.TraceRequest == vtrace.Request{})
if var23 {
if err := fieldsTarget1.ZeroField("TraceRequest"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget21, fieldTarget22, err := fieldsTarget1.StartField("TraceRequest")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := m.TraceRequest.FillVDLTarget(fieldTarget22, tt.NonOptional().Field(6).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget21, fieldTarget22); err != nil {
return err
}
}
}
var26 := (m.Context == server.Context{})
if var26 {
if err := fieldsTarget1.ZeroField("Context"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget24, fieldTarget25, err := fieldsTarget1.StartField("Context")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := m.Context.FillVDLTarget(fieldTarget25, tt.NonOptional().Field(7).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget24, fieldTarget25); err != nil {
return err
}
}
}
var var29 bool
if len(m.CallOptions) == 0 {
var29 = true
}
if var29 {
if err := fieldsTarget1.ZeroField("CallOptions"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget27, fieldTarget28, err := fieldsTarget1.StartField("CallOptions")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
listTarget30, err := fieldTarget28.StartList(tt.NonOptional().Field(8).Type, len(m.CallOptions))
if err != nil {
return err
}
for i, elem32 := range m.CallOptions {
elemTarget31, err := listTarget30.StartElem(i)
if err != nil {
return err
}
unionValue33 := elem32
if unionValue33 == nil {
unionValue33 = RpcCallOptionAllowedServersPolicy{}
}
if err := unionValue33.FillVDLTarget(elemTarget31, tt.NonOptional().Field(8).Type.Elem()); err != nil {
return err
}
if err := listTarget30.FinishElem(elemTarget31); err != nil {
return err
}
}
if err := fieldTarget28.FinishList(listTarget30); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget27, fieldTarget28); err != nil {
return err
}
}
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m *RpcRequest) MakeVDLTarget() vdl.Target {
return &RpcRequestTarget{Value: m}
}
type RpcRequestTarget struct {
Value *RpcRequest
nameTarget vdl.StringTarget
methodTarget vdl.StringTarget
numInArgsTarget vdl.Int32Target
numOutArgsTarget vdl.Int32Target
isStreamingTarget vdl.BoolTarget
deadlineTarget time.WireDeadlineTarget
traceRequestTarget vtrace.RequestTarget
contextTarget server.ContextTarget
callOptionsTarget __VDLTarget2_list
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *RpcRequestTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*RpcRequest)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *RpcRequestTarget) StartField(name string) (key, field vdl.Target, _ error) {
switch name {
case "Name":
t.nameTarget.Value = &t.Value.Name
target, err := &t.nameTarget, error(nil)
return nil, target, err
case "Method":
t.methodTarget.Value = &t.Value.Method
target, err := &t.methodTarget, error(nil)
return nil, target, err
case "NumInArgs":
t.numInArgsTarget.Value = &t.Value.NumInArgs
target, err := &t.numInArgsTarget, error(nil)
return nil, target, err
case "NumOutArgs":
t.numOutArgsTarget.Value = &t.Value.NumOutArgs
target, err := &t.numOutArgsTarget, error(nil)
return nil, target, err
case "IsStreaming":
t.isStreamingTarget.Value = &t.Value.IsStreaming
target, err := &t.isStreamingTarget, error(nil)
return nil, target, err
case "Deadline":
t.deadlineTarget.Value = &t.Value.Deadline
target, err := &t.deadlineTarget, error(nil)
return nil, target, err
case "TraceRequest":
t.traceRequestTarget.Value = &t.Value.TraceRequest
target, err := &t.traceRequestTarget, error(nil)
return nil, target, err
case "Context":
t.contextTarget.Value = &t.Value.Context
target, err := &t.contextTarget, error(nil)
return nil, target, err
case "CallOptions":
t.callOptionsTarget.Value = &t.Value.CallOptions
target, err := &t.callOptionsTarget, error(nil)
return nil, target, err
default:
return nil, nil, fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.RpcRequest", name)
}
}
func (t *RpcRequestTarget) FinishField(_, _ vdl.Target) error {
return nil
}
func (t *RpcRequestTarget) ZeroField(name string) error {
switch name {
case "Name":
t.Value.Name = ""
return nil
case "Method":
t.Value.Method = ""
return nil
case "NumInArgs":
t.Value.NumInArgs = int32(0)
return nil
case "NumOutArgs":
t.Value.NumOutArgs = int32(0)
return nil
case "IsStreaming":
t.Value.IsStreaming = false
return nil
case "Deadline":
t.Value.Deadline = func() time.Deadline {
var native time.Deadline
if err := vdl.Convert(&native, time.WireDeadline{}); err != nil {
panic(err)
}
return native
}()
return nil
case "TraceRequest":
t.Value.TraceRequest = vtrace.Request{}
return nil
case "Context":
t.Value.Context = server.Context{}
return nil
case "CallOptions":
t.Value.CallOptions = []RpcCallOption(nil)
return nil
default:
return fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.RpcRequest", name)
}
}
func (t *RpcRequestTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
// []RpcCallOption
type __VDLTarget2_list struct {
Value *[]RpcCallOption
elemTarget RpcCallOptionTarget
vdl.TargetBase
vdl.ListTargetBase
}
func (t *__VDLTarget2_list) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) {
if ttWant := vdl.TypeOf((*[]RpcCallOption)(nil)); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
if cap(*t.Value) < len {
*t.Value = make([]RpcCallOption, len)
} else {
*t.Value = (*t.Value)[:len]
}
return t, nil
}
func (t *__VDLTarget2_list) StartElem(index int) (elem vdl.Target, _ error) {
t.elemTarget.Value = &(*t.Value)[index]
target, err := &t.elemTarget, error(nil)
return target, err
}
func (t *__VDLTarget2_list) FinishElem(elem vdl.Target) error {
return nil
}
func (t *__VDLTarget2_list) FinishList(elem vdl.ListTarget) error {
return nil
}
type (
// RpcServerOption represents any single field of the RpcServerOption union type.
RpcServerOption interface {
// Index returns the field index.
Index() int
// Interface returns the field value as an interface.
Interface() interface{}
// Name returns the field name.
Name() string
// __VDLReflect describes the RpcServerOption union type.
__VDLReflect(__RpcServerOptionReflect)
FillVDLTarget(vdl.Target, *vdl.Type) error
}
// RpcServerOptionIsLeaf represents field IsLeaf of the RpcServerOption union type.
RpcServerOptionIsLeaf struct{ Value bool }
// RpcServerOptionServesMountTable represents field ServesMountTable of the RpcServerOption union type.
RpcServerOptionServesMountTable struct{ Value bool }
// __RpcServerOptionReflect describes the RpcServerOption union type.
__RpcServerOptionReflect struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.RpcServerOption"`
Type RpcServerOption
UnionTargetFactory rpcServerOptionTargetFactory
Union struct {
IsLeaf RpcServerOptionIsLeaf
ServesMountTable RpcServerOptionServesMountTable
}
}
)
func (x RpcServerOptionIsLeaf) Index() int { return 0 }
func (x RpcServerOptionIsLeaf) Interface() interface{} { return x.Value }
func (x RpcServerOptionIsLeaf) Name() string { return "IsLeaf" }
func (x RpcServerOptionIsLeaf) __VDLReflect(__RpcServerOptionReflect) {}
func (m RpcServerOptionIsLeaf) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("IsLeaf")
if err != nil {
return err
}
if err := fieldTarget3.FromBool(bool(m.Value), tt.NonOptional().Field(0).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m RpcServerOptionIsLeaf) MakeVDLTarget() vdl.Target {
return nil
}
func (x RpcServerOptionServesMountTable) Index() int { return 1 }
func (x RpcServerOptionServesMountTable) Interface() interface{} { return x.Value }
func (x RpcServerOptionServesMountTable) Name() string { return "ServesMountTable" }
func (x RpcServerOptionServesMountTable) __VDLReflect(__RpcServerOptionReflect) {}
func (m RpcServerOptionServesMountTable) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("ServesMountTable")
if err != nil {
return err
}
if err := fieldTarget3.FromBool(bool(m.Value), tt.NonOptional().Field(1).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m RpcServerOptionServesMountTable) MakeVDLTarget() vdl.Target {
return nil
}
type RpcServerOptionTarget struct {
Value *RpcServerOption
fieldName string
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *RpcServerOptionTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*RpcServerOption)(nil)); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *RpcServerOptionTarget) StartField(name string) (key, field vdl.Target, _ error) {
t.fieldName = name
switch name {
case "IsLeaf":
val := false
return nil, &vdl.BoolTarget{Value: &val}, nil
case "ServesMountTable":
val := false
return nil, &vdl.BoolTarget{Value: &val}, nil
default:
return nil, nil, fmt.Errorf("field %s not in union v.io/x/ref/services/wspr/internal/app.RpcServerOption", name)
}
}
func (t *RpcServerOptionTarget) FinishField(_, fieldTarget vdl.Target) error {
switch t.fieldName {
case "IsLeaf":
*t.Value = RpcServerOptionIsLeaf{*(fieldTarget.(*vdl.BoolTarget)).Value}
case "ServesMountTable":
*t.Value = RpcServerOptionServesMountTable{*(fieldTarget.(*vdl.BoolTarget)).Value}
}
return nil
}
func (t *RpcServerOptionTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
type rpcServerOptionTargetFactory struct{}
func (t rpcServerOptionTargetFactory) VDLMakeUnionTarget(union interface{}) (vdl.Target, error) {
if typedUnion, ok := union.(*RpcServerOption); ok {
return &RpcServerOptionTarget{Value: typedUnion}, nil
}
return nil, fmt.Errorf("got %T, want *RpcServerOption", union)
}
type RpcResponse struct {
OutArgs []*vom.RawBytes
TraceResponse vtrace.Response
}
func (RpcResponse) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.RpcResponse"`
}) {
}
func (m *RpcResponse) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
var var4 bool
if len(m.OutArgs) == 0 {
var4 = true
}
if var4 {
if err := fieldsTarget1.ZeroField("OutArgs"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("OutArgs")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
listTarget5, err := fieldTarget3.StartList(tt.NonOptional().Field(0).Type, len(m.OutArgs))
if err != nil {
return err
}
for i, elem7 := range m.OutArgs {
elemTarget6, err := listTarget5.StartElem(i)
if err != nil {
return err
}
if err := elem7.FillVDLTarget(elemTarget6, tt.NonOptional().Field(0).Type.Elem()); err != nil {
return err
}
if err := listTarget5.FinishElem(elemTarget6); err != nil {
return err
}
}
if err := fieldTarget3.FinishList(listTarget5); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
}
}
var10 := true
var11 := (m.TraceResponse.Flags == vtrace.TraceFlags(0))
var10 = var10 && var11
var12 := true
var13 := (m.TraceResponse.Trace.Id == uniqueid.Id{})
var12 = var12 && var13
var var14 bool
if len(m.TraceResponse.Trace.Spans) == 0 {
var14 = true
}
var12 = var12 && var14
var10 = var10 && var12
if var10 {
if err := fieldsTarget1.ZeroField("TraceResponse"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("TraceResponse")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := m.TraceResponse.FillVDLTarget(fieldTarget9, tt.NonOptional().Field(1).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil {
return err
}
}
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m *RpcResponse) MakeVDLTarget() vdl.Target {
return &RpcResponseTarget{Value: m}
}
type RpcResponseTarget struct {
Value *RpcResponse
outArgsTarget __VDLTarget3_list
traceResponseTarget vtrace.ResponseTarget
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *RpcResponseTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*RpcResponse)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *RpcResponseTarget) StartField(name string) (key, field vdl.Target, _ error) {
switch name {
case "OutArgs":
t.outArgsTarget.Value = &t.Value.OutArgs
target, err := &t.outArgsTarget, error(nil)
return nil, target, err
case "TraceResponse":
t.traceResponseTarget.Value = &t.Value.TraceResponse
target, err := &t.traceResponseTarget, error(nil)
return nil, target, err
default:
return nil, nil, fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.RpcResponse", name)
}
}
func (t *RpcResponseTarget) FinishField(_, _ vdl.Target) error {
return nil
}
func (t *RpcResponseTarget) ZeroField(name string) error {
switch name {
case "OutArgs":
t.Value.OutArgs = []*vom.RawBytes(nil)
return nil
case "TraceResponse":
t.Value.TraceResponse = vtrace.Response{}
return nil
default:
return fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.RpcResponse", name)
}
}
func (t *RpcResponseTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
// []*vom.RawBytes
type __VDLTarget3_list struct {
Value *[]*vom.RawBytes
vdl.TargetBase
vdl.ListTargetBase
}
func (t *__VDLTarget3_list) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) {
if ttWant := vdl.TypeOf((*[]*vom.RawBytes)(nil)); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
if cap(*t.Value) < len {
*t.Value = make([]*vom.RawBytes, len)
} else {
*t.Value = (*t.Value)[:len]
}
return t, nil
}
func (t *__VDLTarget3_list) StartElem(index int) (elem vdl.Target, _ error) {
target, err := vdl.ReflectTarget(reflect.ValueOf(&(*t.Value)[index]))
return target, err
}
func (t *__VDLTarget3_list) FinishElem(elem vdl.Target) error {
return nil
}
func (t *__VDLTarget3_list) FinishList(elem vdl.ListTarget) error {
return nil
}
type GranterRequest struct {
GranterHandle GranterHandle
Call server.SecurityCall
}
func (GranterRequest) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.GranterRequest"`
}) {
}
func (m *GranterRequest) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
var4 := (m.GranterHandle == GranterHandle(0))
if var4 {
if err := fieldsTarget1.ZeroField("GranterHandle"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("GranterHandle")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := m.GranterHandle.FillVDLTarget(fieldTarget3, tt.NonOptional().Field(0).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil {
return err
}
}
}
var7 := true
var8 := (m.Call.Method == "")
var7 = var7 && var8
var9 := (m.Call.Suffix == "")
var7 = var7 && var9
var var10 bool
if len(m.Call.MethodTags) == 0 {
var10 = true
}
var7 = var7 && var10
var11 := (m.Call.LocalBlessings == principal.BlessingsId(0))
var7 = var7 && var11
var var12 bool
if len(m.Call.LocalBlessingStrings) == 0 {
var12 = true
}
var7 = var7 && var12
var13 := (m.Call.RemoteBlessings == principal.BlessingsId(0))
var7 = var7 && var13
var var14 bool
if len(m.Call.RemoteBlessingStrings) == 0 {
var14 = true
}
var7 = var7 && var14
var15 := (m.Call.LocalEndpoint == "")
var7 = var7 && var15
var16 := (m.Call.RemoteEndpoint == "")
var7 = var7 && var16
if var7 {
if err := fieldsTarget1.ZeroField("Call"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget5, fieldTarget6, err := fieldsTarget1.StartField("Call")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := m.Call.FillVDLTarget(fieldTarget6, tt.NonOptional().Field(1).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget5, fieldTarget6); err != nil {
return err
}
}
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m *GranterRequest) MakeVDLTarget() vdl.Target {
return &GranterRequestTarget{Value: m}
}
type GranterRequestTarget struct {
Value *GranterRequest
granterHandleTarget GranterHandleTarget
callTarget server.SecurityCallTarget
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *GranterRequestTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*GranterRequest)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *GranterRequestTarget) StartField(name string) (key, field vdl.Target, _ error) {
switch name {
case "GranterHandle":
t.granterHandleTarget.Value = &t.Value.GranterHandle
target, err := &t.granterHandleTarget, error(nil)
return nil, target, err
case "Call":
t.callTarget.Value = &t.Value.Call
target, err := &t.callTarget, error(nil)
return nil, target, err
default:
return nil, nil, fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.GranterRequest", name)
}
}
func (t *GranterRequestTarget) FinishField(_, _ vdl.Target) error {
return nil
}
func (t *GranterRequestTarget) ZeroField(name string) error {
switch name {
case "GranterHandle":
t.Value.GranterHandle = GranterHandle(0)
return nil
case "Call":
t.Value.Call = server.SecurityCall{}
return nil
default:
return fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.GranterRequest", name)
}
}
func (t *GranterRequestTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
type GranterResponse struct {
Blessings security.Blessings
Err error
}
func (GranterResponse) __VDLReflect(struct {
Name string `vdl:"v.io/x/ref/services/wspr/internal/app.GranterResponse"`
}) {
}
func (m *GranterResponse) FillVDLTarget(t vdl.Target, tt *vdl.Type) error {
fieldsTarget1, err := t.StartFields(tt)
if err != nil {
return err
}
var wireValue2 security.WireBlessings
if err := security.WireBlessingsFromNative(&wireValue2, m.Blessings); err != nil {
return err
}
var5 := true
var var6 bool
if len(wireValue2.CertificateChains) == 0 {
var6 = true
}
var5 = var5 && var6
if var5 {
if err := fieldsTarget1.ZeroField("Blessings"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget3, fieldTarget4, err := fieldsTarget1.StartField("Blessings")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
if err := wireValue2.FillVDLTarget(fieldTarget4, tt.NonOptional().Field(0).Type); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget3, fieldTarget4); err != nil {
return err
}
}
}
var9 := (m.Err == (error)(nil))
if var9 {
if err := fieldsTarget1.ZeroField("Err"); err != nil && err != vdl.ErrFieldNoExist {
return err
}
} else {
keyTarget7, fieldTarget8, err := fieldsTarget1.StartField("Err")
if err != vdl.ErrFieldNoExist {
if err != nil {
return err
}
var wireError10 vdl.WireError
if err := verror.WireFromNative(&wireError10, m.Err); err != nil {
return err
}
if err := wireError10.FillVDLTarget(fieldTarget8, vdl.ErrorType); err != nil {
return err
}
if err := fieldsTarget1.FinishField(keyTarget7, fieldTarget8); err != nil {
return err
}
}
}
if err := t.FinishFields(fieldsTarget1); err != nil {
return err
}
return nil
}
func (m *GranterResponse) MakeVDLTarget() vdl.Target {
return &GranterResponseTarget{Value: m}
}
type GranterResponseTarget struct {
Value *GranterResponse
blessingsTarget security.WireBlessingsTarget
errTarget verror.ErrorTarget
vdl.TargetBase
vdl.FieldsTargetBase
}
func (t *GranterResponseTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) {
if ttWant := vdl.TypeOf((*GranterResponse)(nil)).Elem(); !vdl.Compatible(tt, ttWant) {
return nil, fmt.Errorf("type %v incompatible with %v", tt, ttWant)
}
return t, nil
}
func (t *GranterResponseTarget) StartField(name string) (key, field vdl.Target, _ error) {
switch name {
case "Blessings":
t.blessingsTarget.Value = &t.Value.Blessings
target, err := &t.blessingsTarget, error(nil)
return nil, target, err
case "Err":
t.errTarget.Value = &t.Value.Err
target, err := &t.errTarget, error(nil)
return nil, target, err
default:
return nil, nil, fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.GranterResponse", name)
}
}
func (t *GranterResponseTarget) FinishField(_, _ vdl.Target) error {
return nil
}
func (t *GranterResponseTarget) ZeroField(name string) error {
switch name {
case "Blessings":
t.Value.Blessings = func() security.Blessings {
var native security.Blessings
if err := vdl.Convert(&native, security.WireBlessings{}); err != nil {
panic(err)
}
return native
}()
return nil
case "Err":
t.Value.Err = (error)(nil)
return nil
default:
return fmt.Errorf("field %s not in struct v.io/x/ref/services/wspr/internal/app.GranterResponse", name)
}
}
func (t *GranterResponseTarget) FinishFields(_ vdl.FieldsTarget) error {
return nil
}
//////////////////////////////////////////////////
// Interface definitions
// ControllerClientMethods is the client interface
// containing Controller methods.
type ControllerClientMethods interface {
// NewServer instructs WSPR to create a server and start listening for calls on
// behalf of a JavaScript server.
NewServer(_ *context.T, name string, serverId uint32, serverOpts []RpcServerOption, _ ...rpc.CallOpt) error
// Stop instructs WSPR to stop listening for calls for the
// given javascript server.
Stop(_ *context.T, serverId uint32, _ ...rpc.CallOpt) error
// AddName adds a published name to an existing server.
AddName(_ *context.T, serverId uint32, name string, _ ...rpc.CallOpt) error
// RemoveName removes a published name from an existing server.
RemoveName(_ *context.T, serverId uint32, name string, _ ...rpc.CallOpt) error
// Bless binds extensions of blessings held by this principal to
// another principal (represented by its public key).
Bless(_ *context.T, publicKey []byte, blessings security.Blessings, extension string, caveat []security.Caveat, _ ...rpc.CallOpt) (principal.BlessingsId, error)
// BlessSelf creates a blessing with the provided name for this principal.
BlessSelf(_ *context.T, name string, caveats []security.Caveat, _ ...rpc.CallOpt) (principal.BlessingsId, error)
// AddToRoots adds the provided blessing as a root.
AddToRoots(_ *context.T, blessings security.Blessings, _ ...rpc.CallOpt) error
// BlessingStoreSet puts the specified blessing in the blessing store under the provided pattern.
BlessingStoreSet(_ *context.T, blessingsblessings security.Blessings, pattern security.BlessingPattern, _ ...rpc.CallOpt) (principal.BlessingsId, error)
// BlessingStoreForPeer retrieves the blessings marked for the given peers.
BlessingStoreForPeer(_ *context.T, peerBlessings []string, _ ...rpc.CallOpt) (principal.BlessingsId, error)
// BlessingStoreSetDefault sets the default blessings.
BlessingStoreSetDefault(_ *context.T, blessingsblessings security.Blessings, _ ...rpc.CallOpt) error
// BlessingStoreDefault fetches the default blessings for the principal of the controller.
BlessingStoreDefault(*context.T, ...rpc.CallOpt) (principal.BlessingsId, error)
// BlessingStorePublicKey fetches the public key of the principal for which this store hosts blessings.
BlessingStorePublicKey(*context.T, ...rpc.CallOpt) ([]byte, error)
// BlessingStorePeerBlessings returns all the blessings that the BlessingStore holds.
BlessingStorePeerBlessings(*context.T, ...rpc.CallOpt) (map[security.BlessingPattern]principal.BlessingsId, error)
// BlessingStoreDebugString retrieves a debug string describing the state of the blessing store
BlessingStoreDebugString(*context.T, ...rpc.CallOpt) (string, error)
// RemoteBlessings fetches the remote blessings for a given name and method.
RemoteBlessings(_ *context.T, name string, method string, _ ...rpc.CallOpt) ([]string, error)
// Signature fetches the signature for a given name.
Signature(_ *context.T, name string, _ ...rpc.CallOpt) ([]signature.Interface, error)
}
// ControllerClientStub adds universal methods to ControllerClientMethods.
type ControllerClientStub interface {
ControllerClientMethods
rpc.UniversalServiceMethods
}
// ControllerClient returns a client stub for Controller.
func ControllerClient(name string) ControllerClientStub {
return implControllerClientStub{name}
}
type implControllerClientStub struct {
name string
}
func (c implControllerClientStub) NewServer(ctx *context.T, i0 string, i1 uint32, i2 []RpcServerOption, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "NewServer", []interface{}{i0, i1, i2}, nil, opts...)
return
}
func (c implControllerClientStub) Stop(ctx *context.T, i0 uint32, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "Stop", []interface{}{i0}, nil, opts...)
return
}
func (c implControllerClientStub) AddName(ctx *context.T, i0 uint32, i1 string, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "AddName", []interface{}{i0, i1}, nil, opts...)
return
}
func (c implControllerClientStub) RemoveName(ctx *context.T, i0 uint32, i1 string, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "RemoveName", []interface{}{i0, i1}, nil, opts...)
return
}
func (c implControllerClientStub) Bless(ctx *context.T, i0 []byte, i1 security.Blessings, i2 string, i3 []security.Caveat, opts ...rpc.CallOpt) (o0 principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "Bless", []interface{}{i0, i1, i2, i3}, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessSelf(ctx *context.T, i0 string, i1 []security.Caveat, opts ...rpc.CallOpt) (o0 principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessSelf", []interface{}{i0, i1}, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) AddToRoots(ctx *context.T, i0 security.Blessings, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "AddToRoots", []interface{}{i0}, nil, opts...)
return
}
func (c implControllerClientStub) BlessingStoreSet(ctx *context.T, i0 security.Blessings, i1 security.BlessingPattern, opts ...rpc.CallOpt) (o0 principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStoreSet", []interface{}{i0, i1}, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessingStoreForPeer(ctx *context.T, i0 []string, opts ...rpc.CallOpt) (o0 principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStoreForPeer", []interface{}{i0}, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessingStoreSetDefault(ctx *context.T, i0 security.Blessings, opts ...rpc.CallOpt) (err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStoreSetDefault", []interface{}{i0}, nil, opts...)
return
}
func (c implControllerClientStub) BlessingStoreDefault(ctx *context.T, opts ...rpc.CallOpt) (o0 principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStoreDefault", nil, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessingStorePublicKey(ctx *context.T, opts ...rpc.CallOpt) (o0 []byte, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStorePublicKey", nil, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessingStorePeerBlessings(ctx *context.T, opts ...rpc.CallOpt) (o0 map[security.BlessingPattern]principal.BlessingsId, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStorePeerBlessings", nil, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) BlessingStoreDebugString(ctx *context.T, opts ...rpc.CallOpt) (o0 string, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "BlessingStoreDebugString", nil, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) RemoteBlessings(ctx *context.T, i0 string, i1 string, opts ...rpc.CallOpt) (o0 []string, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "RemoteBlessings", []interface{}{i0, i1}, []interface{}{&o0}, opts...)
return
}
func (c implControllerClientStub) Signature(ctx *context.T, i0 string, opts ...rpc.CallOpt) (o0 []signature.Interface, err error) {
err = v23.GetClient(ctx).Call(ctx, c.name, "Signature", []interface{}{i0}, []interface{}{&o0}, opts...)
return
}
// ControllerServerMethods is the interface a server writer
// implements for Controller.
type ControllerServerMethods interface {
// NewServer instructs WSPR to create a server and start listening for calls on
// behalf of a JavaScript server.
NewServer(_ *context.T, _ rpc.ServerCall, name string, serverId uint32, serverOpts []RpcServerOption) error
// Stop instructs WSPR to stop listening for calls for the
// given javascript server.
Stop(_ *context.T, _ rpc.ServerCall, serverId uint32) error
// AddName adds a published name to an existing server.
AddName(_ *context.T, _ rpc.ServerCall, serverId uint32, name string) error
// RemoveName removes a published name from an existing server.
RemoveName(_ *context.T, _ rpc.ServerCall, serverId uint32, name string) error
// Bless binds extensions of blessings held by this principal to
// another principal (represented by its public key).
Bless(_ *context.T, _ rpc.ServerCall, publicKey []byte, blessings security.Blessings, extension string, caveat []security.Caveat) (principal.BlessingsId, error)
// BlessSelf creates a blessing with the provided name for this principal.
BlessSelf(_ *context.T, _ rpc.ServerCall, name string, caveats []security.Caveat) (principal.BlessingsId, error)
// AddToRoots adds the provided blessing as a root.
AddToRoots(_ *context.T, _ rpc.ServerCall, blessings security.Blessings) error
// BlessingStoreSet puts the specified blessing in the blessing store under the provided pattern.
BlessingStoreSet(_ *context.T, _ rpc.ServerCall, blessingsblessings security.Blessings, pattern security.BlessingPattern) (principal.BlessingsId, error)
// BlessingStoreForPeer retrieves the blessings marked for the given peers.
BlessingStoreForPeer(_ *context.T, _ rpc.ServerCall, peerBlessings []string) (principal.BlessingsId, error)
// BlessingStoreSetDefault sets the default blessings.
BlessingStoreSetDefault(_ *context.T, _ rpc.ServerCall, blessingsblessings security.Blessings) error
// BlessingStoreDefault fetches the default blessings for the principal of the controller.
BlessingStoreDefault(*context.T, rpc.ServerCall) (principal.BlessingsId, error)
// BlessingStorePublicKey fetches the public key of the principal for which this store hosts blessings.
BlessingStorePublicKey(*context.T, rpc.ServerCall) ([]byte, error)
// BlessingStorePeerBlessings returns all the blessings that the BlessingStore holds.
BlessingStorePeerBlessings(*context.T, rpc.ServerCall) (map[security.BlessingPattern]principal.BlessingsId, error)
// BlessingStoreDebugString retrieves a debug string describing the state of the blessing store
BlessingStoreDebugString(*context.T, rpc.ServerCall) (string, error)
// RemoteBlessings fetches the remote blessings for a given name and method.
RemoteBlessings(_ *context.T, _ rpc.ServerCall, name string, method string) ([]string, error)
// Signature fetches the signature for a given name.
Signature(_ *context.T, _ rpc.ServerCall, name string) ([]signature.Interface, error)
}
// ControllerServerStubMethods is the server interface containing
// Controller methods, as expected by rpc.Server.
// There is no difference between this interface and ControllerServerMethods
// since there are no streaming methods.
type ControllerServerStubMethods ControllerServerMethods
// ControllerServerStub adds universal methods to ControllerServerStubMethods.
type ControllerServerStub interface {
ControllerServerStubMethods
// Describe the Controller interfaces.
Describe__() []rpc.InterfaceDesc
}
// ControllerServer returns a server stub for Controller.
// It converts an implementation of ControllerServerMethods into
// an object that may be used by rpc.Server.
func ControllerServer(impl ControllerServerMethods) ControllerServerStub {
stub := implControllerServerStub{
impl: impl,
}
// Initialize GlobState; always check the stub itself first, to handle the
// case where the user has the Glob method defined in their VDL source.
if gs := rpc.NewGlobState(stub); gs != nil {
stub.gs = gs
} else if gs := rpc.NewGlobState(impl); gs != nil {
stub.gs = gs
}
return stub
}
type implControllerServerStub struct {
impl ControllerServerMethods
gs *rpc.GlobState
}
func (s implControllerServerStub) NewServer(ctx *context.T, call rpc.ServerCall, i0 string, i1 uint32, i2 []RpcServerOption) error {
return s.impl.NewServer(ctx, call, i0, i1, i2)
}
func (s implControllerServerStub) Stop(ctx *context.T, call rpc.ServerCall, i0 uint32) error {
return s.impl.Stop(ctx, call, i0)
}
func (s implControllerServerStub) AddName(ctx *context.T, call rpc.ServerCall, i0 uint32, i1 string) error {
return s.impl.AddName(ctx, call, i0, i1)
}
func (s implControllerServerStub) RemoveName(ctx *context.T, call rpc.ServerCall, i0 uint32, i1 string) error {
return s.impl.RemoveName(ctx, call, i0, i1)
}
func (s implControllerServerStub) Bless(ctx *context.T, call rpc.ServerCall, i0 []byte, i1 security.Blessings, i2 string, i3 []security.Caveat) (principal.BlessingsId, error) {
return s.impl.Bless(ctx, call, i0, i1, i2, i3)
}
func (s implControllerServerStub) BlessSelf(ctx *context.T, call rpc.ServerCall, i0 string, i1 []security.Caveat) (principal.BlessingsId, error) {
return s.impl.BlessSelf(ctx, call, i0, i1)
}
func (s implControllerServerStub) AddToRoots(ctx *context.T, call rpc.ServerCall, i0 security.Blessings) error {
return s.impl.AddToRoots(ctx, call, i0)
}
func (s implControllerServerStub) BlessingStoreSet(ctx *context.T, call rpc.ServerCall, i0 security.Blessings, i1 security.BlessingPattern) (principal.BlessingsId, error) {
return s.impl.BlessingStoreSet(ctx, call, i0, i1)
}
func (s implControllerServerStub) BlessingStoreForPeer(ctx *context.T, call rpc.ServerCall, i0 []string) (principal.BlessingsId, error) {
return s.impl.BlessingStoreForPeer(ctx, call, i0)
}
func (s implControllerServerStub) BlessingStoreSetDefault(ctx *context.T, call rpc.ServerCall, i0 security.Blessings) error {
return s.impl.BlessingStoreSetDefault(ctx, call, i0)
}
func (s implControllerServerStub) BlessingStoreDefault(ctx *context.T, call rpc.ServerCall) (principal.BlessingsId, error) {
return s.impl.BlessingStoreDefault(ctx, call)
}
func (s implControllerServerStub) BlessingStorePublicKey(ctx *context.T, call rpc.ServerCall) ([]byte, error) {
return s.impl.BlessingStorePublicKey(ctx, call)
}
func (s implControllerServerStub) BlessingStorePeerBlessings(ctx *context.T, call rpc.ServerCall) (map[security.BlessingPattern]principal.BlessingsId, error) {
return s.impl.BlessingStorePeerBlessings(ctx, call)
}
func (s implControllerServerStub) BlessingStoreDebugString(ctx *context.T, call rpc.ServerCall) (string, error) {
return s.impl.BlessingStoreDebugString(ctx, call)
}
func (s implControllerServerStub) RemoteBlessings(ctx *context.T, call rpc.ServerCall, i0 string, i1 string) ([]string, error) {
return s.impl.RemoteBlessings(ctx, call, i0, i1)
}
func (s implControllerServerStub) Signature(ctx *context.T, call rpc.ServerCall, i0 string) ([]signature.Interface, error) {
return s.impl.Signature(ctx, call, i0)
}
func (s implControllerServerStub) Globber() *rpc.GlobState {
return s.gs
}
func (s implControllerServerStub) Describe__() []rpc.InterfaceDesc {
return []rpc.InterfaceDesc{ControllerDesc}
}
// ControllerDesc describes the Controller interface.
var ControllerDesc rpc.InterfaceDesc = descController
// descController hides the desc to keep godoc clean.
var descController = rpc.InterfaceDesc{
Name: "Controller",
PkgPath: "v.io/x/ref/services/wspr/internal/app",
Methods: []rpc.MethodDesc{
{
Name: "NewServer",
Doc: "// NewServer instructs WSPR to create a server and start listening for calls on\n// behalf of a JavaScript server.",
InArgs: []rpc.ArgDesc{
{"name", ``}, // string
{"serverId", ``}, // uint32
{"serverOpts", ``}, // []RpcServerOption
},
},
{
Name: "Stop",
Doc: "// Stop instructs WSPR to stop listening for calls for the\n// given javascript server.",
InArgs: []rpc.ArgDesc{
{"serverId", ``}, // uint32
},
},
{
Name: "AddName",
Doc: "// AddName adds a published name to an existing server.",
InArgs: []rpc.ArgDesc{
{"serverId", ``}, // uint32
{"name", ``}, // string
},
},
{
Name: "RemoveName",
Doc: "// RemoveName removes a published name from an existing server.",
InArgs: []rpc.ArgDesc{
{"serverId", ``}, // uint32
{"name", ``}, // string
},
},
{
Name: "Bless",
Doc: "// Bless binds extensions of blessings held by this principal to\n// another principal (represented by its public key).",
InArgs: []rpc.ArgDesc{
{"publicKey", ``}, // []byte
{"blessings", ``}, // security.Blessings
{"extension", ``}, // string
{"caveat", ``}, // []security.Caveat
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // principal.BlessingsId
},
},
{
Name: "BlessSelf",
Doc: "// BlessSelf creates a blessing with the provided name for this principal.",
InArgs: []rpc.ArgDesc{
{"name", ``}, // string
{"caveats", ``}, // []security.Caveat
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // principal.BlessingsId
},
},
{
Name: "AddToRoots",
Doc: "// AddToRoots adds the provided blessing as a root.",
InArgs: []rpc.ArgDesc{
{"blessings", ``}, // security.Blessings
},
},
{
Name: "BlessingStoreSet",
Doc: "// BlessingStoreSet puts the specified blessing in the blessing store under the provided pattern.",
InArgs: []rpc.ArgDesc{
{"blessingsblessings", ``}, // security.Blessings
{"pattern", ``}, // security.BlessingPattern
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // principal.BlessingsId
},
},
{
Name: "BlessingStoreForPeer",
Doc: "// BlessingStoreForPeer retrieves the blessings marked for the given peers.",
InArgs: []rpc.ArgDesc{
{"peerBlessings", ``}, // []string
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // principal.BlessingsId
},
},
{
Name: "BlessingStoreSetDefault",
Doc: "// BlessingStoreSetDefault sets the default blessings.",
InArgs: []rpc.ArgDesc{
{"blessingsblessings", ``}, // security.Blessings
},
},
{
Name: "BlessingStoreDefault",
Doc: "// BlessingStoreDefault fetches the default blessings for the principal of the controller.",
OutArgs: []rpc.ArgDesc{
{"", ``}, // principal.BlessingsId
},
},
{
Name: "BlessingStorePublicKey",
Doc: "// BlessingStorePublicKey fetches the public key of the principal for which this store hosts blessings.",
OutArgs: []rpc.ArgDesc{
{"", ``}, // []byte
},
},
{
Name: "BlessingStorePeerBlessings",
Doc: "// BlessingStorePeerBlessings returns all the blessings that the BlessingStore holds.",
OutArgs: []rpc.ArgDesc{
{"", ``}, // map[security.BlessingPattern]principal.BlessingsId
},
},
{
Name: "BlessingStoreDebugString",
Doc: "// BlessingStoreDebugString retrieves a debug string describing the state of the blessing store",
OutArgs: []rpc.ArgDesc{
{"", ``}, // string
},
},
{
Name: "RemoteBlessings",
Doc: "// RemoteBlessings fetches the remote blessings for a given name and method.",
InArgs: []rpc.ArgDesc{
{"name", ``}, // string
{"method", ``}, // string
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // []string
},
},
{
Name: "Signature",
Doc: "// Signature fetches the signature for a given name.",
InArgs: []rpc.ArgDesc{
{"name", ``}, // string
},
OutArgs: []rpc.ArgDesc{
{"", ``}, // []signature.Interface
},
},
},
}
var __VDLInitCalled bool
// __VDLInit performs vdl initialization. It is safe to call multiple times.
// If you have an init ordering issue, just insert the following line verbatim
// into your source files in this package, right after the "package foo" clause:
//
// var _ = __VDLInit()
//
// The purpose of this function is to ensure that vdl initialization occurs in
// the right order, and very early in the init sequence. In particular, vdl
// registration and package variable initialization needs to occur before
// functions like vdl.TypeOf will work properly.
//
// This function returns a dummy value, so that it can be used to initialize the
// first var in the file, to take advantage of Go's defined init order.
func __VDLInit() struct{} {
if __VDLInitCalled {
return struct{}{}
}
__VDLInitCalled = true
// Register types.
vdl.Register((*GranterHandle)(nil))
vdl.Register((*RpcCallOption)(nil))
vdl.Register((*RpcRequest)(nil))
vdl.Register((*RpcServerOption)(nil))
vdl.Register((*RpcResponse)(nil))
vdl.Register((*GranterRequest)(nil))
vdl.Register((*GranterResponse)(nil))
return struct{}{}
}