void CCPomelo::dispatchEvent(){ lockEventQeueue(); CCPomeloEvent_ *event = popEvent(); if (event) { CCPomeloContent_ * content = NULL; if (event_content.find(event->event)!=event_content.end()) { content = event_content[event->event]; } if (content) { CCObject *pTarget = content->pTarget; SEL_CallFuncND pSelector = content->pSelector; if (pTarget && pSelector) { CCPomeloReponse resp; resp.status = event->status; resp.docs = event->docs; (pTarget->*pSelector)((CCNode *)this,&resp); } }else{ CCLOG("dispatch event::\r\n lost %s content",event->event.c_str()); } json_decref(event->docs); delete event; } unlockEventQeueue(); }
void CCPomelo::dispatchEvent() { lockEventQeueue(); CCPomeloEvent_ *event = popEvent(); if (event) { std::map<std::string, std::function<void(Node*, void*)> >::iterator it = event_content.find(event->event); if (it != event_content.end()) { CCPomeloReponse resp; resp.status = event->status; resp.docs = event->docs; (*it).second((Node*)this, &resp); } json_decref(event->docs); delete event; } unlockEventQeueue(); }