1
//MountManager - the program for easy mounting of storage devices in Linux
2
//Copyright (C) 2007-2008 Tikhonov Sergey
4
//This file is part of MountManager Core
6
//This program is free software; you can redistribute it and/or
7
//modify it under the terms of the GNU General Public License
8
//as published by the Free Software Foundation; either version 2
9
//of the License, or (at your option) any later version.
11
//This program is distributed in the hope that it will be useful,
12
//but WITHOUT ANY WARRANTY; without even the implied warranty of
13
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
//GNU General Public License for more details.
16
//You should have received a copy of the GNU General Public License
17
//along with this program; if not, write to the Free Software
18
//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
#include "diskdevice.h"
21
#include "diskbackup.h"
24
DiskCore::DiskCore(const QString &backupPath,bool debug) : DiskHal(debug), DiskBackUp(backupPath) {
25
process = new QProcess;
26
connect(process,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(processFinished(int,QProcess::ExitStatus)));
29
DiskCore::~DiskCore() {
33
void DiskCore::mount(const QString &blockName,const QString& mountPoint, const QString& fs, const QString& options) {
34
process->execute(QString("mount -t %1 -o %2 %3 %4").arg(fs).arg(options).arg(blockName).arg(mountPoint));
37
void DiskCore::unmount(DiskDevice *deviceToUnmount) {
38
unmount(deviceToUnmount->blockName());
41
void DiskCore::unmount(const QString &blockName) {
42
process->execute(QString("umount %1").arg(blockName));
45
void DiskCore::mountAll() {
46
process->execute("mount -a");
49
void DiskCore::unmountAll() {
50
process->execute("umount -a");
53
void DiskCore::processFinished(int exitCode, QProcess::ExitStatus /*exitStatus*/) {
55
errorText = QString::fromUtf8(process->readAllStandardError().data());
56
qDebug() << "[E] Error appeared:" << errorText;
57
if (errorText.isEmpty())
58
emit (errorAppeared(tr("There is an unknown error - maybe you haven't enough rights for this action")));
60
emit (errorAppeared(tr("Error") + ": " + errorText));
65
const QString& DiskCore::error() const {