From 568dc1274b92123c2ab560cf92ac12dd5446a247 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 25 Apr 2013 15:08:48 +0200 Subject: Separate CSV handling into a new file --- ftnoir_protocol_ft/csv.cpp | 99 ---------------------------------------------- ftnoir_protocol_ft/csv.h | 38 ------------------ 2 files changed, 137 deletions(-) delete mode 100644 ftnoir_protocol_ft/csv.cpp delete mode 100644 ftnoir_protocol_ft/csv.h (limited to 'ftnoir_protocol_ft') diff --git a/ftnoir_protocol_ft/csv.cpp b/ftnoir_protocol_ft/csv.cpp deleted file mode 100644 index 22852f89..00000000 --- a/ftnoir_protocol_ft/csv.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************** -* FaceTrackNoIR This program is a private project of the some enthusiastic * -* gamers from Holland, who don't like to pay much for * -* head-tracking. * -* * -* Copyright (C) 2013 Wim Vriend (Developing) * -* Ron Hendriks (Researching and Testing) * -* * -* Homepage * -* * -* This program is free software; you can redistribute it and/or modify it * -* under the terms of the GNU General Public License as published by the * -* Free Software Foundation; either version 3 of the License, or (at your * -* option) any later version. * -* * -* This program is distributed in the hope that it will be useful, but * -* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * -* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * -* more details. * -* * -* You should have received a copy of the GNU General Public License along * -* with this program; if not, see . * -* * -********************************************************************************/ -#include "csv.h" -#include - -CSV::CSV(QIODevice * device) -{ - m_device = device; - m_codec = QTextCodec::codecForLocale(); - m_pos = 0; - m_rx = QRegExp("((?:(?:[^;\\n]*;?)|(?:\"[^\"]*\";?))*)\\n"); -} -CSV::CSV(QString &string){ - m_device = NULL; - m_codec = QTextCodec::codecForLocale(); - m_string = string; - m_pos = 0; - m_rx = QRegExp("((?:(?:[^;\\n]*;?)|(?:\"[^\"]*\";?))*)\\n"); -} - -CSV::~CSV() -{ - //delete m_codec; -} - - -void CSV::setCodec(const char* codecName){ - //delete m_codec; - m_codec = QTextCodec::codecForName(codecName); -} - -QString CSV::readLine(){ - QString line; - - if(m_string.isNull()){ - //READ DATA FROM DEVICE - if(m_device && m_device->isReadable()){ - QTextDecoder dec(m_codec); - m_string = dec.toUnicode(m_device->readAll()); - }else{ - return QString(); - } - } - - //PARSE - if((m_pos = m_rx.indexIn(m_string,m_pos)) != -1) { - line = m_rx.cap(1); - m_pos += m_rx.matchedLength(); - } - return line; - -} -QStringList CSV::parseLine(){ - return parseLine(readLine()); -} -QStringList CSV::parseLine(QString line){ - QStringList list; - int pos2 = 0; - QRegExp rx2("(?:\"([^\"]*)\";?)|(?:([^;]*);?)"); - if(line.size()<1){ - list << ""; - }else while (line.size()>pos2 && (pos2 = rx2.indexIn(line, pos2)) != -1) { - QString col; - if(rx2.cap(1).size()>0) - col = rx2.cap(1); - else if(rx2.cap(2).size()>0) - col = rx2.cap(2); - - list << col; - - if(col.size()) - pos2 += rx2.matchedLength(); - else - pos2++; - } - return list; -} \ No newline at end of file diff --git a/ftnoir_protocol_ft/csv.h b/ftnoir_protocol_ft/csv.h deleted file mode 100644 index 13231293..00000000 --- a/ftnoir_protocol_ft/csv.h +++ /dev/null @@ -1,38 +0,0 @@ -/*dummy CSV reader for QT4*/ -/*version 0.1*/ -/*11.1.2009*/ -#ifndef CSV_H -#define CSV_H - -//#include "myclass_api.h" - -#include -#include -#include -#include -#include - -class /*MYCLASS_API*/ CSV /*: public QObject*/ -{ - /*Q_OBJECT*/ - -public: - CSV(QIODevice * device); - CSV(QString &string); - ~CSV(); - - QString readLine(); - QStringList parseLine(); - static QStringList parseLine(QString line); - - void setCodec(const char* codecName); -private: - QIODevice *m_device; - QTextCodec *m_codec; - QString m_string; - int m_pos; - QRegExp m_rx; - -}; - -#endif // CSV_H -- cgit v1.2.3