modify_collection& modify_collection::index(bsoncxx::document::view_or_value index_spec, std::chrono::seconds seconds) { _index.emplace( make_document(kvp("keyPattern", bsoncxx::types::b_document{std::move(index_spec)}), kvp("expireAfterSeconds", bsoncxx::types::b_int64{seconds.count()}))); return *this; }
void example02() { static const std::string data[] = { "00=123456|01=1234567.1234567|02=Simple text|03=-3,-2,-1,0,1,2,3|04=1.1,2.2,3.3,4.4,5.5,6.6|05=Text1,Text2,Text3,Text4", "01=1234567.1234567|02=Simple text|03=-3,-2,-1,0,1,2,3|04=1.1,2.2,3.3,4.4,5.5,6.6|05=Text1,Text2,Text3,Text4|00=123456", "02=Simple text|03=-3,-2,-1,0,1,2,3|04=1.1,2.2,3.3,4.4,5.5,6.6|05=Text1,Text2,Text3,Text4|00=123456|01=1234567.1234567", "03=-3,-2,-1,0,1,2,3|04=1.1,2.2,3.3,4.4,5.5,6.6|05=Text1,Text2,Text3,Text4|00=123456|01=1234567.1234567|02=Simple text", "04=1.1,2.2,3.3,4.4,5.5,6.6|05=Text1,Text2,Text3,Text4|00=123456|01=1234567.1234567|02=Simple text|03=-3,-2,-1,0,1,2,3", "05=Text1,Text2,Text3,Text4|00=123456|01=1234567.1234567|02=Simple text|03=-3,-2,-1,0,1,2,3|04=1.1,2.2,3.3,4.4,5.5,6.6", "00=123456|03=-3,-2,-1,0,1,2,3|02=Simple text|04=1.1,2.2,3.3,4.4,5.5,6.6|01=1234567.1234567|05=Text1,Text2,Text3,Text4", "03=-3,-2,-1,0,1,2,3|02=Simple text|04=1.1,2.2,3.3,4.4,5.5,6.6|01=1234567.1234567|05=Text1,Text2,Text3,Text4|00=123456", "02=Simple text|04=1.1,2.2,3.3,4.4,5.5,6.6|01=1234567.1234567|05=Text1,Text2,Text3,Text4|00=123456|03=-3,-2,-1,0,1,2,3", "04=1.1,2.2,3.3,4.4,5.5,6.6|01=1234567.1234567|05=Text1,Text2,Text3,Text4|00=123456|03=-3,-2,-1,0,1,2,3|02=Simple text", "01=1234567.1234567|05=Text1,Text2,Text3,Text4|00=123456|03=-3,-2,-1,0,1,2,3|02=Simple text|04=1.1,2.2,3.3,4.4,5.5,6.6", "05=Text1,Text2,Text3,Text4|00=123456|03=-3,-2,-1,0,1,2,3|02=Simple text|04=1.1,2.2,3.3,4.4,5.5,6.6|01=1234567.1234567", }; static const std::size_t data_size = sizeof(data) / sizeof(std::string); typedef strtk::keyvalue::parser<strtk::keyvalue::uintkey_map> kvp_type; strtk::keyvalue::uintkey_map::options options; options.key_count = 6; //[0,5] options.pair_block_delimiter = '|'; options.pair_delimiter = '='; kvp_type kvp(options); complex_data cd; strtk::vector_sink<int>::type vec_sink(","); strtk::deque_sink<double>::type deq_sink(","); strtk::list_sink<std::string>::type lst_sink(","); kvp.register_keyvalue(0,cd.v0); kvp.register_keyvalue(1,cd.v1); kvp.register_keyvalue(2,cd.v2); kvp.register_keyvalue(3,vec_sink(cd.v3)); kvp.register_keyvalue(4,deq_sink(cd.v4)); kvp.register_keyvalue(5,lst_sink(cd.v5)); for (std::size_t i = 0; i < data_size; ++i) { if (kvp(data[i])) { std::cout << "Seq[" << strtk::text::right_align(2,'0',i) << "] " << "(Key0: " << cd.v0 << ") " << "(Key1: " << cd.v1 << ") " << "(Key2: " << cd.v2 << ") " << "(Key3: " << strtk::join(" ",cd.v3) << ") " << "(Key4: " << strtk::join(" ",cd.v4) << ") " << "(Key5: " << strtk::join(" ",cd.v5) << ")\n"; cd.reset(); } else std::cout << "Failed to parse data: " << data[i] << std::endl; } }
void PreferencesDlg::setConfig() { LayeredConfiguration &config = BasicApplication::instance().config(); // Iterate over the _configMap and set the widgets' values to whatever the // configuration says depending on the respective widget type. QMutableMapIterator<QWidget *, const char *> kvp(_configMap); while (kvp.hasNext()) { kvp.next(); if (kvp.key()->inherits("QCheckBox")) { QCheckBox *cb = static_cast<QCheckBox*>(kvp.key()); config.setBool(kvp.value(), cb->isChecked()); } else if (kvp.key()->inherits("QComboBox")) { QComboBox *cb = static_cast<QComboBox*>(kvp.key()); config.setInt(kvp.value(), cb->currentIndex()); } else if (kvp.key()->inherits("QSpinBox")) { QSpinBox *sb = static_cast<QSpinBox*>(kvp.key()); config.setInt(kvp.value(), sb->value()); } else if (kvp.key()->inherits("QDoubleSpinBox")) { QDoubleSpinBox *dsb = static_cast<QDoubleSpinBox*>(kvp.key()); config.setDouble(kvp.value(), dsb->value()); } else { throw Poco::NotImplementedException("Unknown configuration widget."); } } }
bsoncxx::document::value validation_criteria::to_document() const { bsoncxx::builder::basic::document doc; if (_rule) { doc.append(kvp("validator", bsoncxx::types::b_document{*_rule})); } if (_level) { doc.append(kvp("validationLevel", validation_level_to_string(*_level))); } if (_action) { doc.append(kvp("validationAction", validation_action_to_string(*_action))); } return doc.extract(); }
bsoncxx::document::value modify_collection::to_document() const { bsoncxx::builder::basic::document doc; if (_index) { doc.append(kvp("index", bsoncxx::types::b_document{_index->view()})); } if (_no_padding) { doc.append(kvp("noPadding", *_no_padding)); } if (_validation) { BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_BEGIN; doc.append(concatenate(_validation->to_document())); BSONCXX_SUPPRESS_DEPRECATION_WARNINGS_END; } return doc.extract(); }
void CValueMap::SetAt(const CString & strKey, const CVariant & varVal) { CString strRealKey = strKey; if (!m_bCaseSensitive) { strRealKey.ToLower(); } CKeyValPair kvp(strRealKey, varVal); m_map.Delete(kvp); m_map.Insert(kvp); }
void PreferencesDlg::getConfig() { LayeredConfiguration &config = BasicApplication::instance().config(); // Assign some default values where the "guessing" method in the next // loop is not appropriate. if (!config.hasProperty("browser.processCreation.overlap")) { config.setDouble("browser.processCreation.overlap", config.getDouble("blissart.fft.overlap", 0.5)); } if (!config.hasProperty("browser.processCreation.windowSizeMS")) { config.setInt("browser.processCreation.windowSizeMS", config.getDouble("blissart.fft.windowsize", 25)); } if (!config.hasProperty("browser.processCreation.numComponents")) { config.setInt("browser.processCreation.numComponents", 20); } if (!config.hasProperty("browser.processCreation.maxIterations")) { config.setInt("browser.processCreation.maxIterations", 100); } // Iterate over the _configMap and set the widgets' values to whatever the // configuration says depending on the respective widget type. QMutableMapIterator<QWidget *, const char *> kvp(_configMap); while (kvp.hasNext()) { kvp.next(); if (kvp.key()->inherits("QCheckBox")) { QCheckBox *cb = static_cast<QCheckBox*>(kvp.key()); cb->setChecked(config.getBool(kvp.value(), true)); } else if (kvp.key()->inherits("QComboBox")) { QComboBox *cb = static_cast<QComboBox*>(kvp.key()); cb->setCurrentIndex(config.getInt(kvp.value(), 0)); } else if (kvp.key()->inherits("QSpinBox")) { QSpinBox *sb = static_cast<QSpinBox*>(kvp.key()); sb->setValue(config.getInt(kvp.value(), sb->minimum())); } else if (kvp.key()->inherits("QDoubleSpinBox")) { QDoubleSpinBox *dsb = static_cast<QDoubleSpinBox*>(kvp.key()); dsb->setValue(config.getDouble(kvp.value(), dsb->minimum())); } else { throw Poco::NotImplementedException("Unknown configuration widget."); } } }
bsoncxx::document::value create_collection::to_document() const { auto doc = bsoncxx::builder::basic::document{}; if (_auto_index_id) { doc.append(kvp("autoIndexId", *_auto_index_id)); } if (_capped) { doc.append(kvp("capped", *_capped)); } if (_collation) { doc.append(kvp("collation", bsoncxx::types::b_document{*_collation})); } if (_max_documents) { doc.append(kvp("max", *_max_documents)); } if (_max_size) { doc.append(kvp("size", *_max_size)); } if (_no_padding) { doc.append(kvp("flags", (*_no_padding ? 0x10 : 0x00))); } if (_storage_engine_opts) { doc.append(kvp("storageEngine", bsoncxx::types::b_document{*_storage_engine_opts})); } if (_validation) { doc.append(concatenate(_validation->to_document())); } return doc.extract(); }
void example01() { static const std::size_t rounds = 1000000; // Format: key_0=value_1|key_2=value_2|......|key_n=value_n static const std::string data[] = { //Seq 00 "121=A|122=z|123=-123|124=456|125=-12345678|126=789012345|127=-43654364634645235|128=777777777777777777|129=1234.56789|110=0.0003|111=abcdefghijklmnopqrstuvwxyz|" "11321=A|11322=z|11323=-123|11324=456|11325=-12345678|11326=789012345|11327=-43654364634645235|11328=777777777777777777|11329=1234.56789|11310=0.0003|11311=abcdefghijklmnopqrstuvwxyz", //Seq 01 "121=A|123=-111|125=-17171717|127=-43654364634645235|129=1234.56789|111=abcdefghijklmnopqrstuvwxyz|122=z|124=999|126=789012345|128=777777777777777777|110=0.0003|" "11321=A|11323=-111|11325=-17171717|11327=-43654364634645235|11329=1234.56789|11311=abcdefghijklmnopqrstuvwxyz|11322=z|11324=999|11326=789012345|11328=777777777777777777|11310=0.0003", //Seq 02 "122=z|124=999|126=789012345|128=777777777777777777|110=0.0003|121=A|123=-111|125=-17171717|127=-43654364634645235|129=1234.56789|111=abcdefghijklmnopqrstuvwxyz|" "11322=z|11324=999|11326=789012345|11328=777777777777777777|11310=0.0003|11321=A|11323=-111|11325=-17171717|11327=-43654364634645235|11329=1234.56789|11311=abcdefghijklmnopqrstuvwxyz", //Seq 03 "121=A|122=z|123=-123|124=456|125=-12345678|126=789012345|127=-43654364634645235|128=777777777777777777|129=1234.56789|110=0.0003|111=abcdefghijklmnopqrstuvwxyz|" "11321=A|11322=z|11323=-123|11324=456|11325=-12345678|11326=789012345|11327=-43654364634645235|11328=777777777777777777|11329=1234.56789|11310=0.0003|11311=abcdefghijklmnopqrstuvwxyz", //Seq 04 "111=abcdefghijklmnopqrstuvwxyz|110=0.0003|129=1234.56789|128=777777777777777777|127=-43654364634645235|126=789012345|125=-12345678|124=456|123=-123|122=z|121=A|" "11311=abcdefghijklmnopqrstuvwxyz|11310=0.0003|11329=1234.56789|11328=777777777777777777|11327=-43654364634645235|11326=789012345|11325=-12345678|11324=456|11323=-123|11322=z|11321=A" }; static const std::size_t data_size = sizeof(data) / sizeof(std::string); { typedef strtk::keyvalue::parser<strtk::keyvalue::uintkey_map> kvp_type; strtk::keyvalue::uintkey_map::options options; options.key_count = 11330; //[110,11329] options.pair_block_delimiter = '|'; options.pair_delimiter = '='; kvp_type kvp(options); data_store ds; kvp.register_keyvalue( 121,ds. c1); kvp.register_keyvalue( 122,ds. uc1); kvp.register_keyvalue( 123,ds. s1); kvp.register_keyvalue( 124,ds. us1); kvp.register_keyvalue( 125,ds. i1); kvp.register_keyvalue( 126,ds. ui1); kvp.register_keyvalue( 127,ds. ll1); kvp.register_keyvalue( 128,ds.ull1); kvp.register_keyvalue( 129,ds. d1); kvp.register_keyvalue( 110,ds. f1); kvp.register_keyvalue( 111,ds.str1); kvp.register_keyvalue(11321,ds. c2); kvp.register_keyvalue(11322,ds. uc2); kvp.register_keyvalue(11323,ds. s2); kvp.register_keyvalue(11324,ds. us2); kvp.register_keyvalue(11325,ds. i2); kvp.register_keyvalue(11326,ds. ui2); kvp.register_keyvalue(11327,ds. ll2); kvp.register_keyvalue(11328,ds.ull2); kvp.register_keyvalue(11329,ds. d2); kvp.register_keyvalue(11310,ds. f2); kvp.register_keyvalue(11311,ds.str2); unsigned int total = 0; strtk::util::timer timer; timer.start(); for (std::size_t i = 0; i < rounds; ++i) { for (std::size_t j = 0; j < data_size; ++j) { if (kvp(data[j])) total += ds.ui1; else { std::cout << "Failed to parse data: " << data[j] << std::endl; return; } } } timer.stop(); printf("[uintkeymap] Total: %d Time %8.5fsec Rates: %12.3fpairs/sec %12.3fseq/sec\n", total, timer.time(), (rounds * data_store::member_count * data_size) / timer.time (), (rounds * data_size) / timer.time ()); } { typedef unsigned char char_type; typedef strtk::keyvalue::parser<strtk::keyvalue::stringkey_map> kvp_type; typedef strtk::keyvalue::options<char_type> opts_type; opts_type options; options.pair_block_delimiter = '|'; options.pair_delimiter = '='; kvp_type kvp(options); data_store ds; kvp.register_keyvalue("121",ds. c1); kvp.register_keyvalue("122",ds. uc1); kvp.register_keyvalue("123",ds. s1); kvp.register_keyvalue("124",ds. us1); kvp.register_keyvalue("125",ds. i1); kvp.register_keyvalue("126",ds. ui1); kvp.register_keyvalue("127",ds. ll1); kvp.register_keyvalue("128",ds.ull1); kvp.register_keyvalue("129",ds. d1); kvp.register_keyvalue("110",ds. f1); kvp.register_keyvalue("111",ds.str1); kvp.register_keyvalue("11321",ds. c2); kvp.register_keyvalue("11322",ds. uc2); kvp.register_keyvalue("11323",ds. s2); kvp.register_keyvalue("11324",ds. us2); kvp.register_keyvalue("11325",ds. i2); kvp.register_keyvalue("11326",ds. ui2); kvp.register_keyvalue("11327",ds. ll2); kvp.register_keyvalue("11328",ds.ull2); kvp.register_keyvalue("11329",ds. d2); kvp.register_keyvalue("11310",ds. f2); kvp.register_keyvalue("11311",ds.str2); unsigned int total = 0; strtk::util::timer timer; timer.start(); for (std::size_t i = 0; i < rounds; ++i) { for (std::size_t j = 0; j < data_size; ++j) { if (kvp(data[j])) total += ds.ui1; else { std::cout << "Failed to parse data: " << data[j] << std::endl; return; } } } timer.stop(); printf("[strkeymap ] Total: %d Time %8.5fsec Rates: %12.3fpairs/sec %12.3fseq/sec\n", total, timer.time(), (rounds * data_store::member_count * data_size) / timer.time (), (rounds * data_size) / timer.time ()); } }
TEST_CASE("options::rewriter::rewrite_find_modifiers() with $comment", "[find][option]") { instance::current(); SECTION("$comment with k_utf8 type is translated") { auto find_opts = options::rewriter::rewrite_find_modifiers( options::find{}.modifiers_deprecated(make_document(kvp("$comment", "test")))); REQUIRE(!find_opts.modifiers_deprecated()); REQUIRE(find_opts.comment()); REQUIRE(*find_opts.comment() == stdx::string_view("test")); } SECTION("$comment with other types is rejected") { REQUIRE_THROWS_AS( options::rewriter::rewrite_find_modifiers( options::find{}.modifiers_deprecated(make_document(kvp("$comment", 1)))), logic_error); } } TEST_CASE("options::rewriter::rewrite_find_modifiers() with $explain", "[find][option]") { instance::current(); SECTION("$explain isn't supported") { REQUIRE_THROWS_AS( options::rewriter::rewrite_find_modifiers( options::find{}.modifiers_deprecated(make_document(kvp("$explain", true)))), logic_error); } }
/** * @brief Takes a key/value pair and sets the binary values in an edict */ static void ED_ParseField (const char* key, const char* value, Edict* ent) { KeyValuePair kvp(key, value); if (kvp.isKey("classname")) ent->classname = ED_NewString(value); else if (kvp.isKey("model")) ent->model = ED_NewString(value); else if (kvp.isKey("spawnflags")) ent->spawnflags = kvp.asInt(); else if (kvp.isKey("speed")) ent->speed = kvp.asInt(); else if (kvp.isKey("dir")) ent->dir = kvp.asInt(); else if (kvp.isKey("active")) ent->active = kvp.asBool(); else if (kvp.isKey("target")) ent->target = ED_NewString(value); else if (kvp.isKey("targetname")) ent->targetname = ED_NewString(value); else if (kvp.isKey("item")) ent->item = ED_NewString(value); else if (kvp.isKey("noise")) ent->noise = ED_NewString(value); else if (kvp.isKey("particle")) ent->particle = ED_NewString(value); else if (kvp.isKey("nextmap")) ent->nextmap = ED_NewString(value); else if (kvp.isKey("frame")) ent->frame = kvp.asInt(); else if (kvp.isKey("team")) ent->team = kvp.asInt(); else if (kvp.isKey("group")) ent->group = ED_NewString(value); else if (kvp.isKey("size")) ent->fieldSize = kvp.asInt(); else if (kvp.isKey("count")) ent->count = kvp.asInt(); else if (kvp.isKey("time")) ent->time = kvp.asInt(); else if (kvp.isKey("health")) ent->HP = kvp.asInt(); else if (kvp.isKey("radius")) ent->radius = kvp.asInt(); else if (kvp.isKey("sounds")) ent->sounds = kvp.asInt(); else if (kvp.isKey("material")) ent->material = static_cast<edictMaterial_t>(kvp.asInt()); // enum !! else if (kvp.isKey("light")) ; // ignore /** @todo This (maxteams) should also be handled server side - currently this is * only done client side */ else if (kvp.isKey("maxteams")) ; // ignore else if (kvp.isKey("maxlevel")) ; // ignore else if (kvp.isKey("dmg")) ent->dmg = kvp.asInt(); else if (kvp.isKey("origin")) kvp.asVec3(ent->origin); else if (kvp.isKey("angles")) kvp.asVec3(ent->angles); else if (kvp.isKey("angle")) ent->angle = kvp.asFloat(); else if (kvp.isKey("message")) ent->message = ED_NewString(value); else if (kvp.isKey("norandomspawn")) spawnTemp.noRandomSpawn = kvp.asInt(); else if (kvp.isKey("noequipment")) spawnTemp.noEquipment = kvp.asInt(); }
bool MyMoneyXmlContentHandler::endElement(const QString& /* namespaceURI */, const QString& /* localName */, const QString& qName) { bool rc = true; QString s = qName.toLower(); if (m_level) { m_currNode = m_currNode.parentNode().toElement(); m_level--; if (!m_level) { try { if (s == "transaction") { MyMoneyTransaction t0(m_baseNode); if (!t0.id().isEmpty()) { MyMoneyTransaction t1(m_reader->d->nextTransactionID(), t0); m_reader->d->tList[t1.uniqueSortKey()] = t1; } m_reader->signalProgress(++m_elementCount, 0); } else if (s == "account") { MyMoneyAccount a(m_baseNode); if (!a.id().isEmpty()) m_reader->d->aList[a.id()] = a; m_reader->signalProgress(++m_elementCount, 0); } else if (s == "payee") { MyMoneyPayee p(m_baseNode); if (!p.id().isEmpty()) m_reader->d->pList[p.id()] = p; } else if (s == "tag") { MyMoneyTag ta(m_baseNode); if (!ta.id().isEmpty()) m_reader->d->taList[ta.id()] = ta; } else if (s == "currency") { MyMoneySecurity s(m_baseNode); if (!s.id().isEmpty()) m_reader->d->secList[s.id()] = s; m_reader->signalProgress(++m_elementCount, 0); } else if (s == "security") { MyMoneySecurity s(m_baseNode); if (!s.id().isEmpty()) m_reader->d->secList[s.id()] = s; m_reader->signalProgress(++m_elementCount, 0); } else if (s == "keyvaluepairs") { MyMoneyKeyValueContainer kvp(m_baseNode); m_reader->m_storage->setPairs(kvp.pairs()); } else if (s == "institution") { MyMoneyInstitution i(m_baseNode); if (!i.id().isEmpty()) m_reader->d->iList[i.id()] = i; } else if (s == "report") { MyMoneyReport r(m_baseNode); if (!r.id().isEmpty()) m_reader->d->rList[r.id()] = r; m_reader->signalProgress(++m_elementCount, 0); } else if (s == "budget") { MyMoneyBudget b(m_baseNode); if (!b.id().isEmpty()) m_reader->d->bList[b.id()] = b; } else if (s == "fileinfo") { rc = m_reader->readFileInformation(m_baseNode); m_reader->signalProgress(-1, -1); } else if (s == "user") { rc = m_reader->readUserInformation(m_baseNode); m_reader->signalProgress(-1, -1); } else if (s == "scheduled_tx") { MyMoneySchedule s(m_baseNode); if (!s.id().isEmpty()) m_reader->d->sList[s.id()] = s; } else if (s == "price") { MyMoneyPrice p(m_reader->d->m_fromSecurity, m_reader->d->m_toSecurity, m_baseNode); m_reader->d->prList[MyMoneySecurityPair(m_reader->d->m_fromSecurity, m_reader->d->m_toSecurity)][p.date()] = p; m_reader->signalProgress(++m_elementCount, 0); } else if (s == "onlinejob") { onlineJob job(m_baseNode); if (!job.id().isEmpty()) m_reader->d->onlineJobList[job.id()] = job; } else { m_errMsg = i18n("Unknown XML tag %1 found in line %2", qName, m_loc->lineNumber()); kWarning() << m_errMsg; rc = false; } } catch (const MyMoneyException &e) { m_errMsg = i18n("Exception while creating a %1 element: %2", s, e.what()); kWarning() << m_errMsg; rc = false; } m_doc = QDomDocument(); } } else { if (s == "institutions") { // last institution read, now dump them into the engine m_reader->m_storage->loadInstitutions(m_reader->d->iList); m_reader->d->iList.clear(); } else if (s == "accounts") { // last account read, now dump them into the engine m_reader->m_storage->loadAccounts(m_reader->d->aList); m_reader->d->aList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "payees") { // last payee read, now dump them into the engine m_reader->m_storage->loadPayees(m_reader->d->pList); m_reader->d->pList.clear(); } else if (s == "tags") { // last tag read, now dump them into the engine m_reader->m_storage->loadTags(m_reader->d->taList); m_reader->d->taList.clear(); } else if (s == "transactions") { // last transaction read, now dump them into the engine m_reader->m_storage->loadTransactions(m_reader->d->tList); m_reader->d->tList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "schedules") { // last schedule read, now dump them into the engine m_reader->m_storage->loadSchedules(m_reader->d->sList); m_reader->d->sList.clear(); } else if (s == "securities") { // last security read, now dump them into the engine m_reader->m_storage->loadSecurities(m_reader->d->secList); m_reader->d->secList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "currencies") { // last currency read, now dump them into the engine m_reader->m_storage->loadCurrencies(m_reader->d->secList); m_reader->d->secList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "reports") { // last report read, now dump them into the engine m_reader->m_storage->loadReports(m_reader->d->rList); m_reader->d->rList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "budgets") { // last budget read, now dump them into the engine m_reader->m_storage->loadBudgets(m_reader->d->bList); m_reader->d->bList.clear(); } else if (s == "prices") { // last price read, now dump them into the engine m_reader->m_storage->loadPrices(m_reader->d->prList); m_reader->d->bList.clear(); m_reader->signalProgress(-1, -1); } else if (s == "onlinejobs") { m_reader->m_storage->loadOnlineJobs(m_reader->d->onlineJobList); m_reader->d->onlineJobList.clear(); } } return rc; }