#ifndef GLOBAL_CONTEXT_H_ #define GLOBAL_CONTEXT_H_ #include "account_mgr.h" #include "config.h" #include "contact_mgr.h" #include "db.h" #include "hide_module.h" #include "http_server.h" #include "log.h" #include "misc_mgr.h" #include "send_message_mgr.h" #include "chat_room_mgr.h" #include "sns_mgr.h" #include "singleton.h" namespace wxhelper { enum class GlobalContextState { NOT_INITIALIZED, INITIALIZING, INITIALIZED }; class GlobalContext :public Singleton{ public: void initialize(HMODULE module); void finally(); public: std::optional config; std::optional hide_module; std::optional log; std::optional contact_mgr; std::optional misc_mgr; std::optional send_mgr; std::optional account_mgr; std::optional chat_room_mgr; std::optional sns_mgr; GlobalContextState state = GlobalContextState::INITIALIZED; private: HMODULE module_; }; } // namespace wxhelper #endif