示例#1
0
文件: IpcReader.cpp 项目: 335/synergy
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;
}
示例#2
0
void IpcClient::handleReadLogLine(const QString& text)
{
	readLogLine(text);
}