14 lines
1.4 KiB
Plaintext
14 lines
1.4 KiB
Plaintext
import interface PresentationMount;
|
|
import interface WebStudioPresentable;
|
|
type Assignment = record {subject:interface-ref<WebStudioPresentable>;presentation:string;presentationMount:optional<interface-ref<PresentationMount>>;};
|
|
type Observed = record {generation:uint32;sequence:uint32;status:string;error:string;};
|
|
type DisplayState = record {label:string;generation:uint32;presentation:optional<string>;observed:optional<Observed>;};
|
|
interface WebStudioDisplayTarget id "interface:org.quixos.web-studio.display-target" revision "interface:org.quixos.web-studio.display-target@1" {
|
|
queryable value nonce id "display:nonce" : string {get id "display:nonce:get" execution snapshot;}
|
|
queryable value status id "display:state" : DisplayState {get id "display:state:get" execution snapshot;}
|
|
queryable relation subject id "display:subject" : optional-one interface WebStudioPresentable {resolve id "display:subject:resolve" execution snapshot;}
|
|
queryable relation presentationMount id "display:presentation-mount" : optional-one interface PresentationMount {resolve id "display:presentation-mount:resolve" execution snapshot;}
|
|
operation assign id "display:assign" : optional<Assignment> -> uint32 {call id "display:assign:call" execution transaction;}
|
|
operation acknowledge id "display:acknowledge" : Observed -> bool {call id "display:acknowledge:call" execution transaction;}
|
|
}
|