diff options
author | Vincent Sanders <vince@kyllikki.org> | 2016-05-05 22:28:51 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2016-05-15 13:44:34 +0100 |
commit | d21447d096a320a08b3efb2b8768fad0dcdcfd64 (patch) | |
tree | 1a83814b7c9e94b2f13c473261f23dd3a17dee64 /cocoa/fetch.m | |
parent | 2cbb337756d9af5bda4d594964d446439f602551 (diff) | |
download | netsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.gz netsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.bz2 |
move frontends into sub directory
Diffstat (limited to 'cocoa/fetch.m')
-rw-r--r-- | cocoa/fetch.m | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/cocoa/fetch.m b/cocoa/fetch.m deleted file mode 100644 index 1c36bb8a5..000000000 --- a/cocoa/fetch.m +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2011 Sven Weidauer <sven.weidauer@gmail.com> - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * NetSurf is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#import <Cocoa/Cocoa.h> - -#import "utils/log.h" -#import "utils/nsurl.h" -#import "desktop/gui_fetch.h" - -#import "cocoa/fetch.h" - -static char cocoafiletype[200]; - -static const struct mimemap_s { - const char const *extension; - const char const *mimetype; -} cocoamimemap[] = { - { "css", "text/css" }, - { "f79", "text/css" }, - { "jpg", "image/jpeg" }, - { "jpeg", "image/jpeg" }, - { "gif", "image/gif" }, - { "png", "image/png" }, - { "b60", "image/png" }, - { "jng", "image/jng" }, - { "svg", "image/svg" }, - { NULL, "text/html" } -}; - - -static const char *fetch_filetype(const char *unix_path) -{ - NSString *uti; - NSString *mimeType = nil; - NSError *utiError = nil; - - uti = [[NSWorkspace sharedWorkspace] typeOfFile: [NSString stringWithUTF8String: unix_path] error:&utiError]; - if (nil != uti) { - LOG("Looking for mimetype from uti \"%s\"", [uti UTF8String] ); - mimeType = (NSString *)UTTypeCopyPreferredTagWithClass( (CFStringRef)uti, kUTTagClassMIMEType ); - } else { - NSAlert *utiAlert = [NSAlert alertWithError:utiError]; - [utiAlert runModal]; // Ignore return value. - - LOG("uti call failed"); - - strncpy(cocoafiletype, "text/html", sizeof(cocoafiletype)); - return cocoafiletype; - } - - if (nil != mimeType) { - strncpy(cocoafiletype, [mimeType UTF8String], sizeof(cocoafiletype)); - [mimeType release]; - } else { - const char *extension; - - LOG("mimetype from uti failed"); - - extension = [(NSString *)UTTypeCopyPreferredTagWithClass( (CFStringRef)uti, kUTTagClassFilenameExtension) UTF8String]; - - if (extension == NULL) { - /* give up and go with default */ - LOG("No extension going with default type"); - strncpy(cocoafiletype, "text/html", sizeof(cocoafiletype)); } else { - int eidx = 0; /* index of extension entry */ - - while ((cocoamimemap[eidx].extension != NULL) && - (strcmp(cocoamimemap[eidx].extension, extension) != 0)) { - eidx++; - } - - strncpy(cocoafiletype, - cocoamimemap[eidx].mimetype, - sizeof(cocoafiletype)); - } - } - - LOG("\tMIME type for '%s' is '%s'", unix_path, cocoafiletype); - - return cocoafiletype; -} - -static nsurl *gui_get_resource_url(const char *path) -{ - nsurl *url = NULL; - NSString *nspath = [[NSBundle mainBundle] pathForResource: [NSString stringWithUTF8String: path] ofType: @""]; - if (nspath == nil) return NULL; - nsurl_create([[[NSURL fileURLWithPath: nspath] absoluteString] UTF8String], &url); - return url; -} - -static struct gui_fetch_table fetch_table = { - .filetype = fetch_filetype, - - .get_resource_url = gui_get_resource_url, -}; - -struct gui_fetch_table *cocoa_fetch_table = &fetch_table; |