00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "parametersfileloadersaver.h"
00022 #include "configurationparameters.h"
00023 #include <QtDebug>
00024 #include <QFile>
00025
00026 namespace farsa {
00027
00028 bool ParametersFileLoaderSaver::load(QString filename, ConfigurationParameters& configParams, bool keepOld)
00029 {
00030
00031 if (filename.isNull()) {
00032 return false;
00033 }
00034
00035
00036 QFile file(filename);
00037
00038
00039 if (!file.open(QFile::ReadOnly | QFile::Text)) {
00040 qWarning() << "WARNING: Impossible to read data from " << filename;
00041 return false;
00042 }
00043
00044
00045 if (!keepOld) {
00046 configParams.clearAll();
00047 }
00048
00049
00050 QTextStream in(&file);
00051
00052
00053 return loadParameters( in, configParams );
00054 }
00055
00056 bool ParametersFileLoaderSaver::save(QString filename, const ConfigurationParameters& configParams, bool append)
00057 {
00058
00059 if (filename.isNull()) {
00060 return false;
00061 }
00062
00063
00064 QFile file(filename);
00065
00066 QIODevice::OpenMode openMode = QFile::WriteOnly | QFile::Text;
00067 if ( append ) {
00068 openMode |= QFile::Append;
00069 } else {
00070 openMode |= QFile::Truncate;
00071 }
00072
00073 if (!file.open(openMode)) {
00074 qWarning() << "WARNING: Impossible to write data to " << filename;
00075 return false;
00076 }
00077
00078
00079 QTextStream out(&file);
00080
00081
00082 return saveParameters( out, configParams );
00083 }
00084
00085 }