Initial original import from: fuse-2.4.2-2.fc4
[captive.git] / src / libcaptive / client / vfs.h
index 5a4a2e7..a4efe4e 100644 (file)
 #include <glib-object.h>
 #include "../sandbox/sandbox.h"
 #include <libxml/tree.h>
+#include "captive/options.h"
+#include "captive/client-vfs.h"
+#include "captive/client-directory.h"
+#include "captive/client-file.h"
 
 
 G_BEGIN_DECLS
@@ -35,25 +39,23 @@ struct _CaptiveVfsObject {
 
        /*< private >*/
        struct captive_options options;
-
-       gboolean is_sandbox_parent;
-               Captive_Vfs corba_Vfs_object;
-               Captive_GLogFunc corba_GLogFunc_object;
-               Captive_CaptiveIOChannel corba_CaptiveIOChannel_object;
-               /* It may corba_parent_giochanel_blind_source==options.image_iochannel !
-                * 1st stage           : corba_parent_giochanel_blind
-                * 2nd stage (optional): corba_parent_giochanel_blind_source
-                * 3rd stage           : options.image_iochannel
-                */
-               GIOChannel *corba_parent_giochanel_blind;
-               GIOChannel *corba_parent_giochanel_blind_source;
-               int corba_parentheart_fds_1;
-               pid_t corba_child_pid;
-               xmlDoc *corba_bug_doc;
-               xmlNode *corba_bug,*corba_bug_action,*corba_bug_log;
        };
 struct _CaptiveVfsObjectClass {
        GObjectClass parent_class;
+
+       GnomeVFSResult (*init)(CaptiveVfsObject *captive_vfs_object);
+       GnomeVFSResult (*commit)(CaptiveVfsObject *captive_vfs_object);
+       GnomeVFSResult (*volume_info_get)(CaptiveVfsObject *captive_vfs_object,CaptiveVfsVolumeInfo *volume_info);
+
+       GnomeVFSResult (*directory_new_open)(CaptiveDirectoryObject **captive_directory_object_return,
+                       CaptiveVfsObject *captive_vfs_object,const gchar *pathname);
+       GnomeVFSResult (*directory_new_make)(CaptiveDirectoryObject **captive_directory_object_return,
+                       CaptiveVfsObject *captive_vfs_object,const gchar *pathname,guint perm);
+
+       GnomeVFSResult (*file_new_open)(CaptiveFileObject **captive_file_object_return,
+                       CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode);
+       GnomeVFSResult (*file_new_create)(CaptiveFileObject **captive_file_object_return,
+                       CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode,gboolean exclusive,guint perm);
        };
 
 G_END_DECLS