From 87023191c2aee6c7730738d02308517e26d03f98 Mon Sep 17 00:00:00 2001 From: Andreas Bergmeier Date: Fri, 27 Sep 2024 19:44:09 +0200 Subject: [PATCH] Add support for Rooms --- schema/api.capnp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/schema/api.capnp b/schema/api.capnp index ed09a14..e668ebf 100644 --- a/schema/api.capnp +++ b/schema/api.capnp @@ -40,11 +40,15 @@ interface Diflouroborane { # Diflouroborane stores machine¹ information in an opaque internal database. This interface is # the only stable process of modifying that information + rooms @3 () -> ( room :Rooms ); + # Diflouroborane stores room information in an opaque internal database. This interface is + # the only stable process of modifying that information. + # TODO Capability transfer system, required for machine takeover, session resumption. } struct UUID { - # UUID type used to identify machines. + # UUID type used to identify machines or rooms. # Since the exact value has no meaning the encoding rules are not too relevant, but it is # paramount that you are consistent when encoding and decoding this type. # @@ -92,6 +96,16 @@ interface Permissions { addPolicy @5 ( p :List(Text) ) -> (); } +interface Room { + + interface Inside { + leave @0 () -> (); + } + + enter @0 ( uuid :UUID ) -> ( inside :Inside ); + # Enter a room, identified by its UUID. If the caller is allowed to a `inside` Capability will be returned. +} + interface Authentication { # List all SASL mechs the server is willing to use availableMechanisms @0 () -> ( mechanisms :List(Text) );