| // 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. |
| |
| module v23proxy; |
| |
| import "../mojo/public/interfaces/bindings/mojom_types.mojom"; |
| |
| interface V23 { |
| // Sets up a communication channel between the caller and the mojo application |
| // running in a remote process. |
| // |
| // v23Name: Vanadium object name (i.e., "address") at which the remote mojo |
| // application is running. |
| // ifaceSig: Interface that the remote mojo application is expected to |
| // implement. |
| // mapping: Type definitions (indexed by type name) of the various types |
| // described in ifaceSig. |
| // serviceName: Name of the mojo application (i.e., the name that would be |
| // used if connecting to the application locally). |
| // futureMessages: Pipe over which messages can be sent to/received from |
| // serviceName running on the remote service v23Name. |
| SetupProxy(string v23Name, |
| mojo.MojomInterface ifaceSig, |
| map<string, mojo.UserDefinedType> mapping, |
| string serviceName, |
| handle<message_pipe> futureMessages); |
| |
| |
| // Endpoints gets the endpoints that the v23proxy serves at. |
| Endpoints() => (array<string> endpoints); |
| }; |