void GxsGroupDialog::initMode() { setAllReadonly(); switch (mode()) { case MODE_CREATE: { ui.stackedWidget->setCurrentIndex(0); ui.buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); newGroup(); } break; case MODE_SHOW: { ui.stackedWidget->setCurrentIndex(1); mReadonlyFlags = 0xffffffff; // Force all to readonly. ui.buttonBox->setStandardButtons(QDialogButtonBox::Close); requestGroup(mGrpMeta.mGroupId); } break; case MODE_EDIT: { ui.stackedWidget->setCurrentIndex(0); ui.buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); ui.buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Submit Group Changes")); requestGroup(mGrpMeta.mGroupId); } break; } }
PostedGroupItem::PostedGroupItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGroupId &groupId, bool isHome, bool autoUpdate) : GxsGroupFeedItem(feedHolder, feedId, groupId, isHome, rsPosted, autoUpdate) { setup(); requestGroup(); }
PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPost &post, bool isHome, bool autoUpdate) : GxsFeedItem(feedHolder, feedId, post.mMeta.mGroupId, post.mMeta.mMsgId, isHome, rsPosted, autoUpdate) { setup(); requestGroup(); setPost(post); }
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGroupId &groupId, const RsGxsMessageId &messageId, bool isHome, bool autoUpdate) : GxsFeedItem(feedHolder, feedId, groupId, messageId, isHome, rsGxsChannels, autoUpdate) { setup(); requestGroup(); requestMessage(); }
void CEconomy::addUnitOnFinished(CUnit &unit) { LOG_II("CEconomy::addUnitOnFinished " << unit) unitCategory c = unit.type->cats; if ((c&BUILDER).any() || ((c&ASSISTER).any() && (c&MOBILE).any())) { CGroup *group = requestGroup(); group->addUnit(unit); } }
bool CMilitary::addUnit(CUnit& unit) { LOG_II("CMilitary::addUnit " << unit) assert(unit.group == NULL); unitCategory c = unit.type->cats; if ((c&ATTACKER).any() && (c&MOBILE).any() && (c&DEFENSE).none()) { unitCategory wishedCats = ai->unittable->unitsUnderConstruction[unit.key]; CGroup* group; if ((c&SCOUTER).any() && wishedCats.any() && (wishedCats&SCOUTER).none()) c &= ~SCOUTER; // scout was not requested if ((c&SCOUTER).any()) { group = requestGroup(SCOUT); } else if((c&AIR).any() && (c&ARTILLERY).any()) { group = requestGroup(BOMBER); } else if((c&AIR).any() && (c&ASSAULT).none()) { group = requestGroup(AIRFIGHTER); } else { /* If there is a new factory, or the current group is busy, request a new group */ std::map<int,CGroup*>::iterator i = assemblingGroups.find(unit.builtBy); if (i == assemblingGroups.end() || i->second->busy || !i->second->canAdd(&unit)) { group = requestGroup(ENGAGE); assemblingGroups[unit.builtBy] = group; } else { group = i->second; } } group->addUnit(unit); return true; } return false; }
GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) : GxsFeedItem(feedHolder, feedId, post.mMeta.mGroupId, post.mMeta.mMsgId, isHome, rsGxsChannels, autoUpdate) { #ifdef DEBUG_ITEM std::cerr << "GxsChannelPostItem::GxsChannelPostItem() Direct Load"; std::cerr << std::endl; #endif setup(); requestGroup(); setPost(post); }
void CEconomy::addUnitOnCreated(CUnit& unit) { unitCategory c = unit.type->cats; if ((c&MEXTRACTOR).any()) { CGroup *group = requestGroup(); group->addUnit(unit); takenMexes[group->key] = group->pos(); CUnit *builder = ai->unittable->getUnit(group->firstUnit()->builtBy); if (builder) { assert(group->key != builder->group->key); takenMexes.erase(builder->group->key); } } else if(unit.type->def->needGeo) { CGroup *group = requestGroup(); group->addUnit(unit); takenGeo[group->key] = group->pos(); CUnit *builder = ai->unittable->getUnit(group->firstUnit()->builtBy); if (builder) { assert(group->key != builder->group->key); takenGeo.erase(builder->group->key); } } }
int FTControlChannelManager::addReplica(UUIDPtr& uuid, UUIDPtr& fid, OverlayPeerInfoPtr& pi) { /*RequestGroup<FTControlClientHandler, FTControlClientHandler::RequestPtr*> requestGroup(0); ACE_Hash_Map_Manager<UUIDPtr, ChannelTypePtr, ACE_SYNCH_RW_MUTEX>::iterator iter = m_map.begin(); while (iter != m_map.end()) { printf("FTControlChannelManager::addReplica inside loop - %s %s\n",iter->item()->getPID()->toString().c_str(),uuid->toString().c_str()); if (!iter->item()->getPID()->isEqual(uuid)) { printf("FTControlChannelManager::addReplica %s %s\n",iter->item()->getPID()->toString().c_str(),uuid->toString().c_str()); FTControlClientHandler* clientHandler = static_cast<FTControlClientHandler*> (iter->item().get()); FTControlClientHandler::RequestPtr* request = clientHandler->addReplica(uuid, fid,pi); requestGroup.setFuture(request); } iter++; } printf("FTControlChannelManager::addReplica out loop\n"); requestGroup.open(); printf("FTControlChannelManager::addReplica out loop 2\n"); list<FTControlClientHandler::RequestPtr*>* l = requestGroup.waitFuture(0); printf("FTControlChannelManager::addReplica out loop 3\n"); return 0;*/ ACE_GUARD_RETURN(RECURSIVE_MUTEX, ace_mon, m_lock, -1); RequestGroup<FTControlClientHandler, FTControlClientHandler::RequestPtr*> requestGroup(0); list<ChannelTypePtr> memberList; getMemberList(memberList); ace_mon.release(); list<ChannelTypePtr>::iterator iter = memberList.begin(); //ACE_Hash_Map_Manager<UUIDPtr, ChannelTypePtr, ACE_SYNCH_RW_MUTEX>::iterator iter = m_map.begin(); while (iter != memberList.end()) { printf("FTControlChannelManager::addReplica inside loop - %s %s\n", (*iter)->getPID()->toString().c_str(), uuid->toString().c_str()); if (!(*iter)->getPID()->isEqual(uuid)) { printf("FTControlChannelManager::addReplica %s %s\n", (*iter)->getPID()->toString().c_str(), uuid->toString().c_str()); FTControlClientHandler* clientHandler = static_cast<FTControlClientHandler*> ((*iter).get()); FTControlClientHandler::RequestPtr* request = clientHandler->addReplica(uuid, fid, pi); //requestGroup.setFuture(request); if (request != 0) { requestGroup.addRequest(request); } } iter++; } printf("FTControlChannelManager::addReplica out loop\n"); requestGroup.open(); printf("FTControlChannelManager::addReplica out loop 2\n"); list<FTControlClientHandler::RequestPtr*>* l = requestGroup.waitFuture(0); printf("FTControlChannelManager::addReplica out loop 3\n"); requestGroup.close(); return 0; }
int ActuatorServiceChannelManager::sendAction(ActionPacket* ap) { ACE_GUARD_RETURN(RECURSIVE_MUTEX, ace_mon, m_lock, -1); RequestGroup<ActuatorClientHandler, ActuatorClientHandler::RequestPtr*> requestGroup(0); list<ChannelTypePtr> memberList; getMemberList(memberList); ace_mon.release(); //ACE_Time_Value start_1 = ACE_OS::gettimeofday(); list<ActuatorClientHandler::RequestPtr*> lr; list<ChannelTypePtr>::iterator iter = memberList.begin(); while (iter != memberList.end()) { //ACE_Time_Value start = ACE_OS::gettimeofday(); /*ActuatorClientHandler* clientHandler = static_cast<ActuatorClientHandler*> ((*iter).get()); ActuatorActionPacket* aap = new ActuatorActionPacket(0, ap->getTimestamp(), ap->getPayload()->duplicate()); //payload is freed upon packet deletion ActuatorClientHandler::RequestPtr* request = clientHandler->sendRequest(aap, 0);*/ //ACE_Time_Value start = ACE_OS::gettimeofday(); ActuatorClientHandler* clientHandler = static_cast<ActuatorClientHandler*> ((*iter).get()); ActuatorActionPacket* aap = new ActuatorActionPacket(0, ap->getTimestamp(), ap->getPayload()->duplicate()); ActuatorClientHandler::RequestPtr* request = clientHandler->sendRequest(aap, 0); //ACE_Time_Value end = ACE_OS::gettimeofday(); //end -= start; //ULongLong deltausec; //end.to_usec(deltausec); //ACE_DEBUG((LM_DEBUG, // ACE_TEXT("(%t|%T)INFO: ActuatorServiceChannelManager per sendRequest lat(%Q)usec \n"), // deltausec // )); if (request != 0) { lr.push_back(request); } /*ACE_Time_Value end = ACE_OS::gettimeofday(); end -= start; ULongLong deltausec; end.to_usec(deltausec); ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: ActuatorServiceChannelManager per sendRequest lat(%Q)usec \n"), deltausec ));*/ delete aap; /*if (request != 0) { requestGroup.addRequest(request); } else { printf("failed request\n"); }*/ iter++; } /*ACE_Time_Value end = ACE_OS::gettimeofday(); end -= start_1; ULongLong deltausec; end.to_usec(deltausec); ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t|%T)INFO: ActuatorServiceChannelManager total send lat(%Q)usec \n"), deltausec ));*/ /*requestGroup.open(); list<ActuatorClientHandler::RequestPtr*>* l = requestGroup.waitFuture(0); if (l != 0) { ListHelper<ActuatorClientHandler::RequestPtr*>::deleteList(l); return 0; }*/ list<ActuatorClientHandler::RequestPtr*>::iterator iter2 = lr.begin(); while (iter2 != lr.end()) { //ACE_Time_Value start = ACE_OS::gettimeofday(); (*(*iter2))->waitFuture(0); //ACE_Time_Value end = ACE_OS::gettimeofday(); //end -= start; //ULongLong deltausec; //end.to_usec(deltausec); //ACE_DEBUG((LM_DEBUG, // ACE_TEXT("(%t|%T)INFO: ActuatorServiceChannelManager wait request lat(%Q)usec \n"), // deltausec // )); delete *iter2; iter2++; } /*else list<SthenoStreamPacket*> *channelResults = (*l->front())->detach(); printf("ActionTime=")*/ //requestGroup.close(); return 0; }