From 71737f70949bd25f9aa8bc4e7d03039ba83c6cb1 Mon Sep 17 00:00:00 2001 From: Kris Moore Date: Thu, 4 Sep 2014 11:42:13 -0400 Subject: Initial import of the lumina code from pcbsd git repo --- libLumina/LuminaUtils.cpp | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 libLumina/LuminaUtils.cpp (limited to 'libLumina/LuminaUtils.cpp') diff --git a/libLumina/LuminaUtils.cpp b/libLumina/LuminaUtils.cpp new file mode 100644 index 00000000..8a652e96 --- /dev/null +++ b/libLumina/LuminaUtils.cpp @@ -0,0 +1,66 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2013, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#include "LuminaUtils.h" + +int LUtils::runCmd(QString cmd, QStringList args){ + QProcess *proc = new QProcess; + proc->setProcessChannelMode(QProcess::MergedChannels); + if(args.isEmpty()){ + proc->start(cmd); + }else{ + proc->start(cmd, args); + } + while(!proc->waitForFinished(300)){ + QCoreApplication::processEvents(); + } + int ret = proc->exitCode(); + delete proc; + return ret; + +} + +QStringList LUtils::getCmdOutput(QString cmd, QStringList args){ + QProcess *proc = new QProcess; + proc->setProcessChannelMode(QProcess::MergedChannels); + if(args.isEmpty()){ + proc->start(cmd); + }else{ + proc->start(cmd,args); + } + while(!proc->waitForFinished(300)){ + QCoreApplication::processEvents(); + } + QStringList out = QString(proc->readAllStandardOutput()).split("\n"); + delete proc; + return out; +} + +QStringList LUtils::readFile(QString filepath){ + QStringList out; + QFile file(filepath); + if(file.open(QIODevice::Text | QIODevice::ReadOnly)){ + QTextStream in(&file); + while(!in.atEnd()){ + out << in.readLine(); + } + file.close(); + } + return out; +} + +bool LUtils::writeFile(QString filepath, QStringList contents, bool overwrite){ + QFile file(filepath); + QFile::OpenMode mode = overwrite ? (QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate) : (QIODevice::WriteOnly | QIODevice::Text); + bool ok = false; + if(file.open( mode ) ){ + QTextStream out(&file); + for(int i=0; i