feat: Implement messaging support for Linux

This commit is contained in:
WerWolv
2025-01-27 19:07:22 +01:00
parent b2c8ed17d5
commit ef2373e8c0
6 changed files with 92 additions and 53 deletions

View File

@@ -27,7 +27,27 @@ namespace hex::messaging {
}
});
EventNativeMessageReceived::subscribe([](const std::string &eventName, const std::vector<u8> &eventData) {
EventNativeMessageReceived::subscribe([](const std::vector<u8> &rawData) {
ssize_t nullIndex = -1;
auto messageData = reinterpret_cast<const char*>(rawData.data());
size_t messageSize = rawData.size();
for (size_t i = 0; i < messageSize; i++) {
if (messageData[i] == '\0') {
nullIndex = i;
break;
}
}
if (nullIndex == -1) {
log::warn("Received invalid forwarded event");
return;
}
std::string eventName(messageData, nullIndex);
std::vector<u8> eventData(messageData + nullIndex + 1, messageData + messageSize);
messageReceived(eventName, eventData);
});
}