#ifndef MODULE_MGR_H
#define MODULE_MGR_H

#include "module_singleton_base.h"
#include "websocket/wsClientMgr.h"
#include "common.h"
struct config_file;

class module_mgr: public singleton_base<module_mgr>
{
private:
    friend class singleton_base<module_mgr>;
    module_mgr()
    {
    }

public:
    /**
     * @brief 注册web回调函数,读配置文件,启动向web发送线程
     */
    static void init(config_file& config, std::map<std::string, sys::MSG_HANDLE_FUNC_TYPE>& MsgFuncList);

    /**
     * @brief 启动线程start:向web发送事件
     */
    static void start();
    /**
     * @brief 结束线程stop
     */
    static void stop();

    static void do_status(STATUS_CARD st, uint32_t card_id, int32_t type);
};

#endif // MODULE_MGR_H