void UdpConnection::onReceive(pbuf* buf, IPAddress remoteIP, uint16_t remotePort) { debugf("UDP received: %d bytes", buf->tot_len); if (onDataCallback) { char* data = new char[buf->tot_len + 1]; pbuf_copy_partial(buf, data, buf->tot_len, 0); data[buf->tot_len] = '\0'; onDataCallback(*this, data, buf->tot_len, remoteIP, remotePort); delete[] data; } }
MBOOL CamShotImp:: handleDataCallback(MINT32 const i4Msg, MUINT32 const ext1, MUINT32 const ext2, MUINT8* puData, MUINT32 const u4Size) { MBOOL ret = MTRUE; if (isDataMsgEnabled(i4Msg)) { CamShotDataInfo rCbDataInfo(i4Msg, ext1, ext2, puData, u4Size ); ret = onDataCallback(rCbDataInfo); } return ret; }