void Promise::reject(const QVariantList &arguments) { if (!isSettled()) { mState = State::REJECTED; emit rejected(arguments); complete(mOnReject, arguments); } }
void Promise::resolve(const QVariantList &arguments) { if (!isSettled()) { mState = State::FULFILLED; emit resolved(arguments); complete(mOnResolve, arguments); } }
void CompasCommand::findMinimalDistances(Room * room) { /*vector<Room*> adjecentRooms = getNeighbors(room); for (Room* adjecent : adjecentRooms) { if (getShortestDistance(adjecent) > getShortestDistance(room) + getWeight(adjecent)) { distance.insert(std::pair<Room*, int>(adjecent, getShortestDistance(room) + getWeight(adjecent))); predecessors.insert(std::pair<Room*, Room*>(adjecent, room)); unsettledRooms.push_back(adjecent); } }*/ if (room->DoesRoomHaveDoorway(Room::Direction::North)) { Room* adjecent = room->GetAdjecentRoom(Room::Direction::North); if (!isSettled(adjecent) && getShortestDistance(adjecent) > getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::North) && room->GetAdjecentRoom(Room::Direction::North) != nullptr) { distance.insert(std::pair<Room*, int>(adjecent, getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::North))); predecessors.insert(std::pair<Room*, Room*>(adjecent, room)); unsettledRooms.push_back(adjecent); } } if (room->DoesRoomHaveDoorway(Room::Direction::East)) { Room* adjecent = room->GetAdjecentRoom(Room::Direction::East); if (!isSettled(adjecent) && getShortestDistance(adjecent) > getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::East) && room->GetAdjecentRoom(Room::Direction::East) != nullptr) { distance.insert(std::pair<Room*, int>(adjecent, getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::East))); predecessors.insert(std::pair<Room*, Room*>(adjecent, room)); unsettledRooms.push_back(adjecent); } } if (room->DoesRoomHaveDoorway(Room::Direction::South)) { Room* adjecent = room->GetAdjecentRoom(Room::Direction::South); if (!isSettled(adjecent) && getShortestDistance(adjecent) > getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::South) && room->GetAdjecentRoom(Room::Direction::South) != nullptr) { distance.insert(std::pair<Room*, int>(adjecent, getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::South))); predecessors.insert(std::pair<Room*, Room*>(adjecent, room)); unsettledRooms.push_back(adjecent); } } if (room->DoesRoomHaveDoorway(Room::Direction::West)) { Room* adjecent = room->GetAdjecentRoom(Room::Direction::West); if (!isSettled(adjecent) && getShortestDistance(adjecent) > getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::West) && room->GetAdjecentRoom(Room::Direction::West) != nullptr) { distance.insert(std::pair<Room*, int>(adjecent, getShortestDistance(room) + room->getWeigthDoorway(Room::Direction::West))); predecessors.insert(std::pair<Room*, Room*>(adjecent, room)); unsettledRooms.push_back(adjecent); } } }
void UTimer::start(){ if(!mFNTimer)return; if(isSettled()){ if(!mIsRunning){ mLastEntryTime = av_gettime(); mIsRunning = true; } return; } utimer_link timer = (utimer_link)malloc(sizeof(struct utimer_node)); timer->timer = this; timer->next = NULL; lock(); if(!timer_head)timer_head = timer; else{ timer->next = timer_head; timer_head = timer; } mIsRunning = true; mLastEntryTime = av_gettime(); if(!timer_thread_started){ //modify by eric timer_thread_started = true; //启动Timer线程 if (pthread_create(&thread, NULL, timerThread, this->mData)) { ulog_err("pthread_create timerThread failed:start"); } } unlock(); }