From 8dfe22515312a8ecf4da974feb31b0f5e7f317e5 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 14 Jan 2014 16:04:02 +0000 Subject: move download operations to download table --- cocoa/DownloadWindowController.h | 2 ++ cocoa/DownloadWindowController.m | 17 +++++++++++++---- cocoa/NetsurfApp.m | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'cocoa') diff --git a/cocoa/DownloadWindowController.h b/cocoa/DownloadWindowController.h index b93c24c65..0d049da15 100644 --- a/cocoa/DownloadWindowController.h +++ b/cocoa/DownloadWindowController.h @@ -18,6 +18,7 @@ #import +struct gui_download_table *cocoa_gui_download_table; @interface DownloadWindowController : NSWindowController { struct download_context *context; @@ -50,3 +51,4 @@ - (void) abort; @end + diff --git a/cocoa/DownloadWindowController.m b/cocoa/DownloadWindowController.m index 82be52e51..634257008 100644 --- a/cocoa/DownloadWindowController.m +++ b/cocoa/DownloadWindowController.m @@ -327,7 +327,7 @@ static NSString *cocoa_time_string( unsigned seconds ) #pragma mark - #pragma mark NetSurf interface functions -struct gui_download_window *gui_download_window_create(download_context *ctx, +static struct gui_download_window *gui_download_window_create(download_context *ctx, struct gui_window *parent) { DownloadWindowController * const window = [[DownloadWindowController alloc] initWithContext: ctx]; @@ -338,21 +338,21 @@ struct gui_download_window *gui_download_window_create(download_context *ctx, return (struct gui_download_window *)window; } -nserror gui_download_window_data(struct gui_download_window *dw, +static nserror gui_download_window_data(struct gui_download_window *dw, const char *data, unsigned int size) { DownloadWindowController * const window = (DownloadWindowController *)dw; return [window receivedData: [NSData dataWithBytes: data length: size]] ? NSERROR_OK : NSERROR_SAVE_FAILED; } -void gui_download_window_error(struct gui_download_window *dw, +static void gui_download_window_error(struct gui_download_window *dw, const char *error_msg) { DownloadWindowController * const window = (DownloadWindowController *)dw; [window showError: [NSString stringWithUTF8String: error_msg]]; } -void gui_download_window_done(struct gui_download_window *dw) +static void gui_download_window_done(struct gui_download_window *dw) { DownloadWindowController * const window = (DownloadWindowController *)dw; [window downloadDone]; @@ -376,3 +376,12 @@ static void cocoa_unregister_download( DownloadWindowController *download ) [cocoa_all_downloads removeObject: download]; } + +static struct gui_download_table gui_download_table = { + .create = gui_download_window_create, + .data = gui_download_window_data, + .error = gui_download_window_error, + .done = gui_download_window_done, +}; + +struct gui_download_table *cocoa_gui_download_table = &gui_download_table; diff --git a/cocoa/NetsurfApp.m b/cocoa/NetsurfApp.m index 844904f1c..a64c99376 100644 --- a/cocoa/NetsurfApp.m +++ b/cocoa/NetsurfApp.m @@ -203,6 +203,8 @@ int main( int argc, char **argv ) nsoption_commandline(&argc, argv, NULL); /* common initialisation */ + cocoa_gui_table->download = cocoa_gui_download_table; + error = netsurf_init(messages, cocoa_gui_table); if (error != NSERROR_OK) { die("NetSurf failed to initialise"); -- cgit v1.2.3