return G_SOURCE_REMOVE;
}
-static void destoryEventData(RttEventData *data)
+static void destroyRttResultEventData(std::vector<RttResult> rttResults)
{
- __NAN_LOG_FUNC_ENTER__;
- g_free(data);
+ for (RttResult & iter : rttResults) {
+ delete iter.lci;
+ delete iter.lcr;
+ }
+ rttResults.clear();
+}
+
+static void destoryEventData(RttEventData *eventData)
+{
+ __NAN_LOG_FUNC_ENTER__;
+
+ if (eventData->type == RTT_EVENT_RANGE_RESULT)
+ destroyRttResultEventData(*(static_cast<std::vector<RttResult> *>(eventData->data)));
+ g_free(eventData);
+
__NAN_LOG_FUNC_EXIT__;
}
memcpy(&rttResult.addr, rtt_result[i]->addr, 8);
rttResult.numMeasurement = rtt_result[i]->measurement_number;
rttResult.numSuccess = rtt_result[i]->success_number;
+
rttResult.error = convertLegacyRttStatusToRttError(rtt_result[i]->status);
- //rttResult. = result.LCI;
- //rttResult. = result.LCR;
+
+ rttResult.lci = new TlvElement(rtt_result[i]->LCI->id,
+ rtt_result[i]->LCI->len, rtt_result[i]->LCI->data);
+ rttResult.lcr = new TlvElement(rtt_result[i]->LCR->id,
+ rtt_result[i]->LCR->len, rtt_result[i]->LCR->data);
rttResults.push_back(rttResult);
}