refactor(ipc): connect() в ipc::conn; sdk ре-экспортит
Сервисам нужен bus-bootstrap, а от sdk они не зависят (граница architecture §3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
//! Бутстрап D-Bus-соединения (ipc §1). Прод/VM — **системная шина устройства**;
|
||||
//! dev/тесты — сессионная (env `SHTURMAN_BUS=session`). Используется и сервисами, и `sdk`.
|
||||
|
||||
use zbus::Connection;
|
||||
|
||||
/// По умолчанию — системная шина; `SHTURMAN_BUS=session` → сессионная (герметичные тесты/dev, План 3/5).
|
||||
pub async fn connect() -> zbus::Result<Connection> {
|
||||
match std::env::var("SHTURMAN_BUS").as_deref() {
|
||||
Ok("session") => Connection::session().await,
|
||||
_ => Connection::system().await,
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,13 @@
|
||||
//! Источник правды по шине (ipc.md). `sdk` и сервисы используют его по разные стороны границы
|
||||
//! (architecture §3): сервисы реализуют `#[interface]`, клиенты берут `#[proxy]`.
|
||||
|
||||
pub mod conn;
|
||||
pub mod error;
|
||||
pub mod names;
|
||||
pub mod proxy;
|
||||
pub mod types;
|
||||
|
||||
pub use conn::connect;
|
||||
pub use error::Error;
|
||||
pub use proxy::{Power1Proxy, Settings1Proxy};
|
||||
pub use types::{IgnitionState, PowerSource, PowerState, ShutdownReason};
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
//! Бутстрап D-Bus-соединения. Прод/VM — **системная шина устройства** (ipc §1);
|
||||
//! dev/тесты — сессионная (env `SHTURMAN_BUS=session`, см. План 3).
|
||||
|
||||
use zbus::Connection;
|
||||
|
||||
/// Подключиться к шине Штурмана.
|
||||
/// По умолчанию — системная; `SHTURMAN_BUS=session` → сессионная (герметичные тесты/dev).
|
||||
pub async fn connect() -> zbus::Result<Connection> {
|
||||
match std::env::var("SHTURMAN_BUS").as_deref() {
|
||||
Ok("session") => Connection::session().await,
|
||||
_ => Connection::system().await,
|
||||
}
|
||||
}
|
||||
// connect() переехал в ipc::conn (нужен и сервисам, и sdk). Здесь — ре-экспорт для стабильного API sdk.
|
||||
pub use shturman_ipc::connect;
|
||||
|
||||
Reference in New Issue
Block a user