summaryrefslogtreecommitdiff
path: root/frontends/kolibrios/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/kolibrios/main.c')
-rw-r--r--frontends/kolibrios/main.c314
1 files changed, 0 insertions, 314 deletions
diff --git a/frontends/kolibrios/main.c b/frontends/kolibrios/main.c
deleted file mode 100644
index 818e5b025..000000000
--- a/frontends/kolibrios/main.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#include <stdbool.h>
-#include <sys/types.h>
-
-#include "kolibrios/kolibri_debug.h"
-#include "kolibrios/kolibri_gui.h"
-
-#include "utils/errors.h"
-
-#include "utils/messages.h"
-#include "utils/filepath.h"
-#include "utils/nsoption.h"
-#include "utils/nsurl.h"
-
-#include "netsurf/window.h"
-#include "netsurf/misc.h"
-#include "netsurf/netsurf.h"
-#include "netsurf/bitmap.h"
-#include "netsurf/plot_style.h"
-
-#include "utils/file.h"
-#include "netsurf/utf8.h"
-#include "netsurf/search.h"
-#include "content/backing_store.h"
-
-#include "kolibrios/kolibri_http.h"
-#include <libnsfb.h>
-#include <libnsfb_plot.h>
-#include <libnsfb_event.h>
-
-#include "utils/utils.h"
-#include "utils/nsoption.h"
-#include "utils/filepath.h"
-#include "utils/log.h"
-#include "utils/messages.h"
-#include "desktop/textinput.h"
-#include "desktop/browser_history.h"
-
-#include "kolibrios/fb/gui.h"
-#include "kolibrios/fb/fbtk.h"
-#include "kolibrios/fb/framebuffer.h"
-#include "kolibrios/fb/schedule.h"
-#include "kolibrios/fb/findfile.h"
-#include "kolibrios/fb/image_data.h"
-#include "kolibrios/fb/font.h"
-#include "kolibrios/fb/clipboard.h"
-#include "kolibrios/fb/fetch.h"
-#include "kolibrios/fb/bitmap.h"
-
-/**************************************************
-Make life easier with these path specifiers here.
-***************************************************/
-/* #define KOLIBRI_FONTFILE "/usbhd0/1/kolibrios/res/sans.ttf" */
-/* #define KOLIBRI_RESPATH "/usbhd0/1/kolibrios/res/" */
-/* #define FILE_KOLIBRI_RESPATH "file:///usbhd0/1/kolibrios/res/" */
-/************************************************/
-
-char **respaths; /** resource search path vector */
-
-extern struct gui_browser_table framebuffer_browser_table;
-extern struct gui_window_table framebuffer_window_table ;
-extern struct gui_clipboard_table *framebuffer_clipboard_table ;
-extern struct gui_fetch_table *framebuffer_fetch_table ;
-extern struct gui_utf8_table *framebuffer_utf8_table ;
-extern struct gui_bitmap_table *framebuffer_bitmap_table ;
-
-extern const char *fename;
-extern int febpp;
-extern int fewidth;
-extern int feheight;
-extern const char *feurl;
-extern bool nslog_stream_configure(FILE *fptr);
-extern struct fbtk_bitmap pointer_image;
-extern fbtk_widget_t *fbtk;
-
-static void die(const char *error)
-{
- debug_board_write_str(error);
- debug_board_write_str('\n');
- exit(1);
-}
-
-/* Inspired from monkey, but without the GTK bloat */
-static char **nskolibri_init_resource(const char *resource_path)
-{
- char **langv = {"de", "en_US", "en", "C"};
- char **pathv; /* resource path string vector */
- char **respath; /* resource paths vector */
-
- pathv = filepath_path_to_strvec(resource_path);
- respath = filepath_generate(pathv, langv);
- filepath_free_strvec(pathv);
-
- return respath;
-}
-
-static nserror set_defaults(struct nsoption_s *defaults)
-{
- /* Set defaults for absent option strings */
- nsoption_setnull_charp(cookie_file, *respaths);
- nsoption_setnull_charp(cookie_jar, *respaths);
- //TODO: This creates an nsoptions error in macro expansion...
-
- return NSERROR_OK;
-}
-
-/**
- * Main entry point from Kolibri OS.
- */
-extern struct http_msg;
-
-static struct gui_misc_table framebuffer_misc_table = {
- .schedule = framebuffer_schedule,
- .warning = fb_warn_user,
-
- .quit = gui_quit,
-};
-
-int
-main(int argc, char** argv)
-{
- struct browser_window *bw;
- char *options;
- char *messages;
- nsurl *url;
- nserror ret;
- nsfb_t *nsfb;
-
- struct netsurf_table kolibrios_table = {
- .misc = &kolibrios_misc_table,
- .window = &kolibrios_window_table,
- .clipboard = kolibrios_clipboard_table,
- .fetch = kolibrios_fetch_table,
- .utf8 = kolibrios_utf8_table,
- .bitmap = kolibrios_bitmap_table,
- .layout = kolibrios_layout_table,
- };
-
- /* Initialize HTTP Library */
- ret = kolibri_http_init();
- if (ret == 0)
- debug_board_write_str("Netsurf: KolibriOS HTTP Library Initialized.\n");
- else {
- debug_board_write_str("Netsurf: HTTP Library initialization failed..\n");
- return ret;
- }
-
- /* Initialize BoxLib Library for GUI textboxes, etc */
- ret = kolibri_gui_init();
- if (ret == 0)
- debug_board_write_str("Netsurf: KolibriOS BOXLIB Library Initialized.\n");
- else {
- debug_board_write_str("Netsurf: BOXLIB Library initialization failed..\n");
- return ret;
- }
-
- /* End of KolibriOS specific libraries initialization phase */
- debug_board_write_str("Netsurf: Trying to register nskolibri_table.\n");
-
- ret = netsurf_register(&kolibrios_table);
- if (ret != NSERROR_OK) {
- die("NetSurf operation table failed registration");
- }
-
- /* Drop the last slash if caller provided it. */
-
- char current_dir[100];
- int i = 0;
-
- for(i = strlen(argv[0]); i>=0; i--)
- {
- if(argv[0][i]=='/') {
- strncpy(current_dir, argv[0], i+1);
- i++;
- current_dir[i++] = 'r';
- current_dir[i++] = 'e';
- current_dir[i++] = 's';
- current_dir[i++] = '\0';
- break;
- }
- }
-
-
- respaths = (char **) malloc(sizeof(char **));
- *respaths = malloc(i);
- strcpy(*respaths, current_dir);
-
- debug_board_write_str("\nCWD: ");
- debug_board_write_str(*respaths);
- debug_board_write_str("\n");
-
- /* __asm__ __volatile__("int3"); */
-
- /* initialise logging. Not fatal if it fails but not much we
- * can do about it either.
- */
- nslog_init(nslog_stream_configure, &argc, argv);
-
- /* user options setup */
- ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default);
- if (ret != NSERROR_OK) {
- die("Options failed to initialise");
- }
- options = filepath_find(respaths, "Choices");
- nsoption_read(options, nsoptions);
- free(options);
- nsoption_commandline(&argc, argv, nsoptions);
-
- /* message init */
- messages = filepath_find(respaths, "Messages");
- ret = messages_add_from_file(messages);
- free(messages);
- if (ret != NSERROR_OK) {
- debug_board_write_str("Message translations failed to load\n");
- }
-
- /* common initialisation */
- ret = netsurf_init(NULL);
- if (ret != NSERROR_OK) {
- die("NetSurf failed to initialise");
- }
-
- /* Override, since we have no support for non-core SELECT menu */
- nsoption_set_bool(core_select_menu, true);
- /* Do we really need to parse command line in KolibriOS?
- Most users will use the GUI to trigger NS .
- TODO: Look at this later.
- */
-
- /* if (process_cmdline(argc,argv) != true) */
- /* die("unable to process command line.\n"); */
-
- /* Move the initialization stuff from process_cmdline() to here */
- /* fename = "sdl"; */
-
- extern nsfb_surface_rtns_t kolibri_rtns;
- _nsfb_register_surface(NSFB_SURFACE_KOLIBRI, &kolibri_rtns, "kolibri");
-
- extern nsfb_surface_rtns_t ram_rtns;
- _nsfb_register_surface(NSFB_SURFACE_RAM, &ram_rtns, "ram");
-
- /* fewidth = nsoption_int(window_width); */
- /* if (fewidth <= 0) { */
- /* fewidth = 800; */
- /* } */
-
- /* feheight = nsoption_int(window_height); */
- /* if (feheight <= 0) { */
- /* feheight = 600; */
- /* } */
-
- fename = "kolibri";
- febpp = 32;
- fewidth = 800;
- feheight = 600;
-
- // feurl = "board.kolibrios.org/ucp.php?i=pm&mode=compose";
- feurl = "ashmew2.me";
- /* feurl = "kolibrios.org"; */
- /* feurl = "file://usbhd0/1/kolibrios/res/welcome.html"; */
- nsfb = framebuffer_initialise(fename, fewidth, feheight, febpp);
- if (nsfb == NULL)
- die("Unable to initialise framebuffer");
-
- framebuffer_set_cursor(&pointer_image);
-
- if (fb_font_init() == false)
- die("Unable to initialise the font system");
-
- fbtk = fbtk_init(nsfb);
-
- fbtk_enable_oskb(fbtk);
-
- urldb_load_cookies(nsoption_charp(cookie_file));
-
- /* create an initial browser window */
-
- debug_board_write_str("calling browser_window_create\n");
-
- ret = nsurl_create(feurl, &url);
- if (ret == NSERROR_OK) {
- ret = browser_window_create(BW_CREATE_HISTORY,
- url,
- NULL,
- NULL,
- &bw);
- nsurl_unref(url);
- }
-
- if (ret != NSERROR_OK) {
- warn_user(messages_get_errorcode(ret), 0);
- } else {
- debug_board_write_str("calling framebuffer run\n");
-
- framebuffer_run();
-
- debug_board_write_str("framebuffer run returned. \n");
-
- debug_board_write_str("Killing browser window.\n");
- browser_window_destroy(bw);
- }
-
- debug_board_write_str("Calling netsurf_exit()\n");
- netsurf_exit();
-
- if (fb_font_finalise() == false)
- LOG("Font finalisation failed.");
-
- /* finalise options */
- nsoption_finalise(nsoptions, nsoptions_default);
-
- free(*respaths);
- free(respaths);
- return 0;
-}