#pragma once namespace DIOS::Dev::Detail::MachineryECOM { const std::string COMMUNICATE_ENTITY_DIOSBOARD = "COMMUNICATE_ENTITY_DIOSBOARD"; class ICommunicateEntity; class CommunicateEntityFactory { public: CommunicateEntityFactory(); ~CommunicateEntityFactory(); public: static CommunicateEntityFactory *Instance(); ICommunicateEntity *CreateSingleton(const std::string &typeName); private: static CommunicateEntityFactory *m_instance; std::map m_communicates; }; }