summaryrefslogtreecommitdiff
path: root/beos/beos_filetype.cpp
diff options
context:
space:
mode:
authorFrançois Revel <mmu_man@netsurf-browser.org>2012-03-22 21:48:24 +0000
committerFrançois Revel <mmu_man@netsurf-browser.org>2012-03-22 21:48:24 +0000
commita66adbbfefcc61f4f577b80398a9a0d8941b8441 (patch)
treeb6f6fafc52ec3e0c3d3aff2e7123058b49ec5d69 /beos/beos_filetype.cpp
parent974f53679449da36b10bdccb3241b1f36f0f1936 (diff)
downloadnetsurf-a66adbbfefcc61f4f577b80398a9a0d8941b8441.tar.gz
netsurf-a66adbbfefcc61f4f577b80398a9a0d8941b8441.tar.bz2
Rename BeOS frontend files to strip the useless beos_ prefix. Fix includes and the rest so it builds.
svn path=/trunk/netsurf/; revision=13554
Diffstat (limited to 'beos/beos_filetype.cpp')
-rw-r--r--beos/beos_filetype.cpp143
1 files changed, 0 insertions, 143 deletions
diff --git a/beos/beos_filetype.cpp b/beos/beos_filetype.cpp
deleted file mode 100644
index d8920902d..000000000
--- a/beos/beos_filetype.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2008 François Revol <mmu_man@users.sourceforge.net>
- *
- * 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/>.
- */
-
-#define __STDBOOL_H__ 1
-#include <stdbool.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <Mime.h>
-#include <NodeInfo.h>
-#include <String.h>
-
-extern "C" {
-#include "content/fetch.h"
-#include "utils/log.h"
-#include "utils/hashtable.h"
-#include "utils/utils.h"
-}
-
-#include "beos/beos_filetype.h"
-
-static struct {
- const char *type;
- const char *ext1;
- const char *ext2;
-} default_types[] = {
- { "text/plain", "txt", NULL },
- { "text/html", "htm", "html" },
- { "text/css", "css", NULL },
- { "image/gif", "gif", NULL },
- { "image/jpeg", "jpg", "jpeg" },
- { "image/png", "png", NULL },
- { "image/jng", "jng", NULL },
- { NULL, NULL, NULL }
-};
-
-void beos_fetch_filetype_init(void)
-{
- BMimeType m;
- status_t err;
- int i;
-
- // make sure we have basic mime types in the database
- for (i = 0; default_types[i].type; i++) {
- if (m.SetTo(default_types[i].type) < B_OK)
- continue;
- if (m.IsInstalled())
- continue;
- err = m.Install();
- if (err < B_OK) {
- warn_user("Mime", strerror(err));
- continue;
- }
- // the mime db doesn't know about it yet
- BMessage extensions(0UL);
- if (default_types[i].ext1)
- extensions.AddString("extensions", default_types[i].ext1);
- if (default_types[i].ext2)
- extensions.AddString("extensions", default_types[i].ext2);
- err = m.SetFileExtensions(&extensions);
- if (err < B_OK) {
- warn_user("Mime", strerror(err));
- }
- }
-}
-
-void beos_fetch_filetype_fin(void)
-{
-}
-
-const char *fetch_filetype(const char *unix_path)
-{
- struct stat statbuf;
- status_t err;
- int i;
- // NOT THREADSAFE
- static char type[B_MIME_TYPE_LENGTH];
-
- // override reading the mime type for known types
- // avoids getting CSS files as text/x-source-code
- // even though it's the mime sniffer rules that should be fixed.
- BString ext(unix_path);
- ext.Remove(0, ext.FindLast('.') + 1);
- for (i = 0; default_types[i].type; i++) {
- if (ext == default_types[i].ext1)
- return default_types[i].type;
- if (ext == default_types[i].ext2)
- return default_types[i].type;
- }
-
- BEntry entry(unix_path, true);
- BNode node(&entry);
- err = node.InitCheck();
- if (err < B_OK)
- return "text/plain";
-
- if (node.IsDirectory())
- return "application/x-netsurf-directory";
-
- BNodeInfo info(&node);
- err = info.InitCheck();
- if (err < B_OK)
- return "test/plain";
-
- err = info.GetType(type);
- if (err < B_OK) {
- // not there yet, sniff and retry
- err = update_mime_info(unix_path, false, true, false);
- if (err < B_OK)
- return "text/plain";
- err = info.GetType(type);
- if (err < B_OK)
- return "text/plain";
- }
-
- return type;
-}
-
-char *fetch_mimetype(const char *unix_path)
-{
- return strdup(fetch_filetype(unix_path));
-}
-