Merge pull request #92 from majestrate/win32-fixups-2020-11-30
Win32 fixups
This commit is contained in:
commit
59c91abaea
|
@ -51,13 +51,17 @@ void ApiPoller::pollDaemon() {
|
|||
qDebug() << "Warning: No endpoint; call ApiPoller::setApiEndpoint() before polling";
|
||||
return;
|
||||
}
|
||||
lmq.request(lmq_conn, m_rpcMethod,
|
||||
if(lmq_conn.has_value())
|
||||
{
|
||||
lmq.request(
|
||||
*lmq_conn,
|
||||
m_rpcMethod,
|
||||
[=](bool success, std::vector<std::string> data)
|
||||
{
|
||||
if(success and not data.empty())
|
||||
{
|
||||
emit statusAvailable(QString::fromStdString(data[0]));
|
||||
}
|
||||
if(success and not data.empty())
|
||||
{
|
||||
emit statusAvailable(QString::fromStdString(data[0]));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,12 @@ bool LokinetApiClient::invoke(const std::string& endpoint, QJsonObject args, Rep
|
|||
std::cout << "call " << endpoint;
|
||||
QJsonDocument doc(args);
|
||||
const auto req = doc.toJson();
|
||||
if(not lmq_conn.has_value())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
lmq.request(
|
||||
lmq_conn,
|
||||
*lmq_conn,
|
||||
std::string_view{endpoint},
|
||||
[cb = callback](bool success, std::vector<std::string> data)
|
||||
{
|
||||
|
|
|
@ -9,4 +9,4 @@ constexpr auto LOKINET_RPC_URL = "tcp://127.0.0.1:1190";
|
|||
extern std::string RPCURL;
|
||||
|
||||
extern lokimq::LokiMQ lmq;
|
||||
extern lokimq::ConnectionID lmq_conn;
|
||||
extern std::optional<lokimq::ConnectionID> lmq_conn;
|
||||
|
|
17
src/main.cpp
17
src/main.cpp
|
@ -18,7 +18,7 @@ constexpr bool isSystemd = false;
|
|||
#endif
|
||||
|
||||
lokimq::LokiMQ lmq{};
|
||||
lokimq::ConnectionID lmq_conn;
|
||||
std::optional<lokimq::ConnectionID> lmq_conn;
|
||||
std::string RPCURL{LOKINET_RPC_URL};
|
||||
|
||||
int32_t main(int32_t argc, char *argv[])
|
||||
|
@ -57,7 +57,20 @@ int32_t main(int32_t argc, char *argv[])
|
|||
#endif
|
||||
|
||||
lmq.start();
|
||||
lmq_conn = lmq.connect_remote(RPCURL, nullptr, nullptr);
|
||||
lmq.add_timer([]() {
|
||||
if(lmq_conn.has_value())
|
||||
return;
|
||||
lmq.connect_remote(
|
||||
RPCURL,
|
||||
[](lokimq::ConnectionID conn)
|
||||
{
|
||||
lmq_conn = conn;
|
||||
},
|
||||
[](auto, auto)
|
||||
{
|
||||
lmq_conn = std::nullopt;
|
||||
});
|
||||
}, std::chrono::milliseconds{500});
|
||||
QApplication app(argc, argv);
|
||||
app.setWindowIcon(QIcon(":/res/images/icon.svg"));
|
||||
app.setQuitOnLastWindowClosed(false);
|
||||
|
|
|
@ -21,16 +21,14 @@ WindowsLokinetProcessManager::WindowsLokinetProcessManager()
|
|||
bool WindowsLokinetProcessManager::doStartLokinetProcess()
|
||||
{
|
||||
// try searching one level up from CWD
|
||||
bool success = QProcess::startDetached(path, {"start", "lokinet"});
|
||||
if (!success)
|
||||
qDebug("QProcess::startDetached() failed");
|
||||
const bool success = QProcess::execute(path, {"start", "lokinet"}) == 0;
|
||||
int pid = -1;
|
||||
return success and doGetProcessPid(pid) and pid != -1;
|
||||
}
|
||||
|
||||
bool WindowsLokinetProcessManager::doStopLokinetProcess()
|
||||
{
|
||||
return QProcess::startDetached(path, {"stop", "lokinet"});
|
||||
return QProcess::execute(path, {"stop", "lokinet"}) == 0;
|
||||
}
|
||||
|
||||
bool WindowsLokinetProcessManager::doForciblyStopLokinetProcess()
|
||||
|
|
Loading…
Reference in New Issue