int DispatchMessage(struct Looper *loop) { int n = 0; int k = 0; for (n = 0; n < loop->activeNum; ++n) { int fd = loop->activeHandlers[n]; for (k = 0; k < loop->handleNum; ++k) { if (fd == loop->handlers[k]->eventFd) { HandleMessageQueue(loop->handlers[k]); } } } return 0; }
void GUI::HandleMessageQueue(const MessageQueue::Entry& e) { for (auto eleHandle = mElementHandles.begin(); eleHandle != mElementHandles.end(); ++eleHandle) { auto ele = mElementManager.GetAsBase(*eleHandle); ele->HandleMessageQueue(e, this); } }