Example #1
0
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);
}
Example #2
0
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));
}
Example #3
0
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)) );
}
Example #4
0
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);
}
Example #5
0
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;
}