CamelStreamVFS

CamelStreamVFS

Synopsis

                    CamelStreamVFS;
enum                CamelStreamVFSOpenMethod;
CamelStream *       camel_stream_vfs_new_with_uri       (const char *uri,
                                                         CamelStreamVFSOpenMethod mode);
CamelStream *       camel_stream_vfs_new_with_stream    (GObject *stream);
gboolean            camel_stream_vfs_is_writable        (CamelStreamVFS *stream_vfs);

Description

Details

CamelStreamVFS

typedef struct {
	CamelStream parent_object;

	GObject *stream;
} CamelStreamVFS;


enum CamelStreamVFSOpenMethod

typedef enum {
	CAMEL_STREAM_VFS_CREATE,	/* writable, creates new file or replaces old file */
	CAMEL_STREAM_VFS_APPEND,	/* writable, creates new file or appends at the end of the old file */
	CAMEL_STREAM_VFS_READ		/* readable, opens existing file for reading */
} CamelStreamVFSOpenMethod;


camel_stream_vfs_new_with_uri ()

CamelStream *       camel_stream_vfs_new_with_uri       (const char *uri,
                                                         CamelStreamVFSOpenMethod mode);

Creates a new CamelStreamVFS corresponding to the named file and mode.

uri :

a file uri

mode :

opening mode for the uri file

Returns :

the new stream, or NULL on error.

camel_stream_vfs_new_with_stream ()

CamelStream *       camel_stream_vfs_new_with_stream    (GObject *stream);

Creates a new fs stream using the given gio stream stream as the backing store. When the stream is destroyed, the file descriptor will be closed. This will not increase reference counter on the stream.

stream :

a GInputStream or GOutputStream instance

Returns :

a new CamelStreamVFS

camel_stream_vfs_is_writable ()

gboolean            camel_stream_vfs_is_writable        (CamelStreamVFS *stream_vfs);

stream_vfs :

a CamelStreamVFS instance

Returns :

whether is the underlying stream writable or not.