various changes in user language settings
[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 };
40
41 class UserManagement : public QObject
42 {
43     Q_OBJECT
44 public:
45     explicit UserManagement(QObject *root);
46
47 signals:
48
49 public slots:
50     void connectWebsockets();
51     void onConnected();
52     void onClosed();
53     void onTextMessageReceived(QString message);
54     void onWebSocketError(QAbstractSocket::SocketError);
55     void slot_sendData();
56 #ifndef REAL_SERVER
57     void onServerNewConnection();
58     void onServerClosed();
59     void processBinaryMessage(QByteArray message);
60     void processTextMessage(QString message);
61     void serverSocketDisconnected();
62     void slot_timerTest();
63 #endif
64     void slot_turnOffRed();
65 private:
66     QObject *home;
67     QObject *shortcutArea;
68     QObject *statusArea;
69     QObject *logo;
70     QByteArray data;
71     ApplicationModel *appModel;
72     QWebSocket webSocket;
73     QTimer timerRed;
74     bool isRed;
75     int sequence;
76     bool jsonToMap(const QByteArray &buf, QVariantMap *map) const;
77     bool mapToJson(const QVariantMap &map, QByteArray *json) const;
78     bool jsonToList(const QByteArray &buf, QList<QVariant> *list) const;
79     bool listToJson(const QList<QVariant> &list, QByteArray *json) const;
80     void setUser(const User &user);
81 #ifndef REAL_SERVER
82     QTimer timerTest;
83     QWebSocket *pSocket;
84     QWebSocketServer *webSocketServer;
85     void launchServer();
86 #endif
87 };
88
89 #endif // USERMANAGEMENT_H