2 This file is part of Faster Application Manager.
4 Faster Application Manager is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 Faster Application Manager is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with Faster Application Manager. If not, see <http://www.gnu.org/licenses/>.
17 (C) Heikki Holstila 2010
20 #include <QtGui/QApplication>
23 #include "mainwindow.h"
24 #include "confirmdialog.h"
29 bool EnableDebugOutput = false;
31 void myMessageOutput( QtMsgType, const char *msg )
33 if( EnableDebugOutput )
34 std::cerr << msg << std::endl;
37 int main(int argc, char *argv[])
39 qInstallMsgHandler( myMessageOutput );
40 QApplication a(argc, argv);
42 a.setApplicationName("faster_application_manager");
43 QDir::setCurrent("/root/.fapman/");
45 EnableDebugOutput = false;
46 if( a.arguments().contains("-d") ) {
47 EnableDebugOutput = true;
48 qDebug() << "Enabled debug output";
59 uid_t userUID = getuid();
61 ConfirmDialog d(false, &w);
62 d.setText("Warning", "You are not running the application as root. It won't work as intended.");
66 quint64 warn_limit_root = 5120;
67 quint64 warn_limit_opt = 51200;
68 struct statfs root_stat;
69 struct statfs opt_stat;
70 statfs("/",&root_stat);
71 statfs("/opt",&opt_stat);
72 quint64 free_root = root_stat.f_bavail * root_stat.f_bsize / 1024;
73 quint64 free_opt = opt_stat.f_bavail * opt_stat.f_bsize / 1024;
74 qDebug() << "rootfs" << free_root << "kB free";
75 qDebug() << "opt fs" << free_opt << "kB free";
76 if( free_root < warn_limit_root || free_opt < warn_limit_opt )
78 ConfirmDialog d(false, &w);
80 if( free_root < warn_limit_root )
81 t += QString("Root filesystem has %L1 kB available<br>").arg(free_root);
82 if( free_opt < warn_limit_opt )
83 t += QString("Opt (home) filesystem has %L1 kB available<br>").arg(free_opt);
84 t += "<br>You may proceed, but consider freeing up space to prevent problems in the future";
85 d.setText("Warning: Low disk space",t);
90 // *** from patch by qwerty12 ***
91 if (!QDBusConnection::sessionBus().isConnected()) {
92 qWarning("Cannot connect to the D-Bus session bus.");
95 if (!QDBusConnection::sessionBus().registerService("org.maemo.faster_application_manager")) {
96 qWarning("%s", qPrintable(QDBusConnection::sessionBus().lastError().message()));
99 if (!QDBusConnection::sessionBus().registerObject("/org/maemo/faster_application_manager", &w, QDBusConnection::ExportScriptableSlots)) {
100 qWarning("%s", qPrintable(QDBusConnection::sessionBus().lastError().message()));