#ifndef __Desk_Export_h
#define __Desk_Export_h
#ifndef __Desk_wimp_h
#include "Desk.Wimp.h"
#endif
typedef int (*Desk_Export_filesaver)(const char *filename, void *reference);
typedef int (*Desk_Export_ramsaver)(Desk_message_block* ramfetch, int progress, void* reference);
typedef enum {
Desk_Export_result_OK = 0,
Desk_Export_result_RECEIVERFAILED,
Desk_Export_result_FILESAVERFAILED,
Desk_Export_result_RAMSAVERFAILED
}
Desk_Export_result;
typedef void (*Desk_Export_resulthandler)(Desk_Export_result result, void *reference);
void Desk_Export_ExportData(
Desk_event_pollblock* event, 
Desk_mouse_block* mouse, 
const char* leafname,
Desk_Export_filesaver filesaver,
Desk_Export_ramsaver ramsaver,
Desk_Export_resulthandler resulthandler,
size_t estimatedsize,
int filetype,
void* reference
);
#endif
