#pragma once #include "framework.h" #include "luatools.h" using namespace web::http; using namespace web::http::experimental::listener; class UnitsManager; class Scheduler; class Server { public: Server(lua_State* L); void start(lua_State* L); void stop(lua_State* L); json::value& getUpdateJson() { return updateJson; } json::value& getRefreshJson() { return refreshJson; } private: std::thread* serverThread; void handle_options(http_request request); void handle_get(http_request request); void handle_request(http_request request, function action); void handle_put(http_request request); void task(); atomic runListener; json::value updateJson; json::value refreshJson; wstring password = L""; };