mdgd: Send group information as vector of strings in GET Request 57/187357/2
authorSaurav Babu <saurav.babu@samsung.com>
Wed, 22 Aug 2018 07:27:46 +0000 (12:57 +0530)
committerSaurav Babu <saurav.babu@samsung.com>
Wed, 22 Aug 2018 07:30:46 +0000 (13:00 +0530)
Change-Id: I518a2841a34d5e896e91caa2167c9196c07750e5
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/mdg-manager/src/mdgd_iot_client.cpp
src/mdg-manager/src/mdgd_iot_server.cpp

index b702f4ed0f2bff6c0719145ba7cf2220e94b55a7..dc5213cdcd97a7dee46ee58cdf750a372247afec 100755 (executable)
@@ -200,16 +200,24 @@ static void __get_group_information(const HeaderOptions& headerOptions,
                        eCode == OC_STACK_RESOURCE_CHANGED) {
                        mdgd_check_null_ret("user_data", user_data);
                        mdgd_group_t *group = (mdgd_group_t *)user_data;
-                       std::map<std::string, AttributeValue> groups = rep.getValues();
-                       std::map<std::string, AttributeValue>::iterator iter;
+                       std::vector<std::string> group_list;
+                       int i;
 
-                       for (iter = groups.begin(); iter != groups.end(); ++iter) {
-                               std::string group_name = (*iter).first;
-                               group->group_name = g_strdup(group_name.c_str());
-                               LOG_DEBUG("Group Found : %s, Type : %d", group->group_name, group->type);
+                       if (!rep.getValue("GroupList", group_list)) {
+                               LOG_ERR("GroupList not found in representation");
+                               LOG_END();
+                               return;
+                       }
 
-                               mdgd_group_notify_event(group->sender, MDGD_EVENT_GROUP_FOUND, MDGD_ERROR_NONE, (void *)group);
+                       LOG_DEBUG("Device %s Number of groups %d", group->device_id,
+                                         group_list.size());
 
+                       for (i = 0; i < group_list.size(); i++) {
+                               group->group_name = g_strdup(group_list[i].c_str());
+                               LOG_DEBUG("Group Found : %s, Type : %d", group->group_name,
+                                                 group->type);
+                               mdgd_group_notify_event(group->sender, MDGD_EVENT_GROUP_FOUND,
+                                                                               MDGD_ERROR_NONE, (void *)group);
                                g_free(group->group_name);
                                group->group_name = NULL;
                        }
index 58bc9891fadccff2d03ec8adf45d28d796b397f3..79cd5eeb1fc7b1ec60b93117ccccdc81bbf8e9f1 100755 (executable)
@@ -319,10 +319,12 @@ OCEntityHandlerResult _request_handler(std::shared_ptr<OCResourceRequest> reques
                                char *groups[256];
 
                                mdgd_db_get_groups(groups, &group_count);
+                               std::vector<std::string> group_list;
                                for (int i = 0; i < group_count; i++) {
                                        LOG_DEBUG("%d. group name : %s", i+1, groups[i]);
-                                       responseRep.setValue(std::string(groups[i]), "NONE");
+                                       group_list.push_back(groups[i]);
                                }
+                               responseRep.setValue("GroupList", group_list);
                        } else {
                                LOG_ERR("Unknown Resource URI");
                        }