mirror of
https://github.com/ruvnet/RuView
synced 2026-07-28 18:21:42 +00:00
51 lines
1.3 KiB
Rust
51 lines
1.3 KiB
Rust
//! Unified error type for `homecore-hap`.
|
|
|
|
use std::path::PathBuf;
|
|
use thiserror::Error;
|
|
|
|
/// Errors produced by the HAP bridge and its sub-components.
|
|
#[derive(Debug, Error)]
|
|
pub enum HapError {
|
|
#[error("entity not found: {0}")]
|
|
EntityNotFound(String),
|
|
|
|
#[error("entity {entity_id} cannot be mapped to a HAP accessory type: {reason}")]
|
|
UnmappableEntity { entity_id: String, reason: String },
|
|
|
|
#[error("accessory already registered: {0}")]
|
|
AlreadyRegistered(String),
|
|
|
|
#[error("mDNS advertiser error: {0}")]
|
|
MdnsError(String),
|
|
|
|
#[error("bridge not running")]
|
|
NotRunning,
|
|
|
|
#[error("pairing store error: {0}")]
|
|
PairingStore(String),
|
|
|
|
#[error("invalid pairing record: {0}")]
|
|
InvalidPairingRecord(String),
|
|
|
|
#[error("controller pairing already exists: {0}")]
|
|
PairingAlreadyExists(String),
|
|
|
|
#[error("controller pairing not found: {0}")]
|
|
PairingNotFound(String),
|
|
|
|
#[error("insecure permissions on {path}: mode {mode:o}; expected no group/other access")]
|
|
InsecurePermissions { path: PathBuf, mode: u32 },
|
|
|
|
#[error("invalid HAP session transition from {from} to {to}")]
|
|
InvalidSessionTransition {
|
|
from: &'static str,
|
|
to: &'static str,
|
|
},
|
|
|
|
#[error("HAP protocol error: {0}")]
|
|
Protocol(String),
|
|
|
|
#[error("HAP server error: {0}")]
|
|
Server(String),
|
|
}
|