16 lines
1.8 KiB
Plaintext
16 lines
1.8 KiB
Plaintext
import interface ReadingVocabulary;
|
|
import interface ReadingOwner;
|
|
import interface ReadingFeature;
|
|
external interface ReadingDocument revision "interface:reading:document@1";
|
|
external atom ReadingReaderObject id "atom:reading:reader";
|
|
interface ReadingReader id "interface:reading:reader" revision "interface:reading:reader@1" {
|
|
queryable relation vocabulary id "reading:reader:vocabulary" : optional-one interface ReadingVocabulary {resolve id "reading:reader:vocabulary:resolve" execution snapshot;connect id "reading:reader:vocabulary:connect" execution transaction;}
|
|
operation remove id "reading:reader:remove" : unit -> unit {call id "reading:reader:remove:call" execution transaction;}
|
|
queryable value palette id "reading:reader:palette" : record {text:string;accent:string;} {get id "reading:reader:palette:get" execution snapshot;set id "reading:reader:palette:set" execution transaction;}
|
|
queryable value data id "reading:reader:data" : record {name:string;size:uint32;width:uint32;font:string;background:string;configRevision:uint32;} {get id "reading:reader:data:get" execution snapshot;}
|
|
queryable relation library id "reading:reader:library" : exactly-one interface ReadingOwner {resolve id "reading:reader:library:resolve" execution snapshot;}
|
|
queryable relation features id "reading:reader:features" : many-unique interface ReadingFeature {resolve id "reading:reader:features:resolve" execution snapshot;}
|
|
queryable relation documents id "reading:reader:documents" : many-unique interface ReadingDocument {resolve id "reading:reader:documents:resolve" execution snapshot;}
|
|
operation configure id "reading:reader:configure" : record {expectedRevision:uint32;name:string;size:uint32;width:uint32;font:string;background:string;} -> unit {call id "reading:reader:configure:call" execution transaction;}
|
|
}
|