aboutsummaryrefslogtreecommitdiffstats
path: root/HomeScreen/src2/usermanagement.h
blob: c3a41bc9669fbc6528bfd37ca2956d99e43f4ede (plain)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef USERMANAGEMENT_H
#define USERMANAGEMENT_H

//#define REAL_SERVER "ws://localhost:1212/api?token=hello"

#include <QObject>
#include "applicationmodel.h"
#include <QTimer>
#include <QPointF>
#include <QtWebSockets/QWebSocket>
#ifndef REAL_SERVER
#include <QtWebSockets/QWebSocketServer>
#endif
struct User {
    QString postal_address;
    QPointF loc;
    QString country;
    QString mail;
    QString city;
    QString graphEmail;
    QString graphPreferredLanguage;
    QString ccNumberMasked;
    QString ccExpYear;
    QString description;
    QString ccExpMonth;
    QStringList groups;
    QString last_name;
    QString ccNumber;
    QString house_identifier;
    QString phone;
    QString name;
    QString state;
    QString fax;
    QString common_name;
    QString postal_code;
    QString first_name;
    QString keytoken;
    QStringList graphActions;
    QString policy;
};

class UserManagement : public QObject
{
    Q_OBJECT
public:
    explicit UserManagement(QObject *root);

signals:

public slots:
    void connectWebsockets();
    void onConnected();
    void onClosed();
    void onTextMessageReceived(QString message);
    void onWebSocketError(QAbstractSocket::SocketError);
    void slot_sendData();
#ifndef REAL_SERVER
    void onServerNewConnection();
    void onServerClosed();
    void processBinaryMessage(QByteArray message);
    void processTextMessage(QString message);
    void serverSocketDisconnected();
    void slot_timerTest();
#endif
    void slot_turnOffRed();
    void slot_disconnect();
private:
    QObject *home;
    QObject *shortcutArea;
    QObject *statusArea;
    QObject *logo;
    QByteArray data;
    ApplicationModel *appModel;
    QWebSocket webSocket;
    QTimer timerRed;
    bool isRed;
    int sequence;
    bool jsonToMap(const QByteArray &buf, QVariantMap *map) const;
    bool mapToJson(const QVariantMap &map, QByteArray *json) const;
    bool jsonToList(const QByteArray &buf, QList<QVariant> *list) const;
    bool listToJson(const QList<QVariant> &list, QByteArray *json) const;
    void setUser(const User &user);
#ifndef REAL_SERVER
    QTimer timerTest;
    QWebSocket *pSocket;
    QWebSocketServer *webSocketServer;
    void launchServer();
#endif
};

#endif // USERMANAGEMENT_H