Browse Source

Cleanup for wormhole connection

pull/45/head
adityapk00 5 years ago
parent
commit
724c3b4f44
  1. 6
      src/mainwindow.cpp
  2. 4
      src/mainwindow.h
  3. 13
      src/websockets.cpp
  4. 42
      src/websockets.h

6
src/mainwindow.cpp

@ -68,7 +68,7 @@ MainWindow::MainWindow(QWidget *parent) :
if (rpc->getConnection() == nullptr)
return;
AppDataServer::connectAppDialog(this);
AppDataServer::getInstance()->connectAppDialog(this);
});
// Address Book
@ -109,7 +109,7 @@ MainWindow::MainWindow(QWidget *parent) :
}
void MainWindow::createWebsocket() {
new WSServer(8237, true, this);
wsserver = new WSServer(8237, false, this);
}
void MainWindow::restoreSavedStates() {
@ -1365,4 +1365,6 @@ MainWindow::~MainWindow()
delete loadingMovie;
delete logger;
delete wsserver;
}

4
src/mainwindow.h

@ -7,6 +7,7 @@
// Forward declare to break circular dependency.
class RPC;
class Settings;
class WSServer;
using json = nlohmann::json;
@ -93,7 +94,6 @@ private:
void addressBook();
void payZcashURI();
void postToZBoard();
void connectApp();
void importPrivKey();
void exportAllKeys();
void exportKeys(QString addr = "");
@ -106,6 +106,8 @@ private:
void createWebsocket();
WSServer* wsserver = nullptr;
RPC* rpc = nullptr;
QCompleter* labelCompleter = nullptr;

13
src/websockets.cpp

@ -46,7 +46,7 @@ void WSServer::processTextMessage(QString message)
qDebug() << "Message received:" << message;
if (pClient) {
AppDataServer::processMessage(message, m_mainWindow, pClient);
AppDataServer::getInstance()->processMessage(message, m_mainWindow, pClient);
}
}
@ -55,9 +55,7 @@ void WSServer::processBinaryMessage(QByteArray message)
QWebSocket *pClient = qobject_cast<QWebSocket *>(sender());
if (m_debug)
qDebug() << "Binary Message received:" << message;
if (pClient) {
pClient->sendBinaryMessage(message);
}
}
void WSServer::socketDisconnected()
@ -74,6 +72,8 @@ void WSServer::socketDisconnected()
// ==============================
// AppDataServer
// ==============================
AppDataServer* AppDataServer::instance = nullptr;
QString AppDataServer::getSecretHex() {
QSettings s;
@ -87,9 +87,6 @@ void AppDataServer::saveNewSecret(QString secretHex) {
s.sync();
}
QString AppDataServer::tempSecret = "";
Ui_MobileAppConnector* AppDataServer::ui = nullptr;
void AppDataServer::connectAppDialog(QWidget* parent) {
QDialog d(parent);
ui = new Ui_MobileAppConnector();
@ -574,4 +571,4 @@ void AppDataServer::processGetTransactions(MainWindow* mainWindow, QWebSocket* p
// ==============================
// AppDataModel
// ==============================
AppDataModel* AppDataModel::instance = NULL;
AppDataModel* AppDataModel::instance = nullptr;

42
src/websockets.h

@ -40,28 +40,38 @@ enum NonceType {
class AppDataServer {
public:
static void connectAppDialog(QWidget* parent);
static void updateConnectedUI();
static void updateUIWithNewQRCode();
static AppDataServer* getInstance() {
if (instance == nullptr) {
instance = new AppDataServer();
}
return instance;
}
static void processSendTx(QJsonObject sendTx, MainWindow* mainwindow, QWebSocket* pClient);
static void processMessage(QString message, MainWindow* mainWindow, QWebSocket* pClient);
static void processDecryptedMessage(QString message, MainWindow* mainWindow, QWebSocket* pClient);
static void processGetInfo(QJsonObject jobj, MainWindow* mainWindow, QWebSocket* pClient);
static void processGetTransactions(MainWindow* mainWindow, QWebSocket* pClient);
void connectAppDialog(QWidget* parent);
void updateConnectedUI();
void updateUIWithNewQRCode();
static QString decryptMessage(QJsonDocument msg, QString secretHex, bool skipNonceCheck = false);
static QString encryptOutgoing(QString msg);
void processSendTx(QJsonObject sendTx, MainWindow* mainwindow, QWebSocket* pClient);
void processMessage(QString message, MainWindow* mainWindow, QWebSocket* pClient);
void processGetInfo(QJsonObject jobj, MainWindow* mainWindow, QWebSocket* pClient);
void processDecryptedMessage(QString message, MainWindow* mainWindow, QWebSocket* pClient);
void processGetTransactions(MainWindow* mainWindow, QWebSocket* pClient);
static QString getSecretHex();
static void saveNewSecret(QString secretHex);
QString decryptMessage(QJsonDocument msg, QString secretHex, bool skipNonceCheck = false);
QString encryptOutgoing(QString msg);
static QString getNonceHex(NonceType nt);
static void saveNonceHex(NonceType nt, QString noncehex);
QString getSecretHex();
void saveNewSecret(QString secretHex);
QString getNonceHex(NonceType nt);
void saveNonceHex(NonceType nt, QString noncehex);
private:
static QString tempSecret;
static Ui_MobileAppConnector* ui;
AppDataServer() = default;
static AppDataServer* instance;
QString tempSecret;
Ui_MobileAppConnector* ui;
};
class AppDataModel {

Loading…
Cancel
Save