X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc2%2Fusermanagement.h;fp=HomeScreen%2Fsrc2%2Fusermanagement.h;h=382d1ac085a5262f606f9365627010ac866ae50e;hb=2a803ddcf479ba70b08b199e0448521969796a14;hp=099c9917b4956cc359de9a3d57f4560be72e2fa7;hpb=29be7bef7c0bb700af8992c73ab7a3c6d1fbdfce;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src2/usermanagement.h b/HomeScreen/src2/usermanagement.h index 099c991..382d1ac 100644 --- a/HomeScreen/src2/usermanagement.h +++ b/HomeScreen/src2/usermanagement.h @@ -1,32 +1,85 @@ #ifndef USERMANAGEMENT_H #define USERMANAGEMENT_H +#define REAL_SERVER "ws://your_server.com:1234" + #include #include "applicationmodel.h" #include +#include #include +#ifndef REAL_SERVER +#include +#endif +struct User { + QString postal_address; + QPointF loc; + QString country; + QString mail; + QString city; + QString graphEmail; + QString graphPreferredLanguage; + QString ccNumberMasked; + QString ccExpYear; + QString ccExpMonth; + QString description; + QStringList groups; + QString last_name; + QString ccNumber; + QString house_identifier; + QString phone; + QString name; + QString state; + QString common_name; + QString fax; + QString postal_code; + QString first_name; + QString keytoken; +}; + class UserManagement : public QObject { Q_OBJECT public: - explicit UserManagement(QObject *home, QObject *shortcutArea, QObject *statusArea); + explicit UserManagement(QObject *root); signals: public slots: - void slot_timerTest(); + 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 private: QObject *home; QObject *shortcutArea; QObject *statusArea; + QObject *logo; + QByteArray data; ApplicationModel *appModel; - QTimer timerTest; - QString currentLanguage; QWebSocket webSocket; - void connectWebsockets(const QUrl &url); + int sequence; + bool jsonToMap(const QByteArray &buf, QVariantMap *map) const; + bool mapToJson(const QVariantMap &map, QByteArray *json) const; + bool jsonToList(const QByteArray &buf, QList *list) const; + bool listToJson(const QList &list, QByteArray *json) const; + void setUser(const User &user); +#ifndef REAL_SERVER + QTimer timerTest; + QWebSocket *pSocket; + QWebSocketServer *webSocketServer; + void launchServer(); +#endif }; #endif // USERMANAGEMENT_H