1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//! Schema introspection types for Bloomberg services.
//!
//! This module provides safe Rust wrappers over Bloomberg's schema introspection API,
//! allowing runtime discovery of service operations, request/response schemas, and
//! enumeration values.
//!
//! # Overview
//!
//! Bloomberg services expose their schemas through a hierarchical structure:
//! - **Service** contains **Operations** (e.g., ReferenceDataRequest, HistoricalDataRequest)
//! - **Operations** have request and response **SchemaElementDefinitions**
//! - **SchemaElementDefinitions** reference **SchemaTypeDefinitions**
//! - **SchemaTypeDefinitions** can be simple types, complex types (with child elements),
//! or enumeration types (with a **ConstantList** of valid values)
//!
//! # Example
//!
//! ```ignore
//! // Get service and introspect its schema
//! let service = session.get_service("//blp/refdata")?;
//!
//! // Iterate over all operations
//! for i in 0..service.num_operations() {
//! let op = service.get_operation_at(i)?;
//! println!("Operation: {}", op.name());
//!
//! // Get request schema
//! if let Ok(req_def) = op.request_definition() {
//! println!(" Request type: {}", req_def.name());
//! }
//! }
//! ```
//!
//! # Note on Lifetimes
//!
//! All schema objects (Operation, SchemaElementDefinition, SchemaTypeDefinition,
//! ConstantList, Constant) are non-owning views into data managed by the Bloomberg
//! session. They remain valid as long as the session is active and the service
//! remains open.
pub use ;
pub use SchemaElementDefinition;
pub use Operation;
pub use SchemaTypeDefinition;
/// Schema status values (deprecation status).
///
/// Mirrors Bloomberg's SchemaStatus enum.