Renamed "GlibLogFunc" to "GLogFunc"
authorshort <>
Sat, 7 Jun 2003 07:17:03 +0000 (07:17 +0000)
committershort <>
Sat, 7 Jun 2003 07:17:03 +0000 (07:17 +0000)
+backward image iochannel over CORBA transport to be sandboxable
+object shutdown() functions as release() will not destroy() servants

src/libcaptive/sandbox/sandbox.idl

index b6dafcb..9a81cc9 100644 (file)
 
 module Captive
 {
+       typedef sequence<octet> Bytes;
+
+
        typedef unsigned long GnomeVFSResult;   /* enum */
        exception GnomeVFSResultException {
                GnomeVFSResult gnome_vfs_result;
                };
 
 
+       typedef unsigned long GIOStatus;        /* enum */
+       exception GIOStatusException {
+               GIOStatus g_io_status;
+               };
+
+
        typedef unsigned long GLogLevelFlags;   /* enum mask */
-       struct GlibLogMessage { /* accepted by 'GLogFunc' */
+       struct GLogMessage {    /* accepted by 'GLogFunc' */
                /* string log_domain; always "Captive" */
                GLogLevelFlags log_level;
                string message;
                };
-       exception GlibLogMessageFatal {
-               GlibLogMessage g_log_message;
+       exception GLogMessageFatal {
+               GLogMessage g_log_message;
                };
 
-       interface GlibLogFunc {
+       interface GLogFunc {
                /* Do not use 'oneway' as we would loose logging order coherency. */
-               void glibLogFunc(in GlibLogMessage glib_log_message);
+               void g_log_func(in GLogMessage g_log_message);
                };
 
 
@@ -69,49 +78,83 @@ module Captive
                boolean flags_valid;
                };
 
-       typedef sequence<octet> Bytes;
+
+       typedef               long long GInt64;
+       typedef unsigned long long GUInt64;
+       typedef unsigned long      GSeekType;   /* enum */
+       typedef unsigned long      GSize;
+       interface CaptiveIOChannel {
+               void read(out Bytes buffer,in GSize count)
+                       raises (GIOStatusException,GLogMessageFatal);
+               void write(in Bytes buffer,out GSize bytes_written_return)
+                       raises (GIOStatusException,GLogMessageFatal);
+               void seek(in GInt64 offset,in GSeekType type)
+                       raises (GIOStatusException,GLogMessageFatal);
+               GUInt64 size()
+                       raises (GLogMessageFatal);
+               };
+
+
+       typedef unsigned long CaptiveOptionRwmode;      /* enum */
+       typedef unsigned long CaptiveOptionMedia;       /* enum */
+       struct CaptiveOptionsModule {
+               string pathname_utf8;
+               Bytes data;
+               };
+       typedef sequence<CaptiveOptionsModule> CaptiveOptionsModuleList;
+       struct CaptiveOptions {
+               GLogFunc g_log_func;
+               CaptiveOptionsModule filesystem;
+               CaptiveOptionRwmode rwmode;
+               CaptiveOptionMedia media;
+               boolean debug_messages;
+               CaptiveIOChannel image_iochannel;
+               CaptiveOptionsModuleList load_module;
+               };
 
 
        interface Directory {
                void read(out GnomeVFSFileInfo file_info)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void remove()
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
+               void shutdown();
                };
 
 
        interface File {
                void read(out Bytes buffer,in GnomeVFSFileSize num_bytes)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void write(in Bytes buffer,out GnomeVFSFileSize bytes_written_return)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void seek(in GnomeVFSSeekPosition whence,in GnomeVFSFileOffset offset)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void tell(out GnomeVFSFileOffset offset_return)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void remove()
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void file_info_get(out GnomeVFSFileInfo file_info)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void file_info_set(in GnomeVFSFileInfo file_info,in GnomeVFSSetFileInfoMask mask)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void truncate(in GnomeVFSFileSize file_size)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                void move(in string pathname_new,in boolean force_replace)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
+               void shutdown();
                };
 
 
        interface Vfs {
-               void registerGlibLogFunc(in GlibLogFunc glib_log_func);
+               void init(in CaptiveOptions options);
                void shutdown();
                Directory directory_new_open(in string pathname)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                Directory directory_new_make(in string pathname,in GnomeVFSFilePermissions perm)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                File file_new_open(in string pathname,in GnomeVFSOpenMode mode)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                File file_new_create(in string pathname,in GnomeVFSOpenMode mode,in boolean exclusive,in unsigned long perm)
-                       raises (GnomeVFSResultException,GlibLogMessageFatal);
+                       raises (GnomeVFSResultException,GLogMessageFatal);
                };
 };