Set LCI and LCR in RttResultEvent
authorSeonah Moon <seonah1.moon@samsung.com>
Mon, 27 Jul 2020 05:21:36 +0000 (14:21 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Mon, 27 Jul 2020 05:21:39 +0000 (14:21 +0900)
include/RttResult.h
src/RttHalEventCallbackHandler.cpp

index a9e8b7344520e827f8193637324d8bb313885a30..e27d3895ce418fe9b8f94ff86645cee11fb04eae 100644 (file)
@@ -33,11 +33,10 @@ public:
        uint32_t numSuccess;
        uint32_t distance; // mm
 
-       //TlvElement lci;
-       //ssTlvElement lcr;
+       TlvElement *lci;
+       TlvElement *lcr;
 
        RttError error;
-
 };
 
 NAN_NAMESPACE_END
index 7b273289b122ef4a6569aa514dcaf9b41d2e2bff..b6bb49093a95fc11472b225c660f40c25e09cc14 100644 (file)
@@ -115,10 +115,23 @@ static gboolean handleEvent(gpointer event)
        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__;
 }
 
@@ -165,9 +178,13 @@ void onRttResults(wifi_request_id id, unsigned num_results, wifi_rtt_result *rtt
                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);
        }