From c8d372cb54fd38787ec306acdc53d71680f97656 Mon Sep 17 00:00:00 2001 From: TheJoKlLa Date: Tue, 7 Sep 2021 13:53:31 +0000 Subject: [PATCH 1/5] Update machinesystem.capnp --- machinesystem.capnp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machinesystem.capnp b/machinesystem.capnp index 7af2668..7105c77 100644 --- a/machinesystem.capnp +++ b/machinesystem.capnp @@ -15,6 +15,6 @@ interface MachineSystem interface Info $CSharp.name("InfoInterface") { getMachineList @0 () -> ( machine_list :List(Machine) ); - getMachine @1 ( uuid :General.UUID ) -> ( machine :Machine); + getMachine @1 ( uuid :General.UUID ) -> ( machine :Machine ); } } From 9696fa83707d9c6c68dbbfec05b49d982382c595 Mon Sep 17 00:00:00 2001 From: TheJoKlLa Date: Tue, 7 Sep 2021 13:53:43 +0000 Subject: [PATCH 2/5] Update connection.capnp --- connection.capnp | 2 -- 1 file changed, 2 deletions(-) diff --git a/connection.capnp b/connection.capnp index 4e638a9..8114aaf 100644 --- a/connection.capnp +++ b/connection.capnp @@ -10,8 +10,6 @@ using AuthenticationSystem = import "authenticationsystem.capnp".AuthenticationS using MachineSystem = import "machinesystem.capnp".MachineSystem; using UserSystem = import "usersystem.capnp".UserSystem; using PermissionSystem = import "permissionsystem.capnp".PermissionSystem; -using InteractionSystem = import "interactionsystem.capnp".InteractionSystem; -using FederationSystem = import "federationsystem.capnp".FederationSystem; interface Bootstrap { From 0fbf55ba5b45673b25925ae24cc2b9b8ae850e40 Mon Sep 17 00:00:00 2001 From: TheJoKlLa Date: Tue, 7 Sep 2021 13:56:50 +0000 Subject: [PATCH 3/5] Update connection.capnp --- connection.capnp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connection.capnp b/connection.capnp index 8114aaf..6ec6ad9 100644 --- a/connection.capnp +++ b/connection.capnp @@ -15,7 +15,7 @@ interface Bootstrap { authenticationSystem @0 () -> ( authenticationSystem : AuthenticationSystem ); - machineSystem @1 () -> ( machineSystem : MachineSystem ); + machineSystem @1 () -> ( machineSystem : MachineSystem ); userSystem @2 () -> ( userSystem : UserSystem ); From f1a57c44d09b8c21932dfdd2aeb2719d4dcd50eb Mon Sep 17 00:00:00 2001 From: Kai Kriegel Date: Tue, 7 Sep 2021 23:20:36 +0200 Subject: [PATCH 4/5] fixed code generation bug with dummy value --- machine.capnp | 2 +- machinesystem.capnp | 2 +- usersystem.capnp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/machine.capnp b/machine.capnp index 46453a6..be0ac7e 100644 --- a/machine.capnp +++ b/machine.capnp @@ -39,7 +39,7 @@ struct Machine { info @6 :Info; interface Info $CSharp.name("InfoInterface") { - getMachineInfoExtended @0 () -> ( machineInfoExtended :MachineInfoExtended); + getMachineInfoExtended @0 () -> ( machineInfoExtended :MachineInfoExtended, dummy :UInt8 = 0); getPropertyList @1 () -> ( propertyList :List(General.KeyValuePair) ); diff --git a/machinesystem.capnp b/machinesystem.capnp index 7105c77..d658405 100644 --- a/machinesystem.capnp +++ b/machinesystem.capnp @@ -15,6 +15,6 @@ interface MachineSystem interface Info $CSharp.name("InfoInterface") { getMachineList @0 () -> ( machine_list :List(Machine) ); - getMachine @1 ( uuid :General.UUID ) -> ( machine :Machine ); + getMachine @1 ( uuid :General.UUID ) -> ( machine :Machine, dummy :UInt8 = 0 ); } } diff --git a/usersystem.capnp b/usersystem.capnp index e742ba3..955514b 100644 --- a/usersystem.capnp +++ b/usersystem.capnp @@ -13,7 +13,7 @@ interface UserSystem { info @0 () -> ( info : Info ); interface Info $CSharp.name("InfoInterface") { - getUserSelf @0 ( ) -> ( user :User ); + getUserSelf @0 ( ) -> ( user :User, dummy :UInt8 = 0 ); } manage @1 () -> ( manage : Manage ); @@ -21,6 +21,6 @@ interface UserSystem getUserList @0 () -> ( user_list :List(User) ); addUser @1 (username :Text, password: Text) -> ( user :User ); - removeUser @2 (user :User ); + removeUser @2 (user :User, dummy :UInt8 = 0); } } \ No newline at end of file From a96876cc7687d18a14e8bd8b61ea4bd425efc21c Mon Sep 17 00:00:00 2001 From: Kai Kriegel Date: Tue, 7 Sep 2021 21:29:10 +0000 Subject: [PATCH 5/5] Add README.md to explain how to work around c# code generation bug --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b6b5a6e --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# FabAccess API + +## Code generation bugs under c# +When returning an Interface it may be required to append a dummy valueto work around a c# code generation bug. + +```diff +- whoami @4 () -> ( you :Api.User ); ++ whoami @4 () -> ( you :Api.User, dummy :UInt8 = 0 ); +```