1use thiserror::Error;
8
9#[derive(Error, Debug)]
11pub enum Error {
12 #[error("Failed to attach")]
14 DeviceAttachError,
15
16 #[error("Failed to lookup device")]
18 DeviceLookupFailed,
19
20 #[error("Failed to detach the current session")]
22 SessionDetachError,
23
24 #[error("Failed to create the script")]
26 ScriptCreationError,
27
28 #[error("Failed to load the script")]
30 LoadingFailed,
31
32 #[error("Failed to unload the script")]
34 UnloadingFailed,
35
36 #[error("Failed to convert the string into CString")]
38 CStringFailed,
39
40 #[error("Failed to inject library ({code}) {message}")]
42 InjectFailed {
43 code: i32,
45 message: String,
47 },
48
49 #[error("Failed to query device system parameters ({code}) {message}")]
51 DeviceQuerySystemParametersFailed {
52 code: i32,
54 message: String,
56 },
57
58 #[error("Failed to spawn program ({code}) {message}")]
60 SpawnFailed {
61 code: i32,
63 message: String,
65 },
66
67 #[error("Failed to resume ({code}) {message}")]
69 ResumeFailed {
70 code: i32,
72 message: String,
74 },
75
76 #[error("Failed to kill PID ({code}) {message}")]
78 KillFailed {
79 code: i32,
81 message: String,
83 },
84
85 #[error("Unexpected RPC message received.")]
87 RpcUnexpectedMessage,
88
89 #[error("Error on the JavaScript side: {message}")]
92 RpcJsError {
93 message: String,
95 },
96}