38 lines
1.3 KiB
Cap'n Proto
Raw Permalink Normal View History

2024-04-16 14:37:41 +02:00
@0xccad643c8c6f6b25;
using Rust = import "../programming_language/rust.capnp";
$Rust.parentModule("schema::traits");
2024-04-16 15:03:10 +02:00
using CSharp = import "../programming_language/csharp.capnp";
2024-04-16 14:38:54 +02:00
$CSharp.namespace("FabAccessAPI.Schema");
2024-04-16 15:03:10 +02:00
using import "../traits.capnp".TraitSuper;
using import "../traits.capnp".TraitError;
using import "../utils.capnp".Fallible;
using import "../utils.capnp".Duration;
2024-04-16 14:37:41 +02:00
# 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 {
2024-04-16 15:03:10 +02:00
closed @0 :Void;
open @1 :Void;
tempOpen @2 :Void;
2024-04-16 14:37:41 +02:00
}
}