crashpad_rs/
lib.rs

1//! Safe Rust bindings for Google Crashpad
2//!
3//! This crate provides a safe, idiomatic Rust interface to the Crashpad crash reporting library.
4
5mod client;
6mod config;
7
8pub use client::CrashpadClient;
9pub use config::{CrashpadConfig, CrashpadConfigBuilder};
10use thiserror::Error;
11
12#[derive(Error, Debug)]
13pub enum CrashpadError {
14    #[error("Failed to initialize Crashpad")]
15    InitializationFailed,
16
17    #[error("Failed to start handler")]
18    HandlerStartFailed,
19
20    #[error("Invalid configuration: {0}")]
21    InvalidConfiguration(String),
22
23    #[error("IO error: {0}")]
24    IoError(#[from] std::io::Error),
25}
26
27pub type Result<T> = std::result::Result<T, CrashpadError>;