bool DecodeBitstreamCommand::execute( GitlCommandParameter& rcInputArg, GitlCommandParameter& rcOutputArg ) { ModelLocator* pModel = ModelLocator::getInstance(); /// *****STEP 0 : Request***** QVariant vValue; vValue = rcInputArg.getParameter("filename"); QString strFilename = vValue.toString(); vValue = rcInputArg.getParameter("version"); int iVersion = vValue.toInt(); vValue = rcInputArg.getParameter("skip_decode"); bool bSkipDecode = vValue.toBool(); QString strDecoderPath = "./decoders"; QString strDecoderOutputPath = pModel->getPreferences().getCacheFolder(); int iSequenceIndex = pModel->getSequenceManager().getAllSequences().size(); strDecoderOutputPath += QString("/%1").arg(iSequenceIndex); /// show busy dialog GitlUpdateUIEvt evt; evt.setParameter("busy_dialog_visible", true); evt.dispatch(); /// hide busy dialog when scope exit SCOPE_EXIT(GitlUpdateUIEvt evt; evt.setParameter("busy_dialog_visible", false); evt.dispatch(); );
static void xMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &strMsg) { QByteArray localMsg = strMsg.toLocal8Bit(); switch (type) { case QtDebugMsg: fprintf(stdout, "[Debug]: %s\n", localMsg.constData()); break; case QtWarningMsg: fprintf(stderr, "[Warn]: %s\n", localMsg.constData()); break; case QtCriticalMsg: fprintf(stderr, "[Crit]: %s\n", localMsg.constData()); break; case QtFatalMsg: fprintf(stderr, "[Fata]: %s\n", localMsg.constData()); } fflush(stdout); fflush(stderr); GitlUpdateUIEvt cEvt; cEvt.setParameter("msg_detail", strMsg); cEvt.setParameter("msg_level",(int)type); cEvt.dispatch(); if(type == QtFatalMsg) abort(); }
void BitstreamParser::displayDecoderOutput() { while( m_cDecoderProcess.canReadLine() ) { // write to file QString strLine = m_cDecoderProcess.readLine(); m_cStdOutputFile.write(strLine.toStdString().c_str()); // display progress text as event QRegExp cMatchTarget; cMatchTarget.setPattern("POC *(-?[0-9]+)"); if( cMatchTarget.indexIn(strLine) != -1 ) { GitlUpdateUIEvt evt; int iPoc = cMatchTarget.cap(1).toInt(); QString strText = QString("POC %1 Decoded").arg(iPoc); evt.setParameter("decoding_progress", strText); dispatchEvt(evt); } } }