#pragma once #include #include #include #include #include #include "config.h" #include "storage.h" class Whiteboard { public: Whiteboard(); int run(int argc, char* argv[]); private: std::unique_ptr m_config; std::unique_ptr m_storage; std::mutex m_storage_mutex; std::string handle_request(const std::string& request); void do_session(boost::asio::ip::tcp::socket socket); void storage_cleanup(); };