//! Phase 91: CoreServices 定義 //! //! Ring1-Core: core_required Box の Service trait 群。 //! Phase 87 CoreBoxId の core_required (6個) 全てをカバー。 use std::sync::Arc; /// StringBox Service trait pub trait StringService: Send + Sync { // Phase 92 以降で実装 } /// IntegerBox Service trait pub trait IntegerService: Send + Sync { // Phase 92 以降で実装 } /// BoolBox Service trait pub trait BoolService: Send + Sync { // Phase 92 以降で実装 } /// ArrayBox Service trait pub trait ArrayService: Send + Sync { // Phase 92 以降で実装 } /// MapBox Service trait pub trait MapService: Send + Sync { // Phase 92 以降で実装 } /// ConsoleBox Service trait pub trait ConsoleService: Send + Sync { // Phase 92 以降で実装 } /// CoreServices: core_required Box の集合 /// /// Phase 85 設計原則: /// - core_required は必ず全て揃っていなければならない /// - 起動時に全フィールドが初期化されていることを保証 /// /// Phase 87 CoreBoxId との対応: /// - String → string /// - Integer → integer /// - Bool → bool /// - Array → array /// - Map → map /// - Console → console pub struct CoreServices { pub string: Arc, pub integer: Arc, pub bool: Arc, pub array: Arc, pub map: Arc, pub console: Arc, } impl CoreServices { /// 全フィールドが初期化されているか検証 /// Phase 92 以降で各 Service の初期化を検証 pub fn ensure_initialized(&self) { // Phase 91 では trait が空なので何もしない // Phase 92 以降で各 Service の初期化を検証 } }