From 78d183d03ccd867e29858af1c8e813546140af1a Mon Sep 17 00:00:00 2001 From: anschrammh Date: Wed, 3 Apr 2019 07:58:42 +0200 Subject: [PATCH] Added webApi integration, needs a lot of improvement aka not stable --- src/app/WEBServerManager.cpp | 13 ++++++++----- src/app/WEBServerManager.h | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/app/WEBServerManager.cpp b/src/app/WEBServerManager.cpp index 141707d..7740df3 100644 --- a/src/app/WEBServerManager.cpp +++ b/src/app/WEBServerManager.cpp @@ -8,7 +8,7 @@ WEBServerManager::WEBServerManager(unsigned int port, SDCardManager *sdCardManag _wifiServer.begin(); } -boolean WEBServerManager::addApiRoutine(const char *uri, boolean (*apiRoutine)(HttpRequestData&, WiFiClient& , void*), void *pData, HttpRequestMethod HRM) +boolean WEBServerManager::addApiRoutine(const char *uri, boolean (*apiRoutine)(HttpRequestData&, WiFiClient* , void*), void *pData, HttpRequestMethod HRM) { return _apiDictionary.add(uri,new ApiRoutine({apiRoutine,pData, HRM})); } @@ -56,7 +56,9 @@ boolean WEBServerManager::runServer() #endif //We first check if it s an api call if(!sendPageToClientFromApiDictio(&_wifiClient)) + { sendPageToClientFromSdCard(&_wifiClient); + } _clientState = RESPONSE_SENT; break; case RESPONSE_SENT: @@ -323,18 +325,19 @@ boolean WEBServerManager::sendPageToClientFromApiDictio(WiFiClient *wifiClient) { if(_apiDictionary.count() == 0) return false; - + Serial.println("___1"); ApiRoutine *ref = _apiDictionary(_httpRequestData.httpResource).getValueRef(); - + Serial.println("___2"); if(ref == NULL) return false; if(ref->HRM == UNDEFINED) { - return (*ref->apiRoutine)(_httpRequestData, *wifiClient, ref->pData); + Serial.println("___3"); + return (*ref->apiRoutine)(_httpRequestData, wifiClient, ref->pData); }else if(ref->HRM == _httpRequestData.HRM) { - return (*ref->apiRoutine)(_httpRequestData, *wifiClient, ref->pData); + return (*ref->apiRoutine)(_httpRequestData, wifiClient, ref->pData); } else return false; diff --git a/src/app/WEBServerManager.h b/src/app/WEBServerManager.h index 23bcc93..9ec3e53 100644 --- a/src/app/WEBServerManager.h +++ b/src/app/WEBServerManager.h @@ -29,14 +29,14 @@ class WEBServerManager boolean runServer(); unsigned int getPort() const; - boolean addApiRoutine(const char *uri, boolean (*apiRoutine)(HttpRequestData&, WiFiClient&, void*), void *pData, HttpRequestMethod HRM = UNDEFINED); + boolean addApiRoutine(const char *uri, boolean (*apiRoutine)(HttpRequestData&, WiFiClient*, void*), void *pData, HttpRequestMethod HRM = UNDEFINED); void clearApiRoutine(); boolean removeApiRoutine(const char *uri); protected: private: struct ApiRoutine { - boolean (*apiRoutine)(HttpRequestData&, WiFiClient&, void*); + boolean (*apiRoutine)(HttpRequestData&, WiFiClient*, void*); void *pData; HttpRequestMethod HRM; };