From aa006507c48ac734fd09d524d0c84736b0147338 Mon Sep 17 00:00:00 2001 From: Nadja Reitzenstein Date: Fri, 22 Apr 2022 19:32:17 +0200 Subject: [PATCH] return Optional value for searches --- general.capnp | 9 ++++++++- machinesystem.capnp | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/general.capnp b/general.capnp index 8a0d470..01460cc 100644 --- a/general.capnp +++ b/general.capnp @@ -25,4 +25,11 @@ struct UUID { struct KeyValuePair { key @0 :Text; value @1 :Text; -} \ No newline at end of file +} + +struct Optional(T) { + union { + nothing @0 :Void; + just @1 :T; + } +} diff --git a/machinesystem.capnp b/machinesystem.capnp index 0ea8cf8..2cb3c2a 100644 --- a/machinesystem.capnp +++ b/machinesystem.capnp @@ -7,6 +7,7 @@ using CSharp = import "programming_language/csharp.capnp"; $CSharp.namespace("FabAccessAPI.Schema"); using General = import "general.capnp"; +using Optional = General.Optional; using Machine = import "machine.capnp".Machine; struct MachineSystem @@ -15,7 +16,7 @@ struct MachineSystem interface Info $CSharp.name("InfoInterface") { getMachineList @0 () -> ( machine_list :List(Machine) ); - getMachine @1 ( id :Text ) -> Machine; - getMachineURN @2 ( urn :Text ) -> Machine; + getMachine @1 ( id :Text ) -> Optional(Machine); + getMachineURN @2 ( urn :Text ) -> Optional(Machine); } }