File: cli.h

package info (click to toggle)
qflipper 1.3.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,320 kB
  • sloc: cpp: 18,500; sh: 247; ansic: 191; xml: 38; python: 14; makefile: 5
file content (71 lines) | stat: -rw-r--r-- 1,385 bytes parent folder | download | duplicates (2)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#pragma once

#include <QUrl>
#include <QCoreApplication>
#include <QCommandLineParser>

#include "applicationbackend.h"

class Cli : public QCoreApplication
{
    Q_OBJECT

    enum OperationType {
        NoOperation,
        DefaultAction,
        Backup,
        Restore,
        Erase,
        Wipe,
        Firmware,
        Core2Radio,
        Core2FUS
    };

    enum OptionIndex {
        DebugLevelOption = 0,
        RepeatNumberOption,
        UpdateChannelOption
    };

public:
    Cli(int argc, char *argv[]);
    ~Cli();

private slots:
    void onBackendStateChanged();
    void onUpdateStateChanged();

private:
    void initConnections();
    void initLogger();
    void initParser();

    void processOptions();
    void processArguments();

    void processDebugLevelOption();
    void processRepeatNumberOption();
    void processUpdateChannelOption();

    void beginDefaultAction();
    void beginBackup();
    void beginRestore();
    void beginErase();
    void beginWipe();
    void beginFirmware();
    void beginCore2Radio();
    void beginCore2FUS();

    void startPendingOperation();
    void verifyArgumentCount(int num);

    QCommandLineParser m_parser;
    QList<QCommandLineOption> m_options;
    ApplicationBackend m_backend;
    OperationType m_pendingOperation;
    QUrl m_fileParameter;
    uint32_t m_core2Address;
    int m_repeatCount;
};