void XmlValidatorJob::start() { if(m_documentUrl.isEmpty()) { m_result = Failed; m_errors.append(i18n("No document to validate")); setError(m_result); emitResult(); return; } QString localUrl; KJob *copyJob = 0; //DTD inline if(m_dtdUrl.isEmpty() && m_schemaUrl.isEmpty()) { emit signalReady(this); return; } if(!m_dtdUrl.isEmpty()) { localUrl = getLocalURLForSchema(m_documentUrl, m_dtdUrl); if(QFile::exists(localUrl)) { m_dtdUrl = localUrl; emit signalReady(this); return; } else { copyJob = KIO::copy(m_dtdUrl, localUrl, KIO::HideProgressInfo); m_dtdUrl = localUrl; } } if(!m_schemaUrl.isEmpty()) { localUrl = getLocalURLForSchema(m_documentUrl, m_schemaUrl); if(QFile::exists(localUrl)) { m_schemaUrl = localUrl; emit signalReady(this); return; } else { copyJob = KIO::copy(m_schemaUrl, localUrl, KIO::HideProgressInfo); m_schemaUrl = localUrl; } } copyJob->setAutoDelete(true); copyJob->setUiDelegate(0); connect(copyJob, SIGNAL(result(KJob *)), this, SLOT(ready(KJob *))); copyJob->start(); }
void TrackFileReaderWorker::run() { while (!_cancelRequested) { WorkPair work; _inMutex.lock(); if (!_input.isEmpty()) { work = _input.first(); _input.pop_front(); QString what = QString("Parsing %0").arg(work.first); emit signalUpdate(what, _workCount, _workCount - _input.length()); } else { _workCount = 0; emit signalDone(); _inMutex.unlock(); break; } _inMutex.unlock(); std::string whyNot; if (!_reader->read(work.first, work.second, &whyNot)) { QString error = QString::fromStdString(whyNot); emit signalError(work.first, error); } else { emit signalReady(work.first, work.second); } } };
/* Function called when data has been written over BLE. */ Block* blockServerWriteHandler(Block* block) { printf("main: block write: length: %4lu offset: %6lu time: %3d ms\r\n", block->getLength(), block->getOffset(), watch->read_ms()); #if VERBOSE_DEBUG_OUTPUT for (std::size_t idx = 0; idx < block->getLength(); idx++) { printf("%02X", block->at(idx)); } printf("\r\n"); #endif // the Block Transfer service is not busy if (bts->ready()) { // signal data is available to be read signalReady(); } // reset timer to measure time to next block watch->reset(); /* Return block to Block Transfer Service. This can be a different block than the one just received. */ return block; }
/* Метод для активации диалога добавления записей * */ void MainWindow::on_addDeviceButton_clicked() { /* Создаем диалог и подключаем его сигнал завершения работы * к слоту обновления вида модели представления данных * */ DialogAddDevice *addDeviceDialog = new DialogAddDevice(); connect(addDeviceDialog, SIGNAL(signalReady()), this, SLOT(slotUpdateModels())); /* Выполняем запуск диалогового окна * */ addDeviceDialog->setWindowTitle(trUtf8("Добавить Устройство")); addDeviceDialog->exec(); }
/* Метод для активации диалога добавления записей в режиме редактирования * с передачей индекса выбранной строки * */ void MainWindow::slotEditRecord(QModelIndex index) { /* Также создаем диалог и подключаем его сигнал завершения работы * к слоту обновления вида модели представления данных, но передаём * в качестве параметров строку записи * */ DialogAddDevice *addDeviceDialog = new DialogAddDevice(index.row()); connect(addDeviceDialog, SIGNAL(signalReady()), this, SLOT(slotUpdateModels())); /* Выполняем запуск диалогового окна * */ addDeviceDialog->setWindowTitle(trUtf8("Редактировать Устройство")); addDeviceDialog->exec(); }
void update(uint8_t cycles) { if (!isTransferring() || pending_recieve_) return; // if using internal shift clock, run clocking logic if (getLinkMode() == Link::Mode::INTERNAL) { internalClock(cycles); } else { // transferring in external clock mode, signal transfer ready signalReady(); } }
void internalClock(uint8_t cycles) { // increment shift clock shift_clock_ += cycles; if (shift_clock_ >= shift_clock_rate_) { shift_clock_ -= shift_clock_rate_; shift_counter_++; if (shift_counter_ == 8) { // signal to the host system that this core is ready to do the transfer signalReady(); shift_counter_ = 0; } } }