2026-09-21 17:38:45 -07:00
|
|
|
external atom Display id "device:display";
|
|
|
|
|
type Request=record {url:string;text:string;version:int32;};
|
|
|
|
|
interface Device id "device" revision "device@1" {
|
2026-09-28 20:29:21 -07:00
|
|
|
static operation create id "device:create" : string -> atom-ref<Display> {call id "device:create:call" execution transaction;}
|
|
|
|
|
queryable value enabled id "device:enabled" : bool {get id "device:enabled:get" execution snapshot;set id "device:enabled:set" execution transaction;}
|
|
|
|
|
queryable value requested id "device:requested" : Request {get id "device:requested:get" execution snapshot;}
|
|
|
|
|
queryable value observed id "device:observed" : optional<Request> {get id "device:observed:get" execution snapshot;}
|
|
|
|
|
operation requestText id "device:request" : string -> unit {call id "device:request:call" execution transaction;}
|
|
|
|
|
operation recordObservation id "device:record" : Request -> unit {call id "device:record:call" execution transaction;}
|
|
|
|
|
operation remove id "device:remove" : unit -> unit {call id "device:remove:call" execution transaction;}
|
2026-09-21 17:38:45 -07:00
|
|
|
}
|