#ifndef _WEB_INTERFACE_HPP #define _WEB_INTERFACE_HPP #include #include #include class AudioPlayer; class CacheManager; class WebInterface { httpd_handle_t server = NULL; std::shared_ptr audioPlayer; std::shared_ptr cacheManager; public: WebInterface(); void setAudioPlayer(std::shared_ptr p) { audioPlayer = p; } void setCacheManager(std::shared_ptr c) { cacheManager = c; } void start(); void finishResourceRegistrations(); void registerResource(httpd_uri_t* config); void initSD(); private: httpd_handle_t start_webserver(); void registerFileServer(); void registerApiHandlers(); }; #endif