refactor: Make RPCExecutor* a member of the RPCConsole class

This commit is contained in:
Hennadii Stepanov 2022-04-21 00:13:12 +02:00
parent 61457c179a
commit fdf7285950
No known key found for this signature in database
GPG key ID: 410108112E7EA81F
2 changed files with 8 additions and 6 deletions

View file

@ -1091,11 +1091,11 @@ void RPCConsole::browseHistory(int offset)
void RPCConsole::startExecutor()
{
RPCExecutor *executor = new RPCExecutor(m_node);
executor->moveToThread(&thread);
m_executor = new RPCExecutor(m_node);
m_executor->moveToThread(&thread);
// Replies from executor object must go to this object
connect(executor, &RPCExecutor::reply, this, [this](int category, const QString& command) {
connect(m_executor, &RPCExecutor::reply, this, [this](int category, const QString& command) {
// Remove "Executing…" message.
ui->messagesWidget->undo();
message(category, command);
@ -1104,15 +1104,15 @@ void RPCConsole::startExecutor()
});
// Requests from this object must go to executor
connect(this, &RPCConsole::cmdRequest, executor, &RPCExecutor::request);
connect(this, &RPCConsole::cmdRequest, m_executor, &RPCExecutor::request);
// Make sure executor object is deleted in its own thread
connect(&thread, &QThread::finished, executor, &RPCExecutor::deleteLater);
connect(&thread, &QThread::finished, m_executor, &RPCExecutor::deleteLater);
// Default implementation of QThread::run() simply spins up an event loop in the thread,
// which is what we want.
thread.start();
QTimer::singleShot(0, executor, []() {
QTimer::singleShot(0, m_executor, []() {
util::ThreadRename("qt-rpcconsole");
});
}

View file

@ -21,6 +21,7 @@
class ClientModel;
class PlatformStyle;
class RPCExecutor;
class RPCTimerInterface;
class WalletModel;
@ -173,6 +174,7 @@ private:
int consoleFontSize = 0;
QCompleter *autoCompleter = nullptr;
QThread thread;
RPCExecutor* m_executor{nullptr};
WalletModel* m_last_wallet_model{nullptr};
bool m_is_executing{false};
QByteArray m_peer_widget_header_state;