int ReadNas::compute(const char *) { const char *fileName = p_filename->getValue(); // Try to open file d_file = fopen(fileName, "r"); if (!d_file) { sendError("Could not read %s: %s", fileName, strerror(errno)); return STOP_PIPELINE; } // Now, this must be an error: // No message, readHeader already cries if problems occur if (!d_file) return STOP_PIPELINE; int result; result = readASCII(); // add filename as an attribute coDistributedObject *obj = p_polyOut->getCurrentObject(); if (obj) obj->addAttribute("OBJECTNAME", p_filename->getValue()); return result; }
// mt: removed the QCustomEvent. As QThread can emit signals in Qt4 // I've changed it into a signal void DMM::readEventSLOT( const QByteArray & data, int id, ReadEvent::DataFormat df ) //DMM::customEvent( QCustomEvent *ev ) { //if (QEvent::User == ev->type()) { if (ReaderThread::Ok == m_readerThread->status()) { //ReadEvent *re = (ReadEvent *)ev; if (m_consoleLogging) { for (int i=0; i<data.size(); ++i) //for (int i=0; i<re->length(); ++i) { fprintf( stdout, "%02X ", data[i] & 0x0ff ); //fprintf( stdout, "%02X ", re->string()[i] & 0x0ff ); } fprintf( stdout, "\n" ); } switch (df) { case ReadEvent::Metex14: case ReadEvent::PeakTech10: case ReadEvent::Voltcraft14Continuous: case ReadEvent::Voltcraft15Continuous: readASCII( data, id, df ); //readASCII( re ); break; case ReadEvent::M9803RContinuous: readM9803RContinuous( data, id, df ); //readM9803RContinuous( re ); break; case ReadEvent::VC820Continuous: readVC820Continuous( data, id, df ); //readVC820Continuous( re ); break; case ReadEvent::IsoTech: readIsoTechContinuous( data, id, df ); //readIsoTechContinuous( re ); break; case ReadEvent::VC940Continuous: readVC940Continuous( data, id, df ); //readVC940Continuous( re ); break; case ReadEvent::QM1537Continuous: readQM1537Continuous( data, id, df ); //readQM1537Continuous( re ); break; case ReadEvent::RS22812Continuous: readRS22812Continuous( data, id, df ); //readRS22812Continuous( re ); break; case ReadEvent::DTM0660Continuous: readDTM0660Continuous( data, id, df ); //readDTM0660Continuous( re ); break; } } else { if (ReaderThread::Error == m_readerThread->status()) { m_error = tr( "Read error on device" ); m_error += " "; m_error += m_device; m_error += ". "; m_error += tr( "DMM connected and switched on?" ); } else if (ReaderThread::Timeout == m_readerThread->status()) { m_error = tr( "Timeout on device" ); m_error += " "; m_error += m_device; m_error += ". "; m_error += tr( "DMM connected and switched on?" ); } else if (ReaderThread::NotConnected == m_readerThread->status()) { m_error = tr( "Not connected" ); } } if (m_oldStatus != m_readerThread->status()) { emit error( m_error ); } m_oldStatus = m_readerThread->status(); } }