1 #ifndef USERMANAGEMENT_H
2 #define USERMANAGEMENT_H
4 #define REAL_SERVER "ws://localhost:1212/api?token=hello"
7 #include "applicationmodel.h"
10 #include <QtWebSockets/QWebSocket>
12 #include <QtWebSockets/QWebSocketServer>
14 //{"postal_address":"201 Mission Street","loc":"37.7914374,-122.3950694","country":"USA","mail":"bjensen@example.com",
15 //"city":"San Francisco","graphEmail":"bjensen@example.com","graphPreferredLanguage":"en","ccNumberMasked":"************1212",
16 //"ccExpYear":"19","description":"Original description","ccExpMonth":"01","groups":[],"last_name":"Jensen"
17 //"ccNumber":"123-1111-2222-3333-1212","house_identifier":"ForgeRock","phone":"+1 408 555 1862","name":"bjensen"
18 //"state":"CA","fax":"+1 408 555 1862","common_name":"Barbara Jensen","postal_code":"94105","first_name":"Barbara","keytoken":"EB:7C:23:C6:21:BF"}
19 //"graphActions":"Install App,Update Software,Exceed 100 Kph,Open Trunk,View Online"
21 QString postal_address;
27 QString graphPreferredLanguage;
28 QString ccNumberMasked;
35 QString house_identifier;
44 QStringList graphActions;
47 class UserManagement : public QObject
51 explicit UserManagement(QObject *root);
56 void connectWebsockets();
59 void onTextMessageReceived(QString message);
60 void onWebSocketError(QAbstractSocket::SocketError);
63 void onServerNewConnection();
64 void onServerClosed();
65 void processBinaryMessage(QByteArray message);
66 void processTextMessage(QString message);
67 void serverSocketDisconnected();
68 void slot_timerTest();
72 QObject *shortcutArea;
76 ApplicationModel *appModel;
79 bool jsonToMap(const QByteArray &buf, QVariantMap *map) const;
80 bool mapToJson(const QVariantMap &map, QByteArray *json) const;
81 bool jsonToList(const QByteArray &buf, QList<QVariant> *list) const;
82 bool listToJson(const QList<QVariant> &list, QByteArray *json) const;
83 void setUser(const User &user);
87 QWebSocketServer *webSocketServer;
92 #endif // USERMANAGEMENT_H