RESOW_DECL_METHOD(setup_create_form,env,resp,db) { gchar *path; gchar *appname; resow_application_t *app; request_cgi_env_t env_a; GSList *i; path=http_response_html_escape_string(HTTP_QUERY_PARAMETER(env, "path")); appname=http_response_html_escape_string(HTTP_QUERY_PARAMETER(env, "app")); memset(&env_a, 0, sizeof(request_cgi_env_t)); app = application_load(appname, &env_a); if (app==NULL) { return HTTP_STATUS_BAD_REQUEST; } stream_open(resp, HTTP_STATUS_OK, 1); stream_printf(resp, "<html><head><title>Define new parameter for %s (at %s)</title></head>\n", app, path); stream_printf(resp, "<body>\n"); stream_printf(resp, "<h1>Define new parameter for %s (at %s)</h1>\n", appname, path); stream_printf(resp, "<table><form method=\"POST\">\n"); stream_printf(resp, "<tr><th></th><th>Parameter</th><th>Value</th></tr>\n"); stream_printf(resp, "<tr><td><input type=\"hidden\" name=\"path\" value=\"%s\"></input><input type=\"hidden\" name=\"app\" value=\"%s\"></input></td>\n", path, appname); i = app->parameters; stream_printf(resp, "<td><select name=\"param\"%s>\n", i==NULL? " disabled" : ""); while (i!=NULL) { stream_printf(resp, "\t<option>%s</option>\n", i->data); i=i->next; } stream_printf(resp, "</select></td>\n"); stream_printf(resp, "<td><input type=\"text\" name=\"value\"></input></td>\n"); stream_printf(resp, "</tr>\n"); stream_printf(resp, "<tr><td></td><td><input type=\"submit\" value=\"Add\"></td></td></tr>\n"); stream_printf(resp, "</form></table>\n"); if (app->parameters==NULL) stream_printf(resp, "<p>There are no parameters to set in application <tt>%s</tt></p>\n", app->name); stream_printf(resp, "</body></html>\n"); stream_close(resp); application_unload(app); g_free(path); g_free(appname); return HTTP_STATUS_OK; }
static void load_app(intptr_t unused) { ER ercd; on_display_fb = lcd_screen_fb; application_unload(); platform_pause_application(true); ercd = application_load_menu(); memset(lcd_screen_fb->pixels, 0, BITMAP_PIXELS_SIZE(lcd_screen_fb->width, lcd_screen_fb->height)); on_display_fb = ev3rt_console_fb; if (ercd == E_OK) { ev3rt_console_start_app(); } else { platform_pause_application(false); } }