Modification for dynamic speed sign (not activated)
[staging/HomeScreen.git] / HomeScreen / src2 / usermanagement.h
1 #ifndef USERMANAGEMENT_H
2 #define USERMANAGEMENT_H
3
4 #define REAL_SERVER "ws://localhost:1212/api?token=hello"
5
6 #include <QObject>
7 #include "applicationmodel.h"
8 #include <QTimer>
9 #include <QPointF>
10 #include <QtWebSockets/QWebSocket>
11 #ifndef REAL_SERVER
12 #include <QtWebSockets/QWebSocketServer>
13 #endif
14 struct User {
15     QString postal_address;
16     QPointF loc;
17     QString country;
18     QString mail;
19     QString city;
20     QString graphEmail;
21     QString graphPreferredLanguage;
22     QString ccNumberMasked;
23     QString ccExpYear;
24     QString description;
25     QString ccExpMonth;
26     QStringList groups;
27     QString last_name;
28     QString ccNumber;
29     QString house_identifier;
30     QString phone;
31     QString name;
32     QString state;
33     QString fax;
34     QString common_name;
35     QString postal_code;
36     QString first_name;
37     QString keytoken;
38     QStringList graphActions;
39     QString policy;
40 };
41
42 class UserManagement : public QObject
43 {
44     Q_OBJECT
45 public:
46     explicit UserManagement(QObject *root);
47
48 signals:
49
50 public slots:
51     void connectWebsockets();
52     void onConnected();
53     void onClosed();
54     void onTextMessageReceived(QString message);
55     void onWebSocketError(QAbstractSocket::SocketError);
56     void slot_sendData();
57 #ifndef REAL_SERVER
58     void onServerNewConnection();
59     void onServerClosed();
60     void processBinaryMessage(QByteArray message);
61     void processTextMessage(QString message);
62     void serverSocketDisconnected();
63     void slot_timerTest();
64 #endif
65     void slot_turnOffRed();
66     void slot_disconnect();
67 private:
68     QObject *home;
69     QObject *shortcutArea;
70     QObject *statusArea;
71     QObject *logo;
72     QByteArray data;
73     ApplicationModel *appModel;
74     QWebSocket webSocket;
75     QTimer timerRed;
76     bool isRed;
77     int sequence;
78     bool jsonToMap(const QByteArray &buf, QVariantMap *map) const;
79     bool mapToJson(const QVariantMap &map, QByteArray *json) const;
80     bool jsonToList(const QByteArray &buf, QList<QVariant> *list) const;
81     bool listToJson(const QList<QVariant> &list, QByteArray *json) const;
82     void setUser(const User &user);
83 #ifndef REAL_SERVER
84     QTimer timerTest;
85     QWebSocket *pSocket;
86     QWebSocketServer *webSocketServer;
87     void launchServer();
88 #endif
89 };
90
91 #endif // USERMANAGEMENT_H