Skip to main content

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}