static void nav_eventsink(void *opaque, prop_event_t event, ...) { navigator_t *nav = opaque; event_t *e; event_openurl_t *ou; va_list ap; va_start(ap, event); if(event != PROP_EXT_EVENT) return; e = va_arg(ap, event_t *); if(event_is_action(e, ACTION_NAV_BACK)) { nav_back(nav); } else if(event_is_action(e, ACTION_NAV_FWD)) { nav_fwd(nav); } else if(event_is_action(e, ACTION_HOME)) { nav_open0(nav, NAV_HOME, NULL, NULL); } else if(event_is_action(e, ACTION_RELOAD_DATA)) { nav_reload_current(nav); } else if(event_is_type(e, EVENT_OPENURL)) { ou = (event_openurl_t *)e; if(ou->url != NULL) nav_open0(nav, ou->url, ou->view, ou->origin); else TRACE(TRACE_INFO, "Navigator", "Tried to open NULL URL"); } }
static void nav_eventsink(void *opaque, prop_event_t event, ...) { navigator_t *nav = opaque; event_t *e; event_openurl_t *ou; va_list ap; va_start(ap, event); if(event != PROP_EXT_EVENT) return; e = va_arg(ap, event_t *); if(event_is_action(e, ACTION_NAV_BACK)) { nav_back(nav); } else if(event_is_action(e, ACTION_NAV_FWD)) { nav_fwd(nav); } else if(event_is_action(e, ACTION_HOME)) { nav_open0(nav, NAV_HOME, NULL, NULL); } else if(event_is_type(e, EVENT_OPENURL)) { ou = (event_openurl_t *)e; nav_open0(nav, ou->url, ou->view, ou->origin); } }