void IpcReader::read() { QMutexLocker locker(&m_Mutex); std::cout << "ready read" << std::endl; while (m_Socket->bytesAvailable()) { std::cout << "bytes available" << std::endl; char codeBuf[5]; readStream(codeBuf, 4); codeBuf[4] = 0; std::cout << "ipc read: " << codeBuf << std::endl; if (memcmp(codeBuf, kIpcMsgLogLine, 4) == 0) { std::cout << "reading log line" << std::endl; char lenBuf[4]; readStream(lenBuf, 4); int len = bytesToInt(lenBuf, 4); char* data = new char[len]; readStream(data, len); QString line = QString::fromUtf8(data, len); delete data; readLogLine(line); } else { std::cerr << "aborting, message invalid" << std::endl; return; } } std::cout << "read done" << std::endl; }
void IpcClient::handleReadLogLine(const QString& text) { readLogLine(text); }