From 6365055734f6813900e0767b6a1149d56e5b325a Mon Sep 17 00:00:00 2001 From: luc lebosse Date: Sat, 18 Apr 2015 19:59:22 +0800 Subject: [PATCH] Move page Handle definition to class constructor to avoid to setup handle function for web requests in main setup - define handles function in class creator --- esp8266/datainterface.cpp | 8 ++++++++ esp8266/esp8266.ino | 4 ---- esp8266/webinterface.cpp | 8 ++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/esp8266/datainterface.cpp b/esp8266/datainterface.cpp index dadf2b09..17309cbb 100644 --- a/esp8266/datainterface.cpp +++ b/esp8266/datainterface.cpp @@ -24,8 +24,16 @@ #include #include +//cannot put it in class then cast it as std::function so put outside +void handle_data_interface_root() +{ + data_interface.WebServer.send(200, "text/plain", "hello from esp8266 from port 8888 "); +} + DATAINTERFACE_CLASS::DATAINTERFACE_CLASS (int port):WebServer(port) { + //init what will handle "/" + WebServer.on("/",HTTP_GET, handle_data_interface_root); } DATAINTERFACE_CLASS data_interface(8888); diff --git a/esp8266/esp8266.ino b/esp8266/esp8266.ino index 7c1f1f5d..9f5c065b 100644 --- a/esp8266/esp8266.ino +++ b/esp8266/esp8266.ino @@ -75,10 +75,6 @@ void setup() { //setup wifi according settings wifi_config.Setup(); delay(1000); - //define interfaces - //TODO move this to class - web_interface.WebServer.on("/", [](){web_interface.WebServer.send(200, "text/plain", "this works as well - port 80");}); - data_interface.WebServer.on("/", [](){data_interface.WebServer.send(200, "text/plain", "this works as well - port 8888");}); //start interfaces web_interface.WebServer.begin(); data_interface.WebServer.begin(); diff --git a/esp8266/webinterface.cpp b/esp8266/webinterface.cpp index 1c1314a3..06c815c6 100644 --- a/esp8266/webinterface.cpp +++ b/esp8266/webinterface.cpp @@ -24,8 +24,16 @@ #include #include +//cannot put it in class then cast it as std::function so put outside +void handle_web_interface_root() +{ + web_interface.WebServer.send(200, "text/plain", "hello from esp8266 from port 80!"); +} + WEBINTERFACE_CLASS::WEBINTERFACE_CLASS (int port):WebServer(port) { + //init what will handle "/" + WebServer.on("/",HTTP_GET, handle_web_interface_root); } WEBINTERFACE_CLASS web_interface(80);