This commit is contained in:
2026-03-26 14:35:10 +01:00
parent b35a982c6f
commit cf28fba3f5
14 changed files with 314 additions and 149 deletions

View File

@@ -6,6 +6,7 @@
#include "shm.h"
#include "shmqueue.h"
#include "command.h"
#include "utils.h"
#include <QJsonDocument>
#include <QJsonObject>
@@ -23,7 +24,7 @@ static void free_data(rkt_data_t *d)
free(d->data.js_result.value);
free(d);
} else {
fprintf(stderr, "UNEXPECTED: data kind %d cannot be freed\n", d->kind);
ERROR1("UNEXPECTED: data kind %d cannot be freed\n", d->kind);
}
}
@@ -62,10 +63,10 @@ int main(int argc, char *argv[])
{
const char *me = argv[0];
fprintf(stderr, "%s runs\n", argv[0]);fflush(stderr);
INFO1("%s runs\n", argv[0]);
if (argc < 6) {
fprintf(stderr, "%s: wrong number of arguments\n", me);fflush(stderr);
ERROR1("%s: wrong number of arguments\n", me);
exit(1);
}
@@ -80,11 +81,11 @@ int main(int argc, char *argv[])
int res_slot = atoi(res_slot_str);
int evt_slot = atoi(evt_slot_str);
fprintf(stderr, "%s %s %s %s %s %s\n", me, shm_name, shm_size_str, cmd_slot_str, res_slot_str, evt_slot_str);fflush(stderr);
fprintf(stderr, "%s %s %ld %d %d %d\n", me, shm_name, shm_size, cmd_slot, res_slot, evt_slot);fflush(stderr);
MKLOGSTMT(LOG_INFO, fprintf(stderr, "%s %s %s %s %s %s\n", me, shm_name, shm_size_str, cmd_slot_str, res_slot_str, evt_slot_str));
MKLOGSTMT(LOG_INFO, fprintf(stderr, "%s %s %ld %d %d %d\n", me, shm_name, shm_size, cmd_slot, res_slot, evt_slot));
if (!(shm_size > 0 && cmd_slot > 0 && res_slot > 0 && evt_slot > 0)) {
fprintf(stderr, "%s: Invalid shm size or slots\n", me);fflush(stderr);
ERROR1("%s: Invalid shm size or slots\n", me);
exit(2);
}
@@ -100,10 +101,10 @@ int main(int argc, char *argv[])
handler->webview_handler->initApp();
handler->webview_handler->execApp();
fprintf(stderr, "waiting for thread to end\n");fflush(stderr);
INFO0("waiting for thread to end\n");
handler->wait();
fprintf(stderr, "cleaning up shm\n");fflush(stderr);
INFO0("cleaning up shm\n");
delete handler->webview_handler;
delete handler->command_queue;
@@ -126,9 +127,9 @@ void Handler::run()
switch(cmd) {
case CMD_QUIT: {
fprintf(stderr, "Got quit message\n");
INFO0("Got quit message\n");
webview_handler->rktQuit();
fprintf(stderr, "Enqueing RESULT_QUIT to result queue\n");
INFO0("Enqueing RESULT_QUIT to result queue\n");
result_queue->enqueue(RESULT_QUIT);
quit = true;
}
@@ -182,7 +183,6 @@ void Handler::run()
}
break;
case CMD_CALL_JS: {
fprintf(stderr, "Calljs\n");
int wv = data_obj["wv"].toInt();
QString js = data_obj["js"].toString();
rkt_data_t *res = webview_handler->rktCallJs(wv, js.toUtf8().constData());
@@ -320,7 +320,7 @@ void Handler::run()
}
break;
default: {
fprintf(stderr, "Unknown command: %d\n", cmd);fflush(stderr);
ERROR1("Unknown command: %d\n", cmd);
}
}
}