reifydb_core/event/
operator.rs1use std::path::PathBuf;
5
6use reifydb_value::value::constraint::TypeConstraint;
7
8use crate::{
9 common::{OperatorClass, WindowRequirements},
10 define_event,
11};
12
13#[derive(Debug, Clone)]
14pub struct OperatorColumn {
15 pub name: String,
16
17 pub field_type: TypeConstraint,
18
19 pub description: String,
20}
21
22define_event! {
23
24 pub struct OperatorLoadedEvent {
25
26 pub operator: String,
27
28 pub library_path: PathBuf,
29
30 pub abi: Option<u32>,
31
32 pub version: String,
33
34 pub description: String,
35
36 pub input: Vec<OperatorColumn>,
37
38 pub output: Vec<OperatorColumn>,
39
40 pub capabilities: u32,
41
42 pub class: OperatorClass,
43
44 pub window: WindowRequirements,
45
46 pub unmanaged_because: Option<String>,
47 }
48}