@@ -134,8 +134,12 @@ impl Event {
134134 matches ! ( self . file, FileData :: MkDir ( _) )
135135 }
136136
137- pub fn is_unlink ( & self ) -> bool {
138- matches ! ( self . file, FileData :: Unlink ( _) )
137+ pub fn is_rmdir ( & self ) -> bool {
138+ matches ! ( self . file, FileData :: RmDir ( _) )
139+ }
140+
141+ pub fn is_deletion ( & self ) -> bool {
142+ matches ! ( self . file, FileData :: Unlink ( _) | FileData :: RmDir ( _) )
139143 }
140144
141145 /// Unwrap the inner FileData and return the inode that triggered
@@ -148,6 +152,7 @@ impl Event {
148152 FileData :: Open ( data) => & data. inode ,
149153 FileData :: Creation ( data) => & data. inode ,
150154 FileData :: MkDir ( data) => & data. inode ,
155+ FileData :: RmDir ( data) => & data. inode ,
151156 FileData :: Unlink ( data) => & data. inode ,
152157 FileData :: Chmod ( data) => & data. inner . inode ,
153158 FileData :: Chown ( data) => & data. inner . inode ,
@@ -161,6 +166,7 @@ impl Event {
161166 FileData :: Open ( data) => & data. parent_inode ,
162167 FileData :: Creation ( data) => & data. parent_inode ,
163168 FileData :: MkDir ( data) => & data. parent_inode ,
169+ FileData :: RmDir ( data) => & data. parent_inode ,
164170 FileData :: Unlink ( data) => & data. parent_inode ,
165171 FileData :: Chmod ( data) => & data. inner . parent_inode ,
166172 FileData :: Chown ( data) => & data. inner . parent_inode ,
@@ -183,6 +189,7 @@ impl Event {
183189 FileData :: Open ( data) => & data. filename ,
184190 FileData :: Creation ( data) => & data. filename ,
185191 FileData :: MkDir ( data) => & data. filename ,
192+ FileData :: RmDir ( data) => & data. filename ,
186193 FileData :: Unlink ( data) => & data. filename ,
187194 FileData :: Chmod ( data) => & data. inner . filename ,
188195 FileData :: Chown ( data) => & data. inner . filename ,
@@ -202,6 +209,7 @@ impl Event {
202209 FileData :: Open ( data) => & data. host_file ,
203210 FileData :: Creation ( data) => & data. host_file ,
204211 FileData :: MkDir ( data) => & data. host_file ,
212+ FileData :: RmDir ( data) => & data. host_file ,
205213 FileData :: Unlink ( data) => & data. host_file ,
206214 FileData :: Chmod ( data) => & data. inner . host_file ,
207215 FileData :: Chown ( data) => & data. inner . host_file ,
@@ -218,6 +226,7 @@ impl Event {
218226 FileData :: Open ( data) => data. host_file = host_path,
219227 FileData :: Creation ( data) => data. host_file = host_path,
220228 FileData :: MkDir ( data) => data. host_file = host_path,
229+ FileData :: RmDir ( data) => data. host_file = host_path,
221230 FileData :: Unlink ( data) => data. host_file = host_path,
222231 FileData :: Chmod ( data) => data. inner . host_file = host_path,
223232 FileData :: Chown ( data) => data. inner . host_file = host_path,
@@ -303,6 +312,7 @@ pub enum FileData {
303312 Open ( BaseFileData ) ,
304313 Creation ( BaseFileData ) ,
305314 MkDir ( BaseFileData ) ,
315+ RmDir ( BaseFileData ) ,
306316 Unlink ( BaseFileData ) ,
307317 Chmod ( ChmodFileData ) ,
308318 Chown ( ChownFileData ) ,
@@ -322,6 +332,7 @@ impl FileData {
322332 file_activity_type_t:: FILE_ACTIVITY_OPEN => FileData :: Open ( inner) ,
323333 file_activity_type_t:: FILE_ACTIVITY_CREATION => FileData :: Creation ( inner) ,
324334 file_activity_type_t:: DIR_ACTIVITY_CREATION => FileData :: MkDir ( inner) ,
335+ file_activity_type_t:: DIR_ACTIVITY_UNLINK => FileData :: RmDir ( inner) ,
325336 file_activity_type_t:: FILE_ACTIVITY_UNLINK => FileData :: Unlink ( inner) ,
326337 file_activity_type_t:: FILE_ACTIVITY_CHMOD => {
327338 let data = ChmodFileData {
@@ -373,6 +384,9 @@ impl From<FileData> for fact_api::file_activity::File {
373384 FileData :: MkDir ( _) => {
374385 unreachable ! ( "MkDir event reached protobuf conversion" ) ;
375386 }
387+ FileData :: RmDir ( _) => {
388+ unreachable ! ( "RmDir event reached protobuf conversion" ) ;
389+ }
376390 FileData :: Unlink ( event) => {
377391 let activity = Some ( fact_api:: FileActivityBase :: from ( event) ) ;
378392 let f_act = fact_api:: FileUnlink { activity } ;
@@ -401,6 +415,7 @@ impl PartialEq for FileData {
401415 ( FileData :: Open ( this) , FileData :: Open ( other) ) => this == other,
402416 ( FileData :: Creation ( this) , FileData :: Creation ( other) ) => this == other,
403417 ( FileData :: MkDir ( this) , FileData :: MkDir ( other) ) => this == other,
418+ ( FileData :: RmDir ( this) , FileData :: RmDir ( other) ) => this == other,
404419 ( FileData :: Unlink ( this) , FileData :: Unlink ( other) ) => this == other,
405420 ( FileData :: Chmod ( this) , FileData :: Chmod ( other) ) => this == other,
406421 ( FileData :: Rename ( this) , FileData :: Rename ( other) ) => this == other,
0 commit comments