Maemo package folder added.
[speedfreak] / Client / filereader.cpp
1 /*
2  * File reader class for reading acceleration data from file.
3  *
4  * @author      Jukka Kurttila  <jktla@suomi24.fi>
5  * @author      Toni Jussila    <toni.jussila@fudeco.com>
6  * @copyright   (c) 2010 Speed Freak team
7  * @license     http://opensource.org/licenses/gpl-license.php GNU Public License
8  */
9 #include "filereader.h"
10 #include <QFileDialog>
11
12 /**
13   * Constructor of this class.
14   */
15 filereader::filereader()
16 {
17 }
18
19 /**
20   * Destructor of this class. Should be used to release all allocated resources.
21   */
22 filereader::~filereader()
23 {
24     if(!fileName.isEmpty())
25         file.close();
26 }
27
28 /**
29   * Read line.
30   *
31   * @param qreal &x
32   * @param qreal &y
33   * @param qreal &z
34   */
35 void filereader::ReadLine( qreal &x, qreal &y, qreal &z )
36 {
37     if(fileName.isEmpty())
38         return;
39     QString line = file.readLine();
40
41     // Get x
42
43     std::string line2(line.toUtf8());
44
45     line2.erase(0,line2.find_first_of("x"));
46     line2.erase(0,3);
47
48     std::string temp = line2.substr(0,line2.find_first_of(" "));
49
50     QString temp2( temp.c_str() );
51     x = temp2.toFloat();
52
53     // Get y
54
55     line2.erase(0,line2.find_first_of("y"));
56     line2.erase(0,3);
57
58     temp = line2.substr(0,line2.find_first_of(" "));
59
60     temp2 = temp.c_str();
61     y = temp2.toFloat();
62
63     // Get z
64
65     line2.erase(0,line2.find_first_of("z"));
66     line2.erase(0,3);
67
68     // Is there space character?
69     if(line2.find_first_of(" ") != std::string::npos)
70     {
71         temp = line2.substr(0,line2.find_first_of(" "));
72     }
73     else
74     {
75         temp = line2;
76     }
77
78     //temp = line2.substr(0,line2.find_first_of(" "));
79
80     temp2 = temp.c_str();
81     z = temp2.toFloat();
82 }
83
84 /**
85   * Set file name.
86   *
87   * QString input file name
88   */
89 void filereader::setFileName(QString inputFileName)
90 {
91     fileName = inputFileName;
92     file.setFileName(fileName);
93     if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
94     {
95         qDebug("File open failed.\n");
96         return;
97     }
98     qDebug("File open Ok.\n");
99 }