v23proxy: Fix a bug and resync with head Mojo
Very minor changes to ensure the examples work again when
USE_MOJO_DEV_PROFILE=1
Change-Id: I4ad7a8e3645ddbe34b875ecbf6fff189da57dc41
diff --git a/go/src/v.io/x/mojo/proxy/fake_service.go b/go/src/v.io/x/mojo/proxy/fake_service.go
index fd0e31d..78a86df 100644
--- a/go/src/v.io/x/mojo/proxy/fake_service.go
+++ b/go/src/v.io/x/mojo/proxy/fake_service.go
@@ -256,7 +256,10 @@
}
// Now produce the *bindings.Message that we will send to the other side.
- inType := transcoder.MojomStructToVDLType(mm.Parameters, desc)
+ inType, err := transcoder.MojomStructToVDLType(mm.Parameters, desc)
+ if err != nil {
+ return nil, err
+ }
message, err := encodeMessageFromVom(header, argptrs, inType)
if err != nil {
return nil, err
@@ -277,7 +280,10 @@
}
// Decode the *vdl.Value from the mojom bytes and mojom type.
- outType := transcoder.MojomStructToVDLType(*mm.ResponseParams, desc)
+ outType, err := transcoder.MojomStructToVDLType(*mm.ResponseParams, desc)
+ if err != nil {
+ return nil, err
+ }
var outVdlValue *vdl.Value
if err := transcoder.MojomToVdl(outMessage.Payload, outType, &outVdlValue); err != nil {
return nil, fmt.Errorf("transcoder.MojoToVom failed: %v", err)
diff --git a/go/src/v.io/x/mojo/proxy/proxy.go b/go/src/v.io/x/mojo/proxy/proxy.go
index f9df689..c0d1179 100644
--- a/go/src/v.io/x/mojo/proxy/proxy.go
+++ b/go/src/v.io/x/mojo/proxy/proxy.go
@@ -162,10 +162,16 @@
func (s *messageReceiver) call(name, method string, value []byte, inParamsType mojom_types.MojomStruct, outParamsType *mojom_types.MojomStruct) ([]byte, error) {
s.ctx.Infof("server: %s.%s: %#v", name, method, inParamsType)
- inVType := transcoder.MojomStructToVDLType(inParamsType, s.header.desc)
+ inVType, err := transcoder.MojomStructToVDLType(inParamsType, s.header.desc)
+ if err != nil {
+ return nil, err
+ }
var outVType *vdl.Type
if outParamsType != nil {
- outVType = transcoder.MojomStructToVDLType(*outParamsType, s.header.desc)
+ outVType, err = transcoder.MojomStructToVDLType(*outParamsType, s.header.desc)
+ if err != nil {
+ return nil, err
+ }
}
// Decode the vdl.Value from the mojom bytes and mojom type.
diff --git a/mojom/mojom/examples/echo.mojom b/mojom/mojom/examples/echo.mojom
index f0881d5..d3e7b75 100644
--- a/mojom/mojom/examples/echo.mojom
+++ b/mojom/mojom/examples/echo.mojom
@@ -19,7 +19,8 @@
string str;
};
+[ServiceName="mojo::examples::RemoteEcho"]
interface RemoteEcho {
EchoString(string value) => (string value);
EchoX(array<bool> arg1, aInArg arg2) => (outArgTypes out);
-};
\ No newline at end of file
+};
diff --git a/mojom/mojom/examples/fortune.mojom b/mojom/mojom/examples/fortune.mojom
index cf04ef7..f67ec5a 100644
--- a/mojom/mojom/examples/fortune.mojom
+++ b/mojom/mojom/examples/fortune.mojom
@@ -5,7 +5,8 @@
[JavaPackage="org.chromium.mojo.examples.fortune"]
module mojo.examples;
+[ServiceName="mojo::examples::Fortune"]
interface Fortune {
Get() => (string value);
Add(string wisdom) => ();
-};
\ No newline at end of file
+};
diff --git a/mojom/mojom/v23proxy.mojom b/mojom/mojom/v23proxy.mojom
index 53272b3..b0427d5 100644
--- a/mojom/mojom/v23proxy.mojom
+++ b/mojom/mojom/v23proxy.mojom
@@ -7,6 +7,7 @@
import "mojo/public/interfaces/bindings/mojom_types.mojom";
+[ServiceName="v23proxy::V23"]
interface V23 {
// Sets up a communication channel between the caller and the mojo application
// running in a remote process.