#pragma once #include #include #include #include "ServerApplicationSettings.h" namespace HttpServer { class ServerApplicationsTree { protected: std::unordered_map list; ServerApplicationSettings *app_sets; public: ServerApplicationsTree() noexcept; ~ServerApplicationsTree() noexcept; bool empty() const noexcept; void addApplication(const std::string &name, ServerApplicationSettings *sets); void addApplication(std::vector &nameParts, ServerApplicationSettings *sets); const ServerApplicationSettings *find(const std::string &name) const; const ServerApplicationSettings *find(std::vector &nameParts) const; void collectApplicationSettings(std::unordered_set &set) const; void clear() noexcept; }; };