## CamelStreamVFS CamelStreamVFS |

## Synopsis

                        CamelStreamVFS;
    enum                CamelStreamVFSOpenMethod;
    CamelStream *       camel_stream_vfs_new_with_uri       (const gchar *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,
    	CAMEL_STREAM_VFS_APPEND,
    	CAMEL_STREAM_VFS_READ
    } CamelStreamVFSOpenMethod;

Since 2.24

### camel_stream_vfs_new_with_uri ()

    CamelStream *       camel_stream_vfs_new_with_uri       (const gchar *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

Since 2.24

### 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.

Since 2.24