1 #ifndef I1541_CBMDOSVFSEVENTARGS_H
2 #define I1541_CBMDOSVFSEVENTARGS_H
3 
4 /** Declaration of CbmdosVfs Event arguments
5  * @file
6  */
7 
8 #include <1541img/decl.h>
9 
10 #include <1541img/cbmdosfileeventargs.h>
11 
12 /** Arguments for events raised by CbmdosVfs
13  * @struct CbmdosVfsEventArgs cbmdosvfseventargs.h \
14  *     <1541img/cbmdosvfseventargs.h>
15  */
16 C_CLASS_DECL(CbmdosVfsEventArgs);
17 
18 struct CbmdosVfsEventArgs
19 {
20     enum {
21         CVE_DOSVERCHANGED,  /**< the dos version number changed */
22         CVE_NAMECHANGED,    /**< the name of the filesystem changed */
23         CVE_IDCHANGED,      /**< the disc ID of the filesystem changed */
24         CVE_FILEADDED,      /**< a file was added to the filesystem */
25         CVE_FILEDELETED,    /**< a file was deleted from the filesystem */
26 	CVE_FILEMOVED,	    /**< a file was moved to another position */
27         CVE_FILECHANGED     /**< a file on the filesystem was changed */
28     } what;     /**< describes what happened to the vfs */
29     const CbmdosFileEventArgs *fileEventArgs;   /**< for changed files,
30                                 a pointer to the corresponding event args */
31     unsigned filepos;       /**< for changes concerning a file, the position
32                                  affected by the change */
33     unsigned targetpos;	    /**< for file moved events, the target position
34 			         of the moved file */
35 };
36 
37 #endif
38