sensord: check URI to find the matched sensor 56/124556/1
authorkibak.yoon <seseki17@gmail.com>
Tue, 11 Apr 2017 15:32:56 +0000 (00:32 +0900)
committerkibak.yoon <seseki17@gmail.com>
Tue, 11 Apr 2017 17:50:04 +0000 (02:50 +0900)
Change-Id: Ib6d0364fd7036c295129872b7db79f0bd8f40685
Signed-off-by: kibak.yoon <seseki17@gmail.com>
src/client/sensor_manager.cpp

index 9a93cb5..74ed6c7 100644 (file)
@@ -272,8 +272,12 @@ sensor_info *sensor_manager::get_info(const char *uri)
                return &m_infos[0];
 
        for (auto it = m_infos.begin(); it != m_infos.end(); ++it) {
-               if ((*it).get_uri() == uri)
-                       return &*it;
+               std::size_t found = (*it).get_uri().rfind(uri);
+
+               if (found == std::string::npos)
+                       continue;
+
+               return &*it;
        }
 
        return NULL;
@@ -288,8 +292,12 @@ std::vector<sensor_info *> sensor_manager::get_infos(const char *uri)
                all = true;
 
        for (auto it = m_infos.begin(); it != m_infos.end(); ++it) {
-               if (all || (*it).get_type_uri() == uri)
-                       infos.push_back(&*it);
+               std::size_t found = (*it).get_uri().rfind(uri);
+
+               if (!all && found == std::string::npos)
+                       continue;
+
+               infos.push_back(&*it);
        }
 
        return infos;