over_there/core/msg/content/reply/io/
fs.rs1use 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}