api.fabaccess-api/connection.capnp

31 lines
1.2 KiB
Cap'n Proto
Raw Normal View History

2021-02-01 23:23:12 +01:00
@0xbf017710be5a54ff;
using Rust = import "programming_language/rust.capnp";
$Rust.parentModule("schema");
2020-09-15 15:30:53 +02:00
2021-02-01 23:23:12 +01:00
using CSharp = import "programming_language/csharp.capnp";
2020-10-19 01:52:15 +02:00
$CSharp.namespace("FabAccessAPI.Schema");
using Authentication = import "authenticationsystem.capnp".Authentication;
2021-02-01 23:23:12 +01:00
using MachineSystem = import "machinesystem.capnp".MachineSystem;
using UserSystem = import "usersystem.capnp".UserSystem;
using PermissionSystem = import "permissionsystem.capnp".PermissionSystem;
interface Bootstrap
2021-02-01 23:23:12 +01:00
{
mechanisms @0 () -> ( mechs: List(Text) );
# Get a list of Mechanisms this server allows in this context.
2021-02-01 23:23:12 +01:00
createSession @1 ( mechanism :Text, initialData :Data ) -> ( authentication :Authentication);
# Create a new session with the server that you wish to authenticate using `mechanism`.
# If the mechanism is a client-first mechanism you MAY set `initialData` to contain the data you
# want to send. If the mechanism is server-first or you do not wish to send initial data, make
# initialData a NULL-pointer.
}
struct Session {
2021-09-23 23:02:04 +02:00
machineSystem @0 : MachineSystem;
userSystem @1 : UserSystem;
permissionSystem @2 : PermissionSystem;
}