mirror of
https://gitlab.com/fabinfra/fabaccess/fabaccess-api.git
synced 2025-03-12 14:51:42 +01:00
38 lines
1.3 KiB
Cap'n Proto
38 lines
1.3 KiB
Cap'n Proto
@0xccad643c8c6f6b25;
|
|
|
|
using Rust = import "../programming_language/rust.capnp";
|
|
$Rust.parentModule("schema::traits");
|
|
|
|
using CSharp = import "../programming_language/csharp.capnp";
|
|
$CSharp.namespace("FabAccessAPI.Schema");
|
|
|
|
using import "../traits.capnp".TraitSuper;
|
|
using import "../traits.capnp".TraitError;
|
|
using import "../utils.capnp".Fallible;
|
|
using import "../utils.capnp".Duration;
|
|
|
|
# OID for this trait: 1.3.6.1.4.1.61783.612.1.2
|
|
# │ │ │ │
|
|
# RLKM UG PEN ╯ │ │ │
|
|
# │ │ │
|
|
# FabAccess subtree ╯ │ │
|
|
# │ │
|
|
# Traits ╯ │
|
|
# │
|
|
# Doorable ╯
|
|
|
|
interface TraitDoorable extends (TraitSuper) {
|
|
getState @0 () -> StateDoorable;
|
|
unlock @1 () -> Fallible(TraitDoorable, TraitError(StateDoorable));
|
|
unlockTemp @2 ( time :Duration ) -> Fallible(TraitDoorable, TraitError(StateDoorable));
|
|
lock @3 () -> Fallible(TraitDoorable, TraitError(StateDoorable));
|
|
}
|
|
|
|
struct StateDoorable {
|
|
union {
|
|
closed @0 :Void;
|
|
open @1 :Void;
|
|
tempOpen @2 :Void;
|
|
}
|
|
}
|