opcua_server/config/capabilities.rs
1use opcua_types::NodeId;
2
3#[derive(Debug, Clone, Default)]
4/// History capabilities.
5/// As all history is implemented by custom node managers,
6/// this should be set according to what your node managers support.
7pub struct HistoryServerCapabilities {
8 /// Able to read historical data.
9 pub access_history_data: bool,
10 /// Able to read historical events.
11 pub access_history_events: bool,
12 /// Able to delete data at a specific time.
13 pub delete_at_time: bool,
14 /// Able to delete events.
15 pub delete_event: bool,
16 /// Able to delete raw data values.
17 pub delete_raw: bool,
18 /// Able to insert history annotations.
19 pub insert_annotation: bool,
20 /// Able to insert historical data values.
21 pub insert_data: bool,
22 /// Able to insert historical events.
23 pub insert_event: bool,
24 /// Maximum number of data values returned per history read request.
25 pub max_return_data_values: u32,
26 /// Maximum number of events returned per history read requset.
27 pub max_return_event_values: u32,
28 /// Able to replace historical data values.
29 pub replace_data: bool,
30 /// Able to replace historical events.
31 pub replace_event: bool,
32 /// Stores the time historical data arrived at the server,
33 /// as well as its original timestamp.
34 pub server_timestamp_supported: bool,
35 /// Able to update historical data.
36 pub update_data: bool,
37 /// Able to update historical events.
38 pub update_event: bool,
39 /// Supported history aggregates
40 pub aggregates: Vec<NodeId>,
41}
42
43#[derive(Debug, Clone, Default)]
44/// Server capabilities object.
45pub struct ServerCapabilities {
46 /// Historical server capabilities.
47 pub history: HistoryServerCapabilities,
48 /// Supported server profiles.
49 pub profiles: Vec<String>,
50}