GlobalEventMap GlobalEvents::getEventMap(GlobalEvent_t type) { switch (type) { case GLOBALEVENT_NONE: return thinkMap; case GLOBALEVENT_TIMER: return timerMap; case GLOBALEVENT_STARTUP: case GLOBALEVENT_SHUTDOWN: case GLOBALEVENT_RECORD: { GlobalEventMap retMap; for (const auto& it : serverMap) { if (it.second->getEventType() == type) { retMap[it.first] = it.second; } } return retMap; } default: return GlobalEventMap(); } }
GlobalEventMap GlobalEvents::getEventMap(GlobalEvent_t type) { switch (type) { case GLOBALEVENT_NONE: return thinkMap; case GLOBALEVENT_TIMER: return timerMap; case GLOBALEVENT_STARTUP: case GLOBALEVENT_SHUTDOWN: case GLOBALEVENT_RECORD: { GlobalEventMap retMap; for (GlobalEventMap::iterator it = serverMap.begin(); it != serverMap.end(); ++it) { if (it->second->getEventType() == type) { retMap[it->first] = it->second; } } return retMap; } default: break; } return GlobalEventMap(); }
GlobalEventMap GlobalEvents::getEventMap(GlobalEvent_t type) { // TODO: This should be better implemented. Maybe have a map for every type. switch (type) { case GLOBALEVENT_NONE: return thinkMap; case GLOBALEVENT_TIMER: return timerMap; case GLOBALEVENT_STARTUP: case GLOBALEVENT_SHUTDOWN: case GLOBALEVENT_RECORD: { GlobalEventMap retMap; for (const auto& it : serverMap) { if (it.second.getEventType() == type) { retMap.emplace(it.first, it.second); } } return retMap; } default: return GlobalEventMap(); } }