xref: /aosp_15_r20/external/uwb/src/rust/uwb_core/src/uci.rs (revision e0df40009cb5d71e642272d38ba1bb7ffccfce41)
1 // Copyright 2022, The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 //! This module provides the functionalities related to UWB Command Interface (UCI).
16 
17 mod command;
18 mod message;
19 mod pcapng_block;
20 mod response;
21 mod timeout_uci_hal;
22 
23 pub(crate) mod error;
24 pub(crate) mod notification;
25 pub(crate) mod uci_manager;
26 
27 pub mod pcapng_uci_logger_factory;
28 pub mod uci_hal;
29 pub mod uci_logger;
30 pub mod uci_logger_factory;
31 pub mod uci_logger_pcapng;
32 pub mod uci_manager_sync;
33 
34 #[cfg(test)]
35 pub(crate) mod mock_uci_hal;
36 #[cfg(test)]
37 pub(crate) mod mock_uci_logger;
38 #[cfg(any(test, feature = "mock-utils"))]
39 pub mod mock_uci_manager;
40 
41 // Re-export the public elements.
42 pub use command::UciCommand;
43 pub use notification::{
44     CoreNotification, DataRcvNotification, RadarDataRcvNotification, RadarSweepData,
45     RangingMeasurements, RfTestNotification, SessionNotification, SessionRangeData,
46     UciNotification,
47 };
48 pub use uci_hal::{NopUciHal, UciHal, UciHalPacket};
49 pub use uci_logger_factory::{NopUciLoggerFactory, UciLoggerFactory};
50 pub use uci_manager::UciManagerImpl;
51