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);
};
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);
};
};