equal
deleted
inserted
replaced
43 //m_argsList << datadir->absolutePath(); |
43 //m_argsList << datadir->absolutePath(); |
44 m_argsList << "--landpreview"; |
44 m_argsList << "--landpreview"; |
45 |
45 |
46 m_args.resize(m_argsList.size()); |
46 m_args.resize(m_argsList.size()); |
47 for(int i = m_argsList.size() - 1; i >=0; --i) |
47 for(int i = m_argsList.size() - 1; i >=0; --i) |
48 m_args[i] = m_argsList[i].data(); |
48 m_args[i] = m_argsList[i].constData(); |
49 |
49 |
50 RunEngine(m_args.size(), m_args.data()); |
50 RunEngine(m_args.size(), m_args.data()); |
51 sendIPC("!"); |
51 sendIPC("!"); |
52 } |
52 } |
53 |
53 |
66 qmlRegisterSingletonType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine", hwengine_singletontype_provider); |
66 qmlRegisterSingletonType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine", hwengine_singletontype_provider); |
67 } |
67 } |
68 |
68 |
69 void HWEngine::sendIPC(const QByteArray & b) |
69 void HWEngine::sendIPC(const QByteArray & b) |
70 { |
70 { |
71 string255 str; |
71 quint8 len = b.size() > 255 ? 255 : b.size(); |
72 str.len = b.size() > 255 ? 255 : b.size(); |
72 qDebug() << "sendIPC: len = " << len; |
73 qDebug() << "semdIPC: len = " << str.len; |
|
74 qCopy(b.data(), &(b.data()[str.len - 1]), &(str.str[0])); |
|
75 |
73 |
76 ipcToEngine(str); |
74 ipcToEngine(len, b.constData()); |
77 } |
75 } |
78 |
76 |
79 void HWEngine::engineMessageCallback(void *context, string255 str) |
77 void HWEngine::engineMessageCallback(void *context, quint8 len, const char *msg) |
80 { |
78 { |
81 QByteArray b = QByteArray::fromRawData((const char *)&str.s, str.len + 1); |
79 QByteArray b = QByteArray::fromRawData(msg, len); |
82 |
80 |
83 qDebug() << "FLIPC in" << b; |
81 qDebug() << "FLIPC in" << b; |
84 } |
82 } |