Implemented sub-second W32 filesystem interface by new: CaptiveFileInfoObject
[captive.git] / src / libcaptive / sandbox / sandbox.idl
index 7e3cb44..74c0fae 100644 (file)
@@ -52,6 +52,7 @@ module Captive
 
        typedef unsigned long      GnomeVFSFileType;        /* enum */
        typedef unsigned short     GnomeVFSFilePermissions;
+       typedef unsigned long      guint;
        typedef unsigned long long time_t;
        typedef unsigned long long GnomeVFSFileSize;
        typedef unsigned long long GnomeVFSFileFlags;
@@ -59,7 +60,7 @@ module Captive
        typedef unsigned long      GnomeVFSSeekPosition;    /* enum */
        typedef unsigned long      GnomeVFSSetFileInfoMask; /* enum mask */
        typedef unsigned long long GnomeVFSOpenMode;          /* enum mask */
-       struct GnomeVFSFileInfo {
+       struct CaptiveFileInfoObject {
                string name;    /* Base name of the file (no path). */
                /* File type (i.e. regular, directory, block device...). */
                GnomeVFSFileType type;
@@ -72,8 +73,11 @@ module Captive
                boolean block_count_valid;
                /* Access, modification and change times. */
                time_t atime;   /* not valid if ==(time_t)0 */
+               guint atime_nsec;
                time_t mtime;   /* not valid if ==(time_t)0 */
+               guint mtime_nsec;
                time_t ctime;   /* not valid if ==(time_t)0 */
+               guint ctime_nsec;
                GnomeVFSFileFlags flags;
                boolean flags_valid;
                };
@@ -123,7 +127,7 @@ module Captive
 
 
        interface Directory {
-               void read(out GnomeVFSFileInfo file_info)
+               void read(out CaptiveFileInfoObject file_info)
                        raises (GnomeVFSResultException,GLogMessageFatal);
                void remove()
                        raises (GnomeVFSResultException,GLogMessageFatal);
@@ -142,9 +146,9 @@ module Captive
                        raises (GnomeVFSResultException,GLogMessageFatal);
                void remove()
                        raises (GnomeVFSResultException,GLogMessageFatal);
-               void file_info_get(out GnomeVFSFileInfo file_info)
+               void file_info_get(out CaptiveFileInfoObject file_info)
                        raises (GnomeVFSResultException,GLogMessageFatal);
-               void file_info_set(in GnomeVFSFileInfo file_info,in GnomeVFSSetFileInfoMask mask)
+               void file_info_set(in CaptiveFileInfoObject file_info,in GnomeVFSSetFileInfoMask mask)
                        raises (GnomeVFSResultException,GLogMessageFatal);
                void truncate(in GnomeVFSFileSize file_size)
                        raises (GnomeVFSResultException,GLogMessageFatal);