feat(ipc): Error (ru.shturman.Error.*) + well-known имена

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
2026-06-24 12:07:29 +03:00
parent df553790ae
commit d91d218ade
5 changed files with 64 additions and 1 deletions
+20
View File
@@ -0,0 +1,20 @@
//! Контракт ошибок шины — `ru.shturman.Error.*` (ipc §2).
/// D-Bus-ошибки Штурмана. Маппинг в `ru.shturman.Error.<Variant>` — через `zbus::DBusError`.
/// В v0 реально используется `InvalidArgument` (Settings); остальные — зарезервированы по мере сервисов.
#[derive(Debug, zbus::DBusError)]
#[zbus(prefix = "ru.shturman.Error")]
pub enum Error {
/// Транспортные ошибки zbus (catch-all).
#[zbus(error)]
ZBus(zbus::Error),
PermissionDenied(String),
/// PID/сигнал не поддержан машиной (постоянно).
NotAvailable(String),
/// Транзиентно: устарело / двигатель заглушен / таймаут.
Stale(String),
Timeout(String),
ReadOnly(String),
InvalidArgument(String),
Unsupported(String),
}