## gnome-vfs-method gnome-vfs-method |

## Synopsis

    GnomeVFSMethod *    (*GnomeVFSMethodInitFunc)           (const char *method_name,
                                                             const char *config_args);
    void                (*GnomeVFSMethodShutdownFunc)       (GnomeVFSMethod *method);
    GnomeVFSResult      (*GnomeVFSMethodTruncateFunc)       (GnomeVFSMethod *method,
                                                             GnomeVFSURI *uri,
                                                             GnomeVFSFileSize length,
                                                             GnomeVFSContext *context);
    GnomeVFSResult      (*GnomeVFSMethodTruncateHandleFunc) (GnomeVFSMethod *method,
                                                             GnomeVFSMethodHandle *handle,
                                                             GnomeVFSFileSize length,
                                                             GnomeVFSContext *context);
    #define             VFS_METHOD_HAS_FUNC                 (method,func)
    gboolean            gnome_vfs_method_init               (void);
    GnomeVFSMethod *    gnome_vfs_method_get                (const gchar *name);
    typedef             GnomeVFSTransform;
    GnomeVFSTransform * gnome_vfs_transform_get             (const gchar *name);

## Description

## Details

### GnomeVFSMethodInitFunc ()

    GnomeVFSMethod *    (*GnomeVFSMethodInitFunc)           (const char *method_name,
                                                             const char *config_args);

`method_name` : |
`config_args` : |
Returns : |

### GnomeVFSMethodShutdownFunc ()

    void                (*GnomeVFSMethodShutdownFunc)       (GnomeVFSMethod *method);

`method` : |

### GnomeVFSMethodTruncateFunc ()

    GnomeVFSResult      (*GnomeVFSMethodTruncateFunc)       (GnomeVFSMethod *method,
                                                             GnomeVFSURI *uri,
                                                             GnomeVFSFileSize length,
                                                             GnomeVFSContext *context);

`method` : |
`uri` : |
`length` : |
`context` : |
Returns : |

### GnomeVFSMethodTruncateHandleFunc ()

    GnomeVFSResult      (*GnomeVFSMethodTruncateHandleFunc) (GnomeVFSMethod *method,
                                                             GnomeVFSMethodHandle *handle,
                                                             GnomeVFSFileSize length,
                                                             GnomeVFSContext *context);

`method` : |
`handle` : |
`length` : |
`context` : |
Returns : |

### VFS_METHOD_HAS_FUNC()

    #define VFS_METHOD_HAS_FUNC(method,func) ((((char *)&((method)->func)) - ((char *)(method)) < (method)->method_table_size) && method->func != NULL)

`method` : |
`func` : |

### gnome_vfs_method_init ()

    gboolean            gnome_vfs_method_init               (void);

Initializes the gnome-vfs methods. If already initialized then will simply return `TRUE`.

Returns : | Returns `TRUE`.

### gnome_vfs_method_get ()

    GnomeVFSMethod *    gnome_vfs_method_get                (const gchar *name);

`name` : | name of the protocol.
Returns : | the method handle for the given protocol `name`. `name` could be any protocol which gnome-vfs implements. Like ftp, http, smb etc..

### GnomeVFSTransform

    typedef struct GnomeVFSTransform GnomeVFSTransform;

### gnome_vfs_transform_get ()

    GnomeVFSTransform * gnome_vfs_transform_get             (const gchar *name);

Get the transform for the method `name`.

`name` : | name of the method to get the transform of.
Returns : | a GnomeVFSTransform handle for `name`.