Skip to main content

over_there/core/msg/content/reply/io/
fs.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(
5    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
6)]
7pub struct DirCreatedArgs {
8    pub path: String,
9}
10
11impl crate::core::SchemaInfo for DirCreatedArgs {}
12
13#[derive(
14    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
15)]
16pub struct DirRenamedArgs {
17    pub from: String,
18    pub to: String,
19}
20
21impl crate::core::SchemaInfo for DirRenamedArgs {}
22
23#[derive(
24    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
25)]
26pub struct DirRemovedArgs {
27    pub path: String,
28}
29
30impl crate::core::SchemaInfo for DirRemovedArgs {}
31
32#[derive(
33    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
34)]
35pub struct DirContentsListArgs {
36    pub path: String,
37    pub entries: Vec<DirEntry>,
38}
39
40impl crate::core::SchemaInfo for DirContentsListArgs {}
41
42#[derive(
43    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
44)]
45pub struct DirEntry {
46    pub path: String,
47    pub is_file: bool,
48    pub is_dir: bool,
49    pub is_symlink: bool,
50}
51
52impl crate::core::SchemaInfo for DirEntry {}
53
54#[derive(
55    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
56)]
57pub struct FileOpenedArgs {
58    pub id: u32,
59    pub sig: u32,
60    pub path: String,
61    pub read: bool,
62    pub write: bool,
63}
64
65impl crate::core::SchemaInfo for FileOpenedArgs {}
66
67#[derive(
68    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
69)]
70pub struct FileClosedArgs {
71    pub id: u32,
72}
73
74impl crate::core::SchemaInfo for FileClosedArgs {}
75
76#[derive(
77    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
78)]
79pub struct UnopenedFileRenamedArgs {
80    pub from: String,
81    pub to: String,
82}
83
84impl crate::core::SchemaInfo for UnopenedFileRenamedArgs {}
85
86#[derive(
87    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
88)]
89pub struct FileRenamedArgs {
90    pub id: u32,
91    pub sig: u32,
92}
93
94impl crate::core::SchemaInfo for FileRenamedArgs {}
95
96#[derive(
97    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
98)]
99pub struct UnopenedFileRemovedArgs {
100    pub path: String,
101}
102
103impl crate::core::SchemaInfo for UnopenedFileRemovedArgs {}
104
105#[derive(
106    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
107)]
108pub struct FileRemovedArgs {
109    pub id: u32,
110    pub sig: u32,
111}
112
113impl crate::core::SchemaInfo for FileRemovedArgs {}
114
115#[derive(
116    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
117)]
118pub struct FileContentsArgs {
119    pub id: u32,
120    pub contents: Vec<u8>,
121}
122
123impl crate::core::SchemaInfo for FileContentsArgs {}
124
125#[derive(
126    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
127)]
128pub struct FileWrittenArgs {
129    pub id: u32,
130    pub sig: u32,
131}
132
133impl crate::core::SchemaInfo for FileWrittenArgs {}
134
135#[derive(
136    JsonSchema, Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq,
137)]
138pub struct FileSigChangedArgs {
139    pub id: u32,
140    pub sig: u32,
141}
142
143impl crate::core::SchemaInfo for FileSigChangedArgs {}
144
145impl ToString for FileSigChangedArgs {
146    fn to_string(&self) -> String {
147        format!("File {} signature changed", self.id)
148    }
149}