Skip to main content

bacnet_objects/
lib.rs

1#![doc = include_str!("../README.md")]
2// Tests always build with std, so feature-off test runs need no imports of
3// their own.
4#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
5#![forbid(unsafe_code)]
6
7// `format!` and `vec!` without std's prelude (#1615).
8#[macro_use]
9extern crate alloc;
10
11#[cfg(not(any(feature = "std", feature = "alloc")))]
12compile_error!(
13    "bacnet-objects needs the `std` or the `alloc` feature: the database boxes every object"
14);
15#[cfg(not(target_has_atomic = "ptr"))]
16compile_error!(
17    "bacnet-objects needs atomic compare-and-swap: its objects share state through alloc::sync::Arc"
18);
19
20#[macro_use]
21mod no_std_support;
22pub(crate) use no_std_support::{catch_panic, collections, float, prelude, sync};
23
24pub mod access_control;
25pub mod accumulator;
26pub mod analog;
27pub mod audit;
28pub mod averaging;
29pub mod binary;
30pub mod catalogue;
31pub mod channel;
32pub mod clock;
33pub mod color;
34pub mod command;
35pub mod command_source;
36pub(crate) mod common;
37pub mod cov_change;
38pub mod database;
39pub mod device;
40pub mod device_identity;
41pub use device_identity::DeviceIdentity;
42pub(crate) mod device_reference;
43pub mod durable;
44pub mod elevator;
45pub mod event;
46pub mod event_enrollment;
47pub mod event_log;
48pub mod file;
49pub mod group;
50pub mod life_safety;
51pub mod lighting;
52pub mod load_control;
53pub mod log_buffer;
54pub(crate) mod log_lifecycle;
55pub mod log_persistence;
56pub mod log_reporting;
57pub(crate) mod log_window;
58pub mod loop_obj;
59pub mod multistate;
60pub mod network_port;
61pub mod notification_class;
62pub mod notification_forwarder;
63pub mod object_profile;
64pub mod present_value_access;
65pub mod program;
66pub mod property_metadata;
67pub(crate) mod reference;
68pub(crate) mod reliability_inhibit;
69pub mod schedule;
70pub mod staging;
71pub mod subscribed_recipients;
72pub mod timer;
73pub mod traits;
74pub(crate) mod transition;
75pub mod trend;
76pub mod value_types;
77
78#[cfg(test)]
79mod log_status_tests;
80
81#[cfg(test)]
82mod log_window_tests;
83
84#[cfg(test)]
85mod property_metadata_audit;
86
87#[cfg(test)]
88mod present_value_access_tests;
89
90#[cfg(test)]
91mod property_metadata_tests;
92
93#[cfg(test)]
94mod reliability_writability_tests;
95
96#[cfg(test)]
97mod reliability_inhibit_tests;
98
99#[cfg(test)]
100mod typed_enum_storage_tests;
101
102#[cfg(test)]
103mod typed_units_tests;
104
105#[cfg(test)]
106mod computed_status_flags_tests;
107
108#[cfg(test)]
109mod cov_criteria_tests;
110
111#[cfg(test)]
112mod scalar_relinquishment_tests;
113
114#[cfg(test)]
115mod enrollment_summary_capability_tests;
116
117#[cfg(test)]
118mod acknowledge_alarm_object_family_tests;
119
120#[cfg(test)]
121mod acked_transitions_tests;
122
123#[cfg(test)]
124mod undefined_property_rows_tests;