2 * CORBA ORBit IDL definition of sandbox intra-captive interface
3 * Copyright (C) 2002-2003 Jan Kratochvil <project-captive@jankratochvil.net>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; exactly version 2 of June 1991 is required
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 typedef unsigned long GnomeVFSResult; /* enum */
23 exception GnomeVFSResultException {
24 GnomeVFSResult gnome_vfs_result;
28 typedef unsigned long GLogLevelFlags; /* enum mask */
29 struct GlibLogMessage { /* accepted by 'GLogFunc' */
30 /* string log_domain; always "Captive" */
31 GLogLevelFlags log_level;
34 exception GlibLogMessageFatal {
35 GlibLogMessage g_log_message;
38 interface GlibLogFunc {
39 /* Do not use 'oneway' as we would loose logging order coherency. */
40 void glibLogFunc(in GlibLogMessage glib_log_message);
44 typedef unsigned long GnomeVFSFileType; /* enum */
45 typedef unsigned short GnomeVFSFilePermissions;
46 typedef unsigned long long time_t;
47 typedef unsigned long long GnomeVFSFileSize;
48 typedef unsigned long long GnomeVFSFileFlags;
49 typedef long long GnomeVFSFileOffset;
50 typedef unsigned long GnomeVFSSeekPosition; /* enum */
51 typedef unsigned long GnomeVFSSetFileInfoMask; /* enum mask */
52 typedef unsigned long long GnomeVFSOpenMode; /* enum mask */
53 struct GnomeVFSFileInfo {
54 string name; /* Base name of the file (no path). */
55 /* File type (i.e. regular, directory, block device...). */
56 GnomeVFSFileType type;
58 GnomeVFSFilePermissions permissions; /* File permissions. */
59 boolean permissions_valid;
60 GnomeVFSFileSize size; /* Size in bytes. */
62 GnomeVFSFileSize block_count; /* Size measured in units of 512-byte blocks. */
63 boolean block_count_valid;
64 /* Access, modification and change times. */
65 time_t atime; /* not valid if ==(time_t)0 */
66 time_t mtime; /* not valid if ==(time_t)0 */
67 time_t ctime; /* not valid if ==(time_t)0 */
68 GnomeVFSFileFlags flags;
72 typedef sequence<octet> Bytes;
76 void read(out GnomeVFSFileInfo file_info)
77 raises (GnomeVFSResultException,GlibLogMessageFatal);
79 raises (GnomeVFSResultException,GlibLogMessageFatal);
84 void read(out Bytes buffer,in GnomeVFSFileSize num_bytes)
85 raises (GnomeVFSResultException,GlibLogMessageFatal);
86 void write(in Bytes buffer,out GnomeVFSFileSize bytes_written_return)
87 raises (GnomeVFSResultException,GlibLogMessageFatal);
88 void seek(in GnomeVFSSeekPosition whence,in GnomeVFSFileOffset offset)
89 raises (GnomeVFSResultException,GlibLogMessageFatal);
90 void tell(out GnomeVFSFileOffset offset_return)
91 raises (GnomeVFSResultException,GlibLogMessageFatal);
93 raises (GnomeVFSResultException,GlibLogMessageFatal);
94 void file_info_get(out GnomeVFSFileInfo file_info)
95 raises (GnomeVFSResultException,GlibLogMessageFatal);
96 void file_info_set(in GnomeVFSFileInfo file_info,in GnomeVFSSetFileInfoMask mask)
97 raises (GnomeVFSResultException,GlibLogMessageFatal);
98 void truncate(in GnomeVFSFileSize file_size)
99 raises (GnomeVFSResultException,GlibLogMessageFatal);
100 void move(in string pathname_new,in boolean force_replace)
101 raises (GnomeVFSResultException,GlibLogMessageFatal);
106 void registerGlibLogFunc(in GlibLogFunc glib_log_func);
108 Directory directory_new_open(in string pathname)
109 raises (GnomeVFSResultException,GlibLogMessageFatal);
110 Directory directory_new_make(in string pathname,in GnomeVFSFilePermissions perm)
111 raises (GnomeVFSResultException,GlibLogMessageFatal);
112 File file_new_open(in string pathname,in GnomeVFSOpenMode mode)
113 raises (GnomeVFSResultException,GlibLogMessageFatal);
114 File file_new_create(in string pathname,in GnomeVFSOpenMode mode,in boolean exclusive,in unsigned long perm)
115 raises (GnomeVFSResultException,GlibLogMessageFatal);