DbPage* DbFile::getPtr(size_t pos) { if (pages[pos]) return pages[pos]; checkPage(); pages[pos] = new DbPage(*this, pos); ++pageCount; return pages[pos]; }
DbPage* DbFile::appendPage() { checkPage(); DbPage* page = new DbPage(*this, pages.size()); page->init(); //page->sync(); pages.pushBack(page); ++pageCount; return page; }
void MybbFeedRequest::getPage(const QUrl &url) { #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::getPage(). URL:" << url; #endif m_redirects = 0; QNetworkRequest request(url); request.setRawHeader("User-Agent", USER_AGENT); QNetworkReply *reply = networkAccessManager()->get(request); connect(reply, SIGNAL(finished()), this, SLOT(checkPage())); connect(this, SIGNAL(finished(FeedRequest*)), reply, SLOT(deleteLater())); }
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: messageSignal((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 1: checkPage((*reinterpret_cast< bool(*)>(_a[1]))); break; case 2: checkPage(); break; case 3: cancelcheckPage(); break; case 4: httpRequestFinished((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 5: httpResponseHeaderReceived((*reinterpret_cast< const QHttpResponseHeader(*)>(_a[1]))); break; case 6: httpDataReadProgress((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 7: messageSlot((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 8: setRandomNumbers(); break; case 9: clickAdd((*reinterpret_cast< const bool(*)>(_a[1]))); break; case 10: clickAdd(); break; case 11: clickDelete(); break; case 12: setCheckBoxState((*reinterpret_cast< const bool(*)>(_a[1]))); break; case 13: showOrHideDrawingFormMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break; case 14: showOrHideDrawingFormMenuAction(); break; case 15: showOrHideFormMenuAction((*reinterpret_cast< bool(*)>(_a[1]))); break; case 16: showOrHideFormMenuAction(); break; case 17: startNewTimer(); break; case 18: changeColorAndValue(); break; case 19: showAbout(); break; case 20: showAboutAction(); break; case 21: readConfiguration(); break; case 22: writeConfiguration(); break; default: ; } _id -= 23; } return _id; }
int main(void) { ledsInit(); timerInit(); //move interruptvectors to the Boot sector // this strange sequence ( two separate lines ) is necessary MCUCR = _BV(IVCE); MCUCR = _BV(IVSEL); sei(); motorsInit(); uartInit( UART_BAUD_SELECT( 115200, F_CPU ) ); uartFlowControlOn( 0 ); uartPutStringCRLF( PROMPT ); while(1) { // if more than a second has elapsed if ( s_timeoutExpired && !s_stayInBootLoader ) { jumpToApplication(); } if ( getLine() ) { if ( !strcmp( s_buffer, UPLOAD_PAGE_COMMAND ) ) { s_stayInBootLoader = 1; uploadPage(); } else if ( !strcmp( s_buffer, CHECK_PAGE_COMMAND ) ) { s_stayInBootLoader = 1; checkPage(); } else if ( !strcmp( s_buffer, QUIT_COMMAND ) ) { jumpToApplication(); } else if ( !strcmp( s_buffer, "" ) ) { s_stayInBootLoader = 1; // don't do anything for blank lines } else { uartPutStringCRLF( CMD_UNKNOWN ); } uartPutStringCRLF( PROMPT ); } } return 0; }
void VBIDecoder::eventHandler(vbi_event* event) { vbi_page page; switch (event->type) { case VBI_EVENT_CLOSE: fprintf(fplog, "vbi_event: type=CLOSE\n"); break; case VBI_EVENT_TTX_PAGE: // UNTESTED! fprintf(fplog, "vbi_event: type=TTX_PAGE pgno=%d subno=%d\n", event->ev.ttx_page.pgno, event->ev.ttx_page.subno); if (event->ev.ttx_page.pgno != pageno) { break; } if (!vbi_fetch_vt_page(decoder, &page, event->ev.ttx_page.pgno, event->ev.ttx_page.subno, VBI_WST_LEVEL_3p5, 25, TRUE)) break; if (checkPageSize) setTeletext(&page); checkPage(&page); vbi_unref_page(&page); break; case VBI_EVENT_CAPTION: if (event->ev.caption.pgno != pageno) { if (verbose) fprintf(fplog, "vbi_event: type=CAPTION pgno=%d curr=%.4f ignored\n", event->ev.caption.pgno, (double)currTimestamp); break; } if (!vbi_fetch_cc_page(decoder, &page, event->ev.caption.pgno, TRUE)) break; if (verbose) { fprintf(fplog, "vbi_event: type=CAPTION pgno=%d curr=%.4f dirty: y=%d,%d roll=%d\n", event->ev.caption.pgno, (double)currTimestamp, page.dirty.y0, page.dirty.y1, page.dirty.roll); fflush(fplog); } if (checkPageSize) setCaption(&page); checkPage(&page); vbi_unref_page(&page); break; case VBI_EVENT_NETWORK: fprintf(fplog, "vbi_event: type=NETWORK\n"); break; case VBI_EVENT_TRIGGER: fprintf(fplog, "vbi_event: type=TRIGGER\n"); break; case VBI_EVENT_ASPECT: fprintf(fplog, "vbi_event: type=ASPECT\n"); break; case VBI_EVENT_PROG_INFO: fprintf(fplog, "vbi_event: type=PROG_INFO\n"); break; case VBI_EVENT_NETWORK_ID: fprintf(fplog, "vbi_event: type=NETWORK_ID\n"); break; default: fprintf(fplog, "vbi_event: type=%#x\n", event->type); break; } }
void MybbFeedRequest::checkPage() { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (!reply) { setErrorString(tr("Network error")); setStatus(Error); emit finished(this); return; } QString redirect = getRedirect(reply); if (!redirect.isEmpty()) { reply->deleteLater(); if (m_redirects < MAX_REDIRECTS) { followRedirect(redirect, SLOT(checkPage())); } else { setErrorString(tr("Maximum redirects reached")); setStatus(Error); emit finished(this); } return; } switch (reply->error()) { case QNetworkReply::NoError: break; case QNetworkReply::OperationCanceledError: setErrorString(QString()); setStatus(Canceled); emit finished(this); return; default: setErrorString(reply->errorString()); setStatus(Error); emit finished(this); return; } const QUrl url = reply->url(); const QString baseUrl = url.scheme() + "://" + url.authority(); QString page = QString::fromUtf8(reply->readAll()); reply->deleteLater(); fixRelativeUrls(page, baseUrl); const QHtmlDocument document(page); const QHtmlElement html = document.htmlElement(); if (m_results == 0) { QString redirect = getLatestPageUrl(html); if (!redirect.isEmpty()) { if (m_redirects < MAX_REDIRECTS) { followRedirect(redirect, SLOT(checkPage())); } else { setErrorString(tr("Maximum redirects reached")); setStatus(Error); emit finished(this); } return; } #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::checkPage(). Writing start of feed"; #endif writeStartFeed(); writeFeedTitle(html); writeFeedUrl(baseUrl); } const QHtmlElementList items = getItems(html); if (items.isEmpty()) { #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::checkPage(). No items found. Writing end of feed"; #endif writeEndFeed(); setErrorString(QString()); setStatus(Ready); emit finished(this); return; } const int max = m_settings.value("maxResults", 20).toInt(); int i = items.size() - 1; while ((i >= 0) && (m_results < max)) { const QHtmlElement &item = items.at(i); --i; ++m_results; #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::checkPage(). Writing item" << m_results << "of" << max; #endif writeStartItem(); writeItemAuthor(item); writeItemBody(item); writeItemDate(item); writeItemTitle(item); writeItemUrl(item); writeEndItem(); } if (m_results < max) { const QString next = getNextPageUrl(html); if (!next.isEmpty()) { getPage(next); return; } } #ifdef MYBB_DEBUG qDebug() << "MybbFeedRequest::checkPage(). Writing end of feed"; #endif writeEndFeed(); setErrorString(QString()); setStatus(Ready); emit finished(this); }