blob: 90f510365c7ba8f32d15e724b18dc888193375c5 [file] [log] [blame]
Todd Wange5d67b42014-05-27 10:48:07 -07001// This file was auto-generated by the veyron vdl tool.
Tilak Sharma43395f32014-05-27 11:33:38 -07002// Source: root.vdl
Jiri Simsa5293dcb2014-05-10 09:56:38 -07003
4// Package root contains root process implementation and internal
5// interfaces and types used by the implementation.
6package root
7
8import (
9 // The non-user imports are prefixed with "_gen_" to prevent collisions.
Cosmos Nicolaoub07fa772014-05-16 08:07:02 -070010 _gen_veyron2 "veyron2"
Matt Rosencrantz29147f72014-06-06 12:46:01 -070011 _gen_context "veyron2/context"
Jiri Simsa5293dcb2014-05-10 09:56:38 -070012 _gen_ipc "veyron2/ipc"
13 _gen_naming "veyron2/naming"
Cosmos Nicolaouae678942014-05-17 17:21:43 -070014 _gen_rt "veyron2/rt"
Todd Wang0ecdd7a2014-07-14 16:24:38 -070015 _gen_vdlutil "veyron2/vdl/vdlutil"
Jiri Simsa5293dcb2014-05-10 09:56:38 -070016 _gen_wiretype "veyron2/wiretype"
17)
18
19// Root is an interface to be implemented by a process with root level
20// privileges.
21// Root is the interface the client binds and uses.
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -070022// Root_ExcludingUniversal is the interface without internal framework-added methods
23// to enable embedding without method collisions. Not to be used directly by clients.
24type Root_ExcludingUniversal interface {
Jiri Simsa5293dcb2014-05-10 09:56:38 -070025 // Reset waits for the given deadline (in milliseconds) and then
26 // restars the host node machine.
Matt Rosencrantz29147f72014-06-06 12:46:01 -070027 Reset(ctx _gen_context.T, Deadline uint64, opts ..._gen_ipc.CallOpt) (err error)
Jiri Simsa5293dcb2014-05-10 09:56:38 -070028}
29type Root interface {
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -070030 _gen_ipc.UniversalServiceMethods
31 Root_ExcludingUniversal
Jiri Simsa5293dcb2014-05-10 09:56:38 -070032}
33
34// RootService is the interface the server implements.
35type RootService interface {
36
37 // Reset waits for the given deadline (in milliseconds) and then
38 // restars the host node machine.
Matt Rosencrantzf5afcaf2014-06-02 11:31:22 -070039 Reset(context _gen_ipc.ServerContext, Deadline uint64) (err error)
Jiri Simsa5293dcb2014-05-10 09:56:38 -070040}
41
42// BindRoot returns the client stub implementing the Root
43// interface.
44//
45// If no _gen_ipc.Client is specified, the default _gen_ipc.Client in the
46// global Runtime is used.
47func BindRoot(name string, opts ..._gen_ipc.BindOpt) (Root, error) {
48 var client _gen_ipc.Client
49 switch len(opts) {
50 case 0:
51 client = _gen_rt.R().Client()
52 case 1:
53 switch o := opts[0].(type) {
Cosmos Nicolaoub07fa772014-05-16 08:07:02 -070054 case _gen_veyron2.Runtime:
Jiri Simsa5293dcb2014-05-10 09:56:38 -070055 client = o.Client()
56 case _gen_ipc.Client:
57 client = o
58 default:
Todd Wang0ecdd7a2014-07-14 16:24:38 -070059 return nil, _gen_vdlutil.ErrUnrecognizedOption
Jiri Simsa5293dcb2014-05-10 09:56:38 -070060 }
61 default:
Todd Wang0ecdd7a2014-07-14 16:24:38 -070062 return nil, _gen_vdlutil.ErrTooManyOptionsToBind
Jiri Simsa5293dcb2014-05-10 09:56:38 -070063 }
64 stub := &clientStubRoot{client: client, name: name}
65
66 return stub, nil
67}
68
69// NewServerRoot creates a new server stub.
70//
71// It takes a regular server implementing the RootService
72// interface, and returns a new server stub.
73func NewServerRoot(server RootService) interface{} {
74 return &ServerStubRoot{
75 service: server,
76 }
77}
78
79// clientStubRoot implements Root.
80type clientStubRoot struct {
81 client _gen_ipc.Client
82 name string
83}
84
Matt Rosencrantz29147f72014-06-06 12:46:01 -070085func (__gen_c *clientStubRoot) Reset(ctx _gen_context.T, Deadline uint64, opts ..._gen_ipc.CallOpt) (err error) {
Matt Rosencrantzf5afcaf2014-06-02 11:31:22 -070086 var call _gen_ipc.Call
87 if call, err = __gen_c.client.StartCall(ctx, __gen_c.name, "Reset", []interface{}{Deadline}, opts...); err != nil {
Jiri Simsa5293dcb2014-05-10 09:56:38 -070088 return
89 }
90 if ierr := call.Finish(&err); ierr != nil {
91 err = ierr
92 }
93 return
94}
95
Matt Rosencrantz29147f72014-06-06 12:46:01 -070096func (__gen_c *clientStubRoot) UnresolveStep(ctx _gen_context.T, opts ..._gen_ipc.CallOpt) (reply []string, err error) {
Matt Rosencrantzf5afcaf2014-06-02 11:31:22 -070097 var call _gen_ipc.Call
98 if call, err = __gen_c.client.StartCall(ctx, __gen_c.name, "UnresolveStep", nil, opts...); err != nil {
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -070099 return
100 }
101 if ierr := call.Finish(&reply, &err); ierr != nil {
102 err = ierr
103 }
104 return
105}
106
Matt Rosencrantz29147f72014-06-06 12:46:01 -0700107func (__gen_c *clientStubRoot) Signature(ctx _gen_context.T, opts ..._gen_ipc.CallOpt) (reply _gen_ipc.ServiceSignature, err error) {
Matt Rosencrantzf5afcaf2014-06-02 11:31:22 -0700108 var call _gen_ipc.Call
109 if call, err = __gen_c.client.StartCall(ctx, __gen_c.name, "Signature", nil, opts...); err != nil {
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -0700110 return
111 }
112 if ierr := call.Finish(&reply, &err); ierr != nil {
113 err = ierr
114 }
115 return
116}
117
Matt Rosencrantz29147f72014-06-06 12:46:01 -0700118func (__gen_c *clientStubRoot) GetMethodTags(ctx _gen_context.T, method string, opts ..._gen_ipc.CallOpt) (reply []interface{}, err error) {
Matt Rosencrantzf5afcaf2014-06-02 11:31:22 -0700119 var call _gen_ipc.Call
120 if call, err = __gen_c.client.StartCall(ctx, __gen_c.name, "GetMethodTags", []interface{}{method}, opts...); err != nil {
Jiri Simsa5293dcb2014-05-10 09:56:38 -0700121 return
122 }
123 if ierr := call.Finish(&reply, &err); ierr != nil {
124 err = ierr
125 }
126 return
127}
128
129// ServerStubRoot wraps a server that implements
130// RootService and provides an object that satisfies
131// the requirements of veyron2/ipc.ReflectInvoker.
132type ServerStubRoot struct {
133 service RootService
134}
135
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -0700136func (__gen_s *ServerStubRoot) GetMethodTags(call _gen_ipc.ServerCall, method string) ([]interface{}, error) {
137 // TODO(bprosnitz) GetMethodTags() will be replaces with Signature().
138 // Note: This exhibits some weird behavior like returning a nil error if the method isn't found.
139 // This will change when it is replaced with Signature().
140 switch method {
141 case "Reset":
142 return []interface{}{}, nil
143 default:
144 return nil, nil
145 }
Jiri Simsa5293dcb2014-05-10 09:56:38 -0700146}
147
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -0700148func (__gen_s *ServerStubRoot) Signature(call _gen_ipc.ServerCall) (_gen_ipc.ServiceSignature, error) {
Jiri Simsa5293dcb2014-05-10 09:56:38 -0700149 result := _gen_ipc.ServiceSignature{Methods: make(map[string]_gen_ipc.MethodSignature)}
150 result.Methods["Reset"] = _gen_ipc.MethodSignature{
151 InArgs: []_gen_ipc.MethodArgument{
152 {Name: "Deadline", Type: 53},
153 },
154 OutArgs: []_gen_ipc.MethodArgument{
155 {Name: "", Type: 65},
156 },
157 }
158
Todd Wang0ecdd7a2014-07-14 16:24:38 -0700159 result.TypeDefs = []_gen_vdlutil.Any{
Jiri Simsa5293dcb2014-05-10 09:56:38 -0700160 _gen_wiretype.NamedPrimitiveType{Type: 0x1, Name: "error", Tags: []string(nil)}}
161
162 return result, nil
163}
164
Benjamin Prosnitzdcddb932014-05-27 15:55:58 -0700165func (__gen_s *ServerStubRoot) UnresolveStep(call _gen_ipc.ServerCall) (reply []string, err error) {
166 if unresolver, ok := __gen_s.service.(_gen_ipc.Unresolver); ok {
Jiri Simsa5293dcb2014-05-10 09:56:38 -0700167 return unresolver.UnresolveStep(call)
168 }
169 if call.Server() == nil {
170 return
171 }
172 var published []string
173 if published, err = call.Server().Published(); err != nil || published == nil {
174 return
175 }
176 reply = make([]string, len(published))
177 for i, p := range published {
178 reply[i] = _gen_naming.Join(p, call.Name())
179 }
180 return
181}
182
183func (__gen_s *ServerStubRoot) Reset(call _gen_ipc.ServerCall, Deadline uint64) (err error) {
184 err = __gen_s.service.Reset(call, Deadline)
185 return
186}