#![allow(
clippy::collapsible_if,
clippy::derivable_impls,
clippy::field_reassign_with_default,
clippy::type_complexity
)]
pub mod device_support;
pub mod records;
pub mod snl;
pub use records::epid::EpidRecord;
pub use records::throttle::ThrottleRecord;
pub use records::timestamp::TimestampRecord;
pub const STD_DB_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/db");
pub fn epid_record_factory() -> (&'static str, epics_base_rs::server::RecordFactory) {
("epid", Box::new(|| Box::new(EpidRecord::default())))
}
pub fn throttle_record_factory() -> (&'static str, epics_base_rs::server::RecordFactory) {
("throttle", Box::new(|| Box::new(ThrottleRecord::default())))
}
pub fn timestamp_record_factory() -> (&'static str, epics_base_rs::server::RecordFactory) {
(
"timestamp",
Box::new(|| Box::new(TimestampRecord::default())),
)
}
pub fn std_record_factories() -> Vec<(&'static str, epics_base_rs::server::RecordFactory)> {
vec![
epid_record_factory(),
throttle_record_factory(),
timestamp_record_factory(),
]
}
pub fn register_std_record_types() {
for (name, factory) in std_record_factories() {
epics_base_rs::server::db_loader::register_record_type(name, factory);
}
}