static esp_err_t event_handler(void *ctx, system_event_t *event) { httpd_handle_t *server = (httpd_handle_t *) ctx; switch(event->event_id) { case SYSTEM_EVENT_STA_START: ESP_LOGI(TAG, "SYSTEM_EVENT_STA_START"); ESP_ERROR_CHECK(esp_wifi_connect()); break; case SYSTEM_EVENT_STA_GOT_IP: ESP_LOGI(TAG, "SYSTEM_EVENT_STA_GOT_IP"); ESP_LOGI(TAG, "Got IP: '%s'", ip4addr_ntoa(&event->event_info.got_ip.ip_info.ip)); /* Start the web server */ if (*server == NULL) { *server = start_webserver(); } break; case SYSTEM_EVENT_STA_DISCONNECTED: ESP_LOGI(TAG, "SYSTEM_EVENT_STA_DISCONNECTED"); ESP_ERROR_CHECK(esp_wifi_connect()); /* Stop the web server */ if (*server) { stop_webserver(*server); *server = NULL; } break; default: break; } return ESP_OK; }
void destroy (GtkWidget *widget, gpointer data) { stop_webserver(); end_camera(); gtk_main_quit(); }
static void on_btnSave_clicked(GtkWidget *button, gpointer userdata) { gint server_port_int = g_ascii_strtod(gtk_entry_get_text(GTK_ENTRY(txtServerPort)), NULL); if( (server_port_int < 1024) || (server_port_int > 32766) ) { GtkWidget *failDialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Bad server port value.\nServer port must be between 1024 and 32766."); gtk_dialog_run (GTK_DIALOG (failDialog)); gtk_widget_destroy (failDialog); return; } gint update_interval_int = g_ascii_strtod(gtk_entry_get_text(GTK_ENTRY(txtUpdateInterval)), NULL); if( (update_interval_int < 1) || (update_interval_int > 1000000) ) { GtkWidget *failDialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Bad update interval entered. Please enter a value between 1 and 1000000\n"); gtk_dialog_run (GTK_DIALOG (failDialog)); gtk_widget_destroy (failDialog); return; } stop_webserver(); save_settings(); load_settings(); start_webserver(); gtk_widget_destroy(button); }
//----------------------------------------------------------------------------- // Main Webserver call //----------------------------------------------------------------------------- void Cyhttpd::run() { if (webserver) { if (flag_threading_off) webserver->is_threading = false; webserver->run(); stop_webserver(); } else aprintf("Error initializing WebServer\n"); }