void CCPomelo::dispatchRequest(){ lockReponsQeueue(); CCPomeloReponse_ *response = popReponse(); if (response) { CCPomeloContent_ * content = NULL; if (request_content.find(response->request)!=request_content.end()) { content = request_content[response->request]; request_content.erase(response->request); } if (content) { CCObject *pTarget = content->pTarget; SEL_CallFuncND pSelector = content->pSelector; if (pTarget && pSelector) { CCPomeloReponse resp; resp.status = response->status; resp.docs = response->docs; (pTarget->*pSelector)((CCNode *)this,&resp); } }else{ CCLOG("dispatch response:\r\nlost content"); } json_decref(response->docs); json_decref(response->request->msg); pc_request_destroy(response->request); delete response; } unlockReponsQeueue(); }
void CCPomelo::dispatchRequest(){ lockReponsQeueue(); CCPomeloReponse_ *response = popReponse(); if (response) { CCPomeloContent_ * content = NULL; if (request_content.find(response->request)!=request_content.end()) { content = request_content[response->request]; request_content.erase(response->request); } if (content) { if (log_level>0) CCLog("dispatch response:\r\nevent:%s\r\nmsg:%s\r\nstatus:%d\r\ndocs:%s\r\n",response->request->route,json_dumps(response->request->msg,0),response->status,json_dumps(response->docs,0)); CCObject *pTarget = content->pTarget; SEL_CallFuncND pSelector = content->pSelector; int luaHandler = content->pLuaHandler; if (pTarget && pSelector) { CCPomeloReponse resp; resp.status = response->status; resp.docs = response->docs; resp.luaHandler = luaHandler; (pTarget->*pSelector)((CCNode *)this, &resp); } }else{ CCLog("dispatch response:\r\nlost content"); } json_decref(response->docs); json_decref(response->request->msg); pc_request_destroy(response->request); delete response; } unlockReponsQeueue(); }
void CCPomelo::dispatchRequest() { lockReponsQeueue(); CCPomeloReponse_ *response = popReponse(); if (response) { std::map<pc_request_t*, std::function<void(Node*, void*)> >::iterator it = request_content.find(response->request); if (it != request_content.end()) { CCPomeloReponse resp; resp.status = response->status; resp.docs = response->docs; (*it).second((Node*)this, &resp); request_content.erase(it); } json_decref(response->docs); json_decref(response->request->msg); pc_request_destroy(response->request); delete response; } unlockReponsQeueue(); }