/** Entry point from OS. * * /param argc The number of arguments in the string vector. * /param argv The argument string vector. * /return The return code to the OS */ int main(int argc, char** argv) { char messages[PATH_MAX]; setbuf(stderr, NULL); setbuf(stdout, NULL); #ifdef WITH_DBG_LOGFILE freopen("stdout.log", "a+", stdout); freopen("stderr.log", "a+", stderr); #endif graf_mouse(BUSY_BEE, NULL); init_app(NULL); init_os_info(); atari_find_resource((char*)&messages, "messages", "res/messages"); atari_find_resource((char*)&options, "Choices", "Choices"); LOG(("Initialising core...")); netsurf_init(&argc, &argv, options, messages); LOG(("Initializing GUI...")); gui_init(argc, argv); LOG(("Initializing GUI2")); gui_init2(argc, argv); graf_mouse( ARROW , NULL); LOG(("Creating initial browser window...")); browser_window_create(option_homepage_url, 0, 0, true, false); LOG(("Entering NetSurf mainloop...")); netsurf_main_loop(); netsurf_exit(); LOG(("ApplExit")); #ifdef WITH_DBG_LOGFILE fclose(stdout); fclose(stderr); #endif exit_gem(); return 0; }
static nsurl *gui_get_resource_url(const char *path) { char buf[PATH_MAX]; nsurl *url = NULL; atari_find_resource((char*)&buf, path, path); netsurf_path_to_nsurl(buf, &url); return url; }
nsurl *gui_get_resource_url(const char *path) { char buf[PATH_MAX]; char *raw; nsurl *url = NULL; atari_find_resource((char*)&buf, path, path); raw = path_to_url((char*)&buf); if (raw != NULL) { nsurl_create(raw, &url); free(raw); } return url; }
static void gui_init(int argc, char** argv) { char buf[PATH_MAX]; OBJECT * cursors; atari_find_resource(buf, "netsurf.rsc", "./res/netsurf.rsc"); LOG(("%s ", (char*)&buf)); if (rsrc_load(buf)==0) { die("Uable to open GEM Resource file!"); } wind_get_grect(0, WF_WORKXYWH, &desk_area); create_cursor(0, POINT_HAND, NULL, &gem_cursors.hand ); create_cursor(0, TEXT_CRSR, NULL, &gem_cursors.ibeam ); create_cursor(0, THIN_CROSS, NULL, &gem_cursors.cross); create_cursor(0, BUSY_BEE, NULL, &gem_cursors.wait); create_cursor(0, ARROW, NULL, &gem_cursors.arrow); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizeall); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenesw); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenwse); cursors = gemtk_obj_get_tree(CURSOR); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_APPSTART, cursors, &gem_cursors.appstarting); gem_set_cursor( &gem_cursors.appstarting ); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZEWE, cursors, &gem_cursors.sizewe); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZENS, cursors, &gem_cursors.sizens); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_NODROP, cursors, &gem_cursors.nodrop); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_DENY, cursors, &gem_cursors.deny); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_MENU, cursors, &gem_cursors.menu); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_HELP, cursors, &gem_cursors.help); LOG(("Enabling core select menu")); nsoption_set_bool(core_select_menu, true); LOG(("Loading url.db from: %s", nsoption_charp(url_file) )); if( strlen(nsoption_charp(url_file)) ) { urldb_load(nsoption_charp(url_file)); } LOG(("Loading cookies from: %s", nsoption_charp(cookie_file) )); if( strlen(nsoption_charp(cookie_file)) ) { urldb_load_cookies(nsoption_charp(cookie_file)); } if (process_cmdline(argc,argv) != true) die("unable to process command line.\n"); LOG(("Initializing NKC...")); nkc_init(); LOG(("Initializing plotters...")); plot_init(nsoption_charp(atari_font_driver)); tree_set_icon_dir(nsoption_charp(tree_icons_path)); aes_event_in.emi_m1leave = MO_LEAVE; aes_event_in.emi_m1.g_w = 1; aes_event_in.emi_m1.g_h = 1; //next_poll = clock() + (CLOCKS_PER_SEC>>3); }
/** * Initialise atari gui. */ static void gui_init(int argc, char** argv) { char buf[PATH_MAX]; OBJECT * cursors; atari_find_resource(buf, "netsurf.rsc", "./res/netsurf.rsc"); LOG("Using RSC file: %s ", (char *)&buf); if (rsrc_load(buf)==0) { char msg[1024]; snprintf(msg, 1024, "Unable to open GEM Resource file (%s)!", buf); die(msg); } wind_get_grect(0, WF_WORKXYWH, &desk_area); create_cursor(0, POINT_HAND, NULL, &gem_cursors.hand ); create_cursor(0, TEXT_CRSR, NULL, &gem_cursors.ibeam ); create_cursor(0, THIN_CROSS, NULL, &gem_cursors.cross); create_cursor(0, BUSY_BEE, NULL, &gem_cursors.wait); create_cursor(0, ARROW, NULL, &gem_cursors.arrow); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizeall); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenesw); create_cursor(0, OUTLN_CROSS, NULL, &gem_cursors.sizenwse); cursors = gemtk_obj_get_tree(CURSOR); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_APPSTART, cursors, &gem_cursors.appstarting); gem_set_cursor( &gem_cursors.appstarting ); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZEWE, cursors, &gem_cursors.sizewe); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_SIZENS, cursors, &gem_cursors.sizens); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_NODROP, cursors, &gem_cursors.nodrop); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_DENY, cursors, &gem_cursors.deny); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_MENU, cursors, &gem_cursors.menu); create_cursor(MFORM_EX_FLAG_USERFORM, CURSOR_HELP, cursors, &gem_cursors.help); LOG("Enabling core select menu"); nsoption_set_bool(core_select_menu, true); LOG("Loading url.db from: %s", nsoption_charp(url_file)); if( strlen(nsoption_charp(url_file)) ) { urldb_load(nsoption_charp(url_file)); } LOG("Loading cookies from: %s", nsoption_charp(cookie_file)); if( strlen(nsoption_charp(cookie_file)) ) { urldb_load_cookies(nsoption_charp(cookie_file)); } if (process_cmdline(argc,argv) != true) die("unable to process command line.\n"); LOG("Initializing NKC..."); nkc_init(); LOG("Initializing plotters..."); plot_init(nsoption_charp(atari_font_driver)); aes_event_in.emi_m1leave = MO_LEAVE; aes_event_in.emi_m1.g_w = 1; aes_event_in.emi_m1.g_h = 1; //next_poll = clock() + (CLOCKS_PER_SEC>>3); deskmenu_init(); menu_register( -1, theapp); if (sys_type() & (SYS_MAGIC|SYS_NAES|SYS_XAAES)) { menu_register( _AESapid, (char*)" NetSurf "); } gemtk_wm_init(); /* Initialize the specific treeview windows: */ atari_global_history_init(); atari_hotlist_init(); atari_cookie_manager_init(); /* Initialize the toolbar framework: */ toolbar_init(); }
/** * Entry point from OS. * * /param argc The number of arguments in the string vector. * /param argv The argument string vector. * /return The return code to the OS */ int main(int argc, char** argv) { char messages[PATH_MAX]; char store[PATH_MAX]; const char *addr; char * file_url = NULL; struct stat stat_buf; nsurl *url; nserror ret; struct netsurf_table atari_table = { .misc = &atari_misc_table, .window = &atari_window_table, .clipboard = &atari_clipboard_table, .download = atari_download_table, .fetch = &atari_fetch_table, .file = atari_file_table, .utf8 = atari_utf8_table, .search = atari_search_table, .llcache = filesystem_llcache_table, .bitmap = atari_bitmap_table, .layout = atari_layout_table }; ret = netsurf_register(&atari_table); if (ret != NSERROR_OK) { die("NetSurf operation table failed registration"); } /** @todo logging file descriptor update belongs in a nslog_init callback */ setbuf(stderr, NULL); setbuf(stdout, NULL); #ifdef WITH_DBG_LOGFILE freopen("stdout.log", "a+", stdout); freopen("stderr.log", "a+", stderr); #endif graf_mouse(BUSY_BEE, NULL); init_app(NULL); init_os_info(); atari_find_resource((char*)&messages, "messages", "res/messages"); atari_find_resource((char*)&options, "Choices", "Choices"); atari_find_resource((char*)&store, "cache", "res/cache"); /* initialise logging - not fatal if it fails but not much we can * do about it */ nslog_init(NULL, &argc, argv); /* user options setup */ ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default); if (ret != NSERROR_OK) { die("Options failed to initialise"); } nsoption_read(options, NULL); nsoption_commandline(&argc, argv, NULL); ret = messages_add_from_file(messages); /* common initialisation */ LOG("Initialising core..."); ret = netsurf_init(store); if (ret != NSERROR_OK) { die("NetSurf failed to initialise"); } LOG("Initializing GUI..."); gui_init(argc, argv); graf_mouse( ARROW , NULL); LOG("Creating initial browser window..."); addr = option_homepage_url; if (strncmp(addr, "file://", 7) && strncmp(addr, "http://", 7)) { if (stat(addr, &stat_buf) == 0) { file_url = local_file_to_url(addr); addr = file_url; } } /* create an initial browser window */ ret = nsurl_create(addr, &url); if (ret == NSERROR_OK) { ret = browser_window_create(BW_CREATE_HISTORY, url, NULL, NULL, NULL); nsurl_unref(url); } if (ret != NSERROR_OK) { atari_warn_user(messages_get_errorcode(ret), 0); } else { LOG("Entering Atari event mainloop..."); while (!atari_quit) { atari_poll(); } } netsurf_exit(); free(file_url); #ifdef WITH_DBG_LOGFILE fclose(stdout); fclose(stderr); #endif LOG("exit_gem"); exit_gem(); return 0; }