449d3c91ce
* Add framework for built-time feature selection * Allow MQTT, NTP, OTA features to be disabled at build time * Allow Project screens to be disabled at build time * Allow security features to be disabled at build time * Switch to std::function for StatefulService function aliases for greater flexibility * Bump various UI lib versions * Update docs
38 lines
883 B
C++
38 lines
883 B
C++
#include <FeaturesService.h>
|
|
|
|
FeaturesService::FeaturesService(AsyncWebServer* server) {
|
|
server->on(FEATURES_SERVICE_PATH, HTTP_GET, std::bind(&FeaturesService::features, this, std::placeholders::_1));
|
|
}
|
|
|
|
void FeaturesService::features(AsyncWebServerRequest* request) {
|
|
AsyncJsonResponse* response = new AsyncJsonResponse(false, MAX_FEATURES_SIZE);
|
|
JsonObject root = response->getRoot();
|
|
#if FT_ENABLED(FT_PROJECT)
|
|
root["project"] = true;
|
|
#else
|
|
root["project"] = false;
|
|
#endif
|
|
#if FT_ENABLED(FT_SECURITY)
|
|
root["security"] = true;
|
|
#else
|
|
root["security"] = false;
|
|
#endif
|
|
#if FT_ENABLED(FT_MQTT)
|
|
root["mqtt"] = true;
|
|
#else
|
|
root["mqtt"] = false;
|
|
#endif
|
|
#if FT_ENABLED(FT_NTP)
|
|
root["ntp"] = true;
|
|
#else
|
|
root["ntp"] = false;
|
|
#endif
|
|
#if FT_ENABLED(FT_OTA)
|
|
root["ota"] = true;
|
|
#else
|
|
root["ota"] = false;
|
|
#endif
|
|
response->setLength();
|
|
request->send(response);
|
|
}
|