1pub mod basic_qot;
23pub mod broker;
24pub mod history_kl;
25pub mod kline;
26pub mod market_misc;
27pub mod order_book;
28pub mod order_detail;
29pub mod page_bounds;
30pub mod push;
31pub mod quote_rights;
32pub mod right_gate;
33pub mod rt;
34pub mod snapshot;
35pub mod static_info;
36pub mod sub;
37pub mod subscription_plan;
38pub mod symbol;
39pub mod symbol_list;
40pub mod ticker;
41pub mod types;
42
43#[inline]
44pub(crate) fn server_err(ret_type: i32, ret_msg: Option<String>) -> futu_core::error::FutuError {
45 let msg = match ret_msg {
46 Some(msg) if !msg.is_empty() => msg,
47 _ => "<missing ret_msg>".to_string(),
48 };
49 futu_core::error::FutuError::ServerError { ret_type, msg }
50}
51
52pub use page_bounds::{
54 PageBounds, PageBoundsError, PageBoundsErrorReason, validate_begin_num,
55 validate_optional_max_count,
56};
57pub use push::{QuoteHandler, QuotePushDispatcher};
58pub use types::{BasicQot, KLType, KLine, OrderBookData, QotMarket, RehabType, Security, SubType};
59
60#[cfg(test)]
61mod tests;