update soft sensor manager into latest version before CA merging
[platform/upstream/iotivity.git] / service / soft-sensor-manager / SSMCore / src / SensorProcessor / ResourceFinder.cpp
index 206e967..8f84e34 100644 (file)
@@ -71,7 +71,6 @@ void CResourceFinder::presenceHandler(OCStackResult result, const unsigned int n
     SSMRESULT res = SSM_E_FAIL;
     OCStackResult ret = OC_STACK_ERROR;
     intptr_t *pMessage = NULL;
-
     std::ostringstream requestURI;
 
     switch (result)
@@ -80,12 +79,6 @@ void CResourceFinder::presenceHandler(OCStackResult result, const unsigned int n
             requestURI << "coap://" << hostAddress << ":" << OC_MULTICAST_PORT <<
                        "/oc/core?rt=SoftSensorManager.Sensor";
 
-            ret = OC::OCPlatform::findResource("", requestURI.str(), OC_ETHERNET,
-                                               std::bind(&CResourceFinder::onResourceFound, this, std::placeholders::_1));
-
-            if (ret != OC_STACK_OK)
-                SSM_CLEANUP_ASSERT(SSM_E_FAIL);
-
             ret = OC::OCPlatform::findResource("", requestURI.str(), OC_WIFI,
                                                std::bind(&CResourceFinder::onResourceFound, this, std::placeholders::_1));
 
@@ -130,12 +123,6 @@ SSMRESULT CResourceFinder::startResourceFinder()
     std::ostringstream requestURI;
     requestURI << OC_WELL_KNOWN_QUERY << "?rt=SoftSensorManager.Sensor";
 
-    ret = OC::OCPlatform::findResource("", requestURI.str(), OC_ETHERNET,
-                                       std::bind(&CResourceFinder::onResourceFound, this, std::placeholders::_1));
-
-    if (ret != OC_STACK_OK)
-        SSM_CLEANUP_ASSERT(SSM_E_FAIL);
-
     ret = OC::OCPlatform::findResource("", requestURI.str(), OC_WIFI,
                                        std::bind(&CResourceFinder::onResourceFound, this, std::placeholders::_1));
 
@@ -143,13 +130,6 @@ SSMRESULT CResourceFinder::startResourceFinder()
         SSM_CLEANUP_ASSERT(SSM_E_FAIL);
 
     ret = OC::OCPlatform::subscribePresence(m_multicastPresenceHandle, OC_MULTICAST_IP,
-                                            "SoftSensorManager.Sensor", OC_ETHERNET, std::bind(&CResourceFinder::presenceHandler, this,
-                                                    std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
-
-    if (ret != OC_STACK_OK)
-        SSM_CLEANUP_ASSERT(SSM_E_FAIL);
-
-    ret = OC::OCPlatform::subscribePresence(m_multicastPresenceHandle, OC_MULTICAST_IP,
                                             "SoftSensorManager.Sensor", OC_WIFI, std::bind(&CResourceFinder::presenceHandler, this,
                                                     std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
 
@@ -192,13 +172,13 @@ SSMRESULT CResourceFinder::stopObserveResource(IN ISSMResource *pSensor)
 
 void CResourceFinder::onExecute(IN void *pArg)
 {
-    SSMRESULT           res = SSM_E_FAIL;
-    OCStackResult       ret = OC_STACK_ERROR;
-    OC::QueryParamsMap  queryParams;
+    SSMRESULT res = SSM_E_FAIL;
+    OCStackResult ret = OC_STACK_ERROR;
+    OC::QueryParamsMap queryParams;
     OICResourceHandler *pResourceHandler = NULL;
-    intptr_t           *pMessage =  reinterpret_cast<intptr_t *>(pArg);
+    intptr_t                 *pMessage = reinterpret_cast<intptr_t *>(pArg);
     std::shared_ptr< OC::OCResource > *pResource = NULL;
-    OC::OCPlatform::OCPresenceHandle   presenceHandle = NULL;
+    OC::OCPlatform::OCPresenceHandle presenceHandle = NULL;
 
     std::string resourceHostAddress = "";
     std::string resourceFullPath = "";
@@ -232,13 +212,6 @@ void CResourceFinder::onExecute(IN void *pArg)
                 m_mapResourcePresenceHandles.end())
             {
                 ret = OC::OCPlatform::subscribePresence(presenceHandle, ((ISSMResource *)pMessage[1])->ip,
-                                                        "SoftSensorManager.Sensor", OC_ETHERNET, std::bind(&CResourceFinder::presenceHandler, this,
-                                                                std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
-
-                if (ret != OC_STACK_OK)
-                    SSM_CLEANUP_ASSERT(SSM_E_FAIL);
-
-                ret = OC::OCPlatform::subscribePresence(presenceHandle, ((ISSMResource *)pMessage[1])->ip,
                                                         "SoftSensorManager.Sensor", OC_WIFI, std::bind(&CResourceFinder::presenceHandler, this,
                                                                 std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));
 
@@ -266,6 +239,7 @@ void CResourceFinder::onExecute(IN void *pArg)
                 m_mapResourcePresenceHandles.erase(((OICResourceHandler *)pMessage[1])->m_SSMResource.ip);
             }
 
+            delete m_mapResourceHandler[((OICResourceHandler *)pMessage[1])->m_SSMResource.name];
             m_mapResourceHandler.erase(((OICResourceHandler *) pMessage[1])->m_SSMResource.name);
             break;
     }
@@ -294,4 +268,4 @@ void CResourceFinder::onTerminate(IN void *pArg)
     }
 
     delete[] pMessage;
-}
\ No newline at end of file
+}