Files
interface-reading-feature/interface.qx
T

17 lines
2.1 KiB
Plaintext
Raw Normal View History

import interface ReadingOwner;
external atom ReadingJobObject id "atom:reading:job";
external interface ReadingReader revision "interface:reading:reader@1";
type FeatureData = record {name:string;processor:string;style:string;reveal:string;generation:string;scope:string;color:string;enabled:bool;configRevision:uint32;};
interface ReadingFeature id "interface:reading:feature" revision "interface:reading:feature@1" {
queryable relation authoring id "reading:feature:authoring" : optional-one atom ReadingJobObject {resolve id "reading:feature:authoring:resolve" execution snapshot;connect id "reading:feature:authoring:connect" execution transaction;}
operation setEnabled id "reading:feature:set-enabled" : bool -> unit {call id "reading:feature:set-enabled:call" execution transaction;}
queryable relation reader id "reading:feature:reader" : optional-one interface ReadingReader {resolve id "reading:feature:reader:resolve" execution snapshot;connect id "reading:feature:reader:connect" execution transaction;}
queryable value data id "reading:feature:data" : FeatureData {get id "reading:feature:data:get" execution snapshot;}
value processorRevision id "reading:feature:processor-revision" : string {get id "reading:feature:processor-revision:get" execution snapshot;}
queryable value options id "reading:feature:options" : string {get id "reading:feature:options:get" execution snapshot;}
operation configureOptions id "reading:feature:configure-options" : record {expectedRevision:uint32;options:string;} -> unit {call id "reading:feature:configure-options:call" execution transaction;}
queryable relation library id "reading:feature:library" : exactly-one interface ReadingOwner {resolve id "reading:feature:library:resolve" execution snapshot;}
operation configure id "reading:feature:configure" : record {expectedRevision:uint32;name:string;style:string;reveal:string;generation:string;scope:string;color:string;enabled:bool;} -> unit {call id "reading:feature:configure:call" execution transaction;}
operation remove id "reading:feature:remove" : unit -> unit {call id "reading:feature:remove:call" execution transaction;}
}