add more spacing
[personal-kdebase.git] / runtime / solid-hardware / solid-hardware.h
blob877a74e9fb5f312cdabdff93b6201716b70cfea7
1 /* This file is part of the KDE project
2 Copyright (C) 2006 Kevin Ottens <ervin@kde.org>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License version 2 as published by the Free Software Foundation.
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
13 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
20 #ifndef MAIN_H
21 #define MAIN_H
23 #include <QCoreApplication>
24 #include <QEventLoop>
26 #include <solid/storageaccess.h>
27 #include <solid/opticaldrive.h>
29 class KJob;
31 namespace Solid {
32 namespace Control {
33 class Authentication;
37 class SolidHardware : public QCoreApplication
39 Q_OBJECT
40 public:
41 SolidHardware(int &argc, char **argv) : QCoreApplication(argc, argv), m_error(0) {}
43 static bool doIt();
45 bool hwList(bool interfaces, bool system);
46 bool hwCapabilities(const QString &udi);
47 bool hwProperties(const QString &udi);
48 bool hwQuery(const QString &parentUdi, const QString &query);
50 enum VolumeCallType { Mount, Unmount, Eject };
51 bool hwVolumeCall(VolumeCallType type, const QString &udi);
53 private:
54 void connectJob(KJob *job);
56 QEventLoop m_loop;
57 int m_error;
58 QString m_errorString;
59 private slots:
60 void slotStorageResult(Solid::ErrorType error, const QVariant &errorData);
61 void slotResult(KJob *job);
62 void slotPercent(KJob *job, unsigned long percent);
63 void slotInfoMessage(KJob *job, const QString &message);
67 #endif