int ThreadServer::exec() { ScopeLock scopeLock(_mutex); while (!getDone()) { if (_queue.empty()) { _condition.wait(scopeLock); } else { // Get pending messages. _Queue queue; _queue.swap(queue); { // Unlock the ingoing message queue as long // as the server is processing. ScopeUnlock scopeUnlock(_mutex); // now send to the messages to the server queue.send(*this); } // For recycling the queue entries, we need the lock again queue.recycle(_pool); } } return EXIT_SUCCESS; }
double Task::getPercentageDone() const { if(getPlanned() <= std::numeric_limits<double>::epsilon()) { return 0.0; } return getDone()/getPlanned() * 100.0; }
StringTable::stringCode CoordinateObject::getStatus() const { if ( getDone() ) { return StringTable::OK; } else { return m_status; } }
void CardSprite::changeStatus() { CCLog("change status"); if(m_isOpened && !getDone()){ this->getgameScene()->gameLogic(this); } //this->getParent()-> //return; /* if(m_isOpened){ m_isOpened = false; }else{ m_isOpened = true; } */ isReady = true; //this->hideCard(); }
bool Task::overdue() const { return getDone() >= getPlanned(); }
bool CoordinateObject::requestDone() { return getDone(); }
void WorkflowTest::testDefaultWorkflow() { // TODO: init/begin/end trans // STEP 1: create transaction object SwdbPrivate::Transaction trans(conn); CPPUNIT_ASSERT(trans.getDone() == false); // STEP 2: set vars trans.setReleasever("26"); // populate goal // resolve dependencies // prepare RPM transaction // STEP 3: associate RPMs to the transaction // bash-4.4.12-5.fc26.x86_64 auto rpm_bash = std::make_shared< RPMItem >(conn); rpm_bash->setName("bash"); rpm_bash->setEpoch(0); rpm_bash->setVersion("4.4.12"); rpm_bash->setRelease("5.fc26"); rpm_bash->setArch("x86_64"); std::string repoid = "base"; TransactionItemAction action = TransactionItemAction::INSTALL; TransactionItemReason reason = TransactionItemReason::GROUP; trans.addItem(rpm_bash, repoid, action, reason); // systemd-233-6.fc26 auto rpm_systemd = std::make_shared< RPMItem >(conn); rpm_systemd->setName("systemd"); rpm_systemd->setEpoch(0); rpm_systemd->setVersion("233"); rpm_systemd->setRelease("6.fc26"); rpm_systemd->setArch("x86_64"); repoid = "base"; action = TransactionItemAction::OBSOLETE; reason = TransactionItemReason::USER; auto ti_rpm_systemd = trans.addItem(rpm_systemd, repoid, action, reason); // sysvinit-2.88-14.dsf.fc20 auto rpm_sysvinit = std::make_shared< RPMItem >(conn); rpm_sysvinit->setName("sysvinit"); rpm_sysvinit->setEpoch(0); rpm_sysvinit->setVersion("2.88"); rpm_sysvinit->setRelease("14.dsf.fc20"); rpm_sysvinit->setArch("x86_64"); repoid = "f20"; action = TransactionItemAction::OBSOLETED; reason = TransactionItemReason::USER; auto ti_rpm_sysvinit = trans.addItem(rpm_sysvinit, repoid, action, reason); ti_rpm_sysvinit->addReplacedBy(ti_rpm_systemd); auto comps_group_core = std::make_shared< CompsGroupItem >(conn); comps_group_core->setGroupId("core"); comps_group_core->setName("Core"); comps_group_core->setTranslatedName("Úplný základ"); comps_group_core->addPackage("bash", true, CompsPackageType::MANDATORY); repoid = ""; action = TransactionItemAction::INSTALL; reason = TransactionItemReason::USER; trans.addItem(comps_group_core, repoid, action, reason); auto comps_environment_minimal = std::make_shared< CompsEnvironmentItem >(conn); comps_environment_minimal->setEnvironmentId("minimal"); comps_environment_minimal->setName("Minimal"); comps_environment_minimal->setTranslatedName("mmm"); comps_environment_minimal->addGroup("core", true, CompsPackageType::MANDATORY); repoid = ""; action = TransactionItemAction::INSTALL; reason = TransactionItemReason::USER; trans.addItem(comps_environment_minimal, repoid, action, reason); // STEP 4: save transaction and all associated items trans.begin(); // STEP 5: run RPM transaction; callback: mark completed items for (auto i : trans.getItems()) { i->setDone(true); i->save(); } // STEP 6 // mark completed transaction trans.finish(true); CPPUNIT_ASSERT(trans.getDone() == true); // VERIFY // verify that data is available via public API auto trans2 = libdnf::Transaction(conn, trans.getId()); CPPUNIT_ASSERT(trans2.getDone() == true); CPPUNIT_ASSERT(trans2.getItems().size() == 5); for (auto i : trans2.getItems()) { if (i->getId() == 1) { CPPUNIT_ASSERT(i->getAction() == TransactionItemAction::INSTALL); CPPUNIT_ASSERT(i->getReason() == TransactionItemReason::GROUP); CPPUNIT_ASSERT(i->getRepoid() == "base"); } else if (i->getId() == 2) { CPPUNIT_ASSERT(i->getAction() == TransactionItemAction::OBSOLETE); CPPUNIT_ASSERT(i->getReason() == TransactionItemReason::USER); CPPUNIT_ASSERT(i->getRepoid() == "base"); } else if (i->getId() == 3) { CPPUNIT_ASSERT(i->getAction() == TransactionItemAction::OBSOLETED); CPPUNIT_ASSERT(i->getReason() == TransactionItemReason::USER); CPPUNIT_ASSERT(i->getRepoid() == "f20"); } // CPPUNIT_ASSERT(i->getItem()->getItemType() == "rpm"); CPPUNIT_ASSERT(i->getDone() == true); // std::cout << "TransactionItem: " << i->getItem()->toStr() << std::endl; if (i->getItem()->getItemType() == ItemType::GROUP) { auto grp = std::dynamic_pointer_cast< CompsGroupItem >(i->getItem()); CPPUNIT_ASSERT(grp->getPackages().size() == 1); for (auto i : grp->getPackages()) { // std::cout << " CompsGroupPackage: " << i->getName() << std::endl; } } if (i->getItem()->getItemType() == ItemType::ENVIRONMENT) { auto env = std::dynamic_pointer_cast< CompsEnvironmentItem >(i->getItem()); CPPUNIT_ASSERT(env->getGroups().size() == 1); for (auto i : env->getGroups()) { // std::cout << " CompsEnvironmentGroup: @" << i->getGroupId() << std::endl; } } } }