Move GetLightUserList() to user_util.h
[platform/core/appfw/app-installers.git] / src / common / utils / user_util.cc
index 6f01bbc..831c27f 100644 (file)
@@ -5,6 +5,7 @@
 #include "common/utils/user_util.h"
 
 #include <manifest_parser/utils/logging.h>
+#include <sessiond.h>
 
 #include <boost/filesystem/path.hpp>
 
@@ -177,4 +178,26 @@ std::string GetGroupNameByGid(gid_t gid) {
   return entry.gr_name;
 }
 
+std::vector<std::string> GetLightUserList(uid_t uid) {
+  int user_count = 0;
+  subsession_user_t* user_list = nullptr;
+  int ret = subsession_get_user_list(
+      static_cast<int>(uid), &user_list, &user_count);
+  if (ret != TIZEN_ERROR_NONE) {
+    LOG(ERROR) << "Failed to get light user list : " << ret;
+    return {};
+  }
+
+  std::vector<std::string> result_list;
+  for (int i = 0; i < user_count; i++) {
+    if (strlen(user_list[i]) == 0)
+      continue;
+
+    result_list.emplace_back(user_list[i]);
+  }
+
+  std::free(user_list);
+  return result_list;
+}
+
 }  // namespace common_installer