## gnome-vfs-standard-callbacks

gnome-vfs-standard-callbacks — standard callbacks for use by gnome-vfs module writers

## Synopsis

    #define     GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION
    #define     GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION
                GnomeVFSModuleCallbackAuthenticationOut;
    #define     GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS
                GnomeVFSModuleCallbackAdditionalHeadersIn;
                GnomeVFSModuleCallbackAdditionalHeadersOut;
    #define     GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS
                GnomeVFSModuleCallbackReceivedHeadersIn;
                GnomeVFSModuleCallbackReceivedHeadersOut;
    #define     GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE
                GnomeVFSModuleCallbackStatusMessageIn;
                GnomeVFSModuleCallbackStatusMessageOut;

## Description

## Details

### GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION

    #define GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION "simple-authentication"

### GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION

    #define GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION "http:proxy-authentication"

### GnomeVFSModuleCallbackAuthenticationOut

    typedef struct {
    	char *username;		/* will be freed by g_free,
    				 * NULL indicates no auth should be provided;
    				 * if the request requires authn, the operation
    				 * will fail with a GNOME_VFS_ERROR_ACCESS_DENIED
    				 * code
    				 */
    	char *password;		/* will be freed by g_free */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackAuthenticationOut;

### GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS

    #define GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS "http:send-additional-headers"

### GnomeVFSModuleCallbackAdditionalHeadersIn

    typedef struct {
    	GnomeVFSURI *uri;		/* URI of operation */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackAdditionalHeadersIn;

### GnomeVFSModuleCallbackAdditionalHeadersOut

    typedef struct {
    	GList *headers;			/* list of headers, will be freeed */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackAdditionalHeadersOut;

### GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS

    #define GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS "http:received-headers"

### GnomeVFSModuleCallbackReceivedHeadersIn

    typedef struct {
    	GnomeVFSURI *uri;		/* URI of operation */
    	GList *headers;			/* list of headers */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackReceivedHeadersIn;

### GnomeVFSModuleCallbackReceivedHeadersOut

    typedef struct {
    	int dummy;

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackReceivedHeadersOut;

### GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE

    #define GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE "status-message"

### GnomeVFSModuleCallbackStatusMessageIn

    typedef struct {
    	char *uri;		/* Full URI of operation */
    	char *message;		/* A message indicating the current state or
    				 * NULL if there is no message */
    	int percentage;		/* Percentage indicating completeness 0-100 or
    				 * -1 if there is no progress percentage to
    				 * report */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackStatusMessageIn;

### GnomeVFSModuleCallbackStatusMessageOut

    typedef struct {
    	int dummy; /* empty structs not allowed */

    	/* Reserved "padding" to avoid future breaks in ABI compatibility */
    	void *reserved1;
    	void *reserved2;
    } GnomeVFSModuleCallbackStatusMessageOut;