int EpollManager::unregisterEvent(int event, EventHandler *handler) { if (-1 == m_fd) return EG_INVAL; int &reEvent = handler->getRegisterEvent(); LockGuard<SpinLock> guard(m_lock); reEvent &= ~event; if (NONE == reEvent) return delEvent(event, handler); return modifyEvent(reEvent, handler); }
void dealWrite(int epollFd, int fd, char *buf){ int writeLen; writeLen = write(fd, buf, strlen(buf)); if (writeLen == -1){ perror("write error"); close(fd); deleteEvent(epollFd, fd, EPOLLOUT); } else{ modifyEvent(epollFd, fd, EPOLLIN); } memset(buf, 0, sizeof(buf)); }
void connectControllerAndModel( Controller* controller, CharmDataModel* model ) { QObject::connect( controller, SIGNAL(eventAdded(Event)), model, SLOT(addEvent(Event)) ); QObject::connect( controller, SIGNAL(eventModified(Event)), model, SLOT(modifyEvent(Event)) ); QObject::connect( controller, SIGNAL(eventDeleted(Event)), model, SLOT(deleteEvent(Event)) ); QObject::connect( controller, SIGNAL(allEvents(EventList)), model, SLOT(setAllEvents(EventList)) ); QObject::connect( controller, SIGNAL(definedTasks(TaskList)), model, SLOT(setAllTasks(TaskList)) ); QObject::connect( controller, SIGNAL(taskAdded(Task)), model, SLOT(addTask(Task)) ); QObject::connect( controller, SIGNAL(taskUpdated(Task)), model, SLOT(modifyTask(Task)) ); QObject::connect( controller, SIGNAL(taskDeleted(Task)), model, SLOT(deleteTask(Task)) ); }
int EpollManager::registerEvent(int event, EventHandler *handler) { if (-1 == m_fd) return EG_INVAL; int &reEvent = handler->getRegisterEvent(); LockGuard<SpinLock> guard(m_lock); if (NONE == reEvent) { reEvent = event; return addEvent(event, handler); } event |= reEvent; if (event == reEvent) return EG_SUCCESS; reEvent = event; return modifyEvent(event, handler); }
void dealRead(int epollFd, int fd, char *buf){ int readLen; readLen = read(fd, buf, MAXSIZE); if (readLen == -1){ perror("read error"); close(fd); deleteEvent(epollFd, fd, EPOLLIN); exit(1); } else if (readLen == 0){ fprintf(stderr, "client close\n"); close(fd); deleteEvent(epollFd, fd, EPOLLIN); } else{ printf("The message is : %s\n", buf); modifyEvent(epollFd, fd, EPOLLOUT); } }
int FireworkShowMenuComponent::handleObjectMenuSelect(SceneObject* sceneObject, CreatureObject* player, byte selectedID) const { if(!sceneObject->isASubChildOf(player)) return 0; if (!sceneObject->isFireworkObject()) return 0; if (!player->isPlayerCreature()) return 0; if (player->getZone() == NULL) return 0; FireworkObject* firework = cast<FireworkObject*>(sceneObject); switch (selectedID) { case 20: firework->beginShowLaunch(player); break; case 68: // showData showData(player, firework); break; case 69: // Add Event addEvent(player, firework); break; case 70: // Remove Event removeEvent(player, firework); break; case 71: // Modify Event modifyEvent(player, firework); break; case 72: // Reorder Show reorderShow(player, firework); break; default: return TangibleObjectMenuComponent::handleObjectMenuSelect(sceneObject, player, selectedID); } return 0; }