mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 15:37:23 +00:00
45 lines
1.9 KiB
C++
45 lines
1.9 KiB
C++
/***************************************************************************
|
|
* This file is part of netctl-gui *
|
|
* *
|
|
* netctl-gui 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. *
|
|
* *
|
|
* netctl-gui 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 netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
|
***************************************************************************/
|
|
|
|
|
|
#include "taskadds.h"
|
|
|
|
|
|
TaskResult runTask(const QString cmd, const bool useSuid)
|
|
{
|
|
return Task::await<TaskResult>( [ & ]() {
|
|
TaskResult r;
|
|
if (useSuid) {
|
|
RootProcess command;
|
|
command.start(cmd);
|
|
command.waitForFinished(-1);
|
|
r.exitCode = command.exitCode();
|
|
r.output = command.readAllStandardOutput();
|
|
r.error = command.readAllStandardError();
|
|
} else {
|
|
QProcess command;
|
|
command.start(cmd);
|
|
command.waitForFinished(-1);
|
|
r.exitCode = command.exitCode();
|
|
r.output = command.readAllStandardOutput();
|
|
r.error = command.readAllStandardError();
|
|
}
|
|
|
|
return r;
|
|
});
|
|
}
|