summaryrefslogtreecommitdiffstats
path: root/src/main.cpp
blob: 51c9899d150e7db11a693f8b8d97140c485e78b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "gui.h"

#include <QApplication>
#include <QCommandLineOption>
#include <QCommandLineParser>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QCommandLineParser parser;
    parser.setApplicationDescription(QObject::tr("CoW-GUI for dnbd3-fuse sessions"));
    parser.addHelpOption();
    QCommandLineOption sessionOption(QStringList() << QLatin1String("session") << QLatin1String("s"),
        QObject::tr("Session ID to use when talking to server"),
        QLatin1String("sessionid"));
    QCommandLineOption urlOption(QStringList() << QLatin1String("url") << QLatin1String("u"),
        QObject::tr("URL base of server to talk to"),
        QLatin1String("url"));
    QCommandLineOption pidOption(QStringList() << QLatin1String("pid") << QLatin1String("p"),
        QObject::tr("PID of dnbd3-fuse, so we can cancel the upload via SIGQUIT on abort"),
        QLatin1String("pid"));
    parser.addOption(sessionOption);
    parser.addOption(urlOption);
    parser.addOption(pidOption);
    parser.process(app);

    if (!parser.isSet(sessionOption) || !parser.isSet(urlOption) || !parser.isSet(pidOption)) {
        parser.showHelp();
        return 1;
    }

    Gui window(parser.value(urlOption), parser.value(sessionOption), parser.value(pidOption).toInt());

    window.show();
    return QGuiApplication::exec();
}