1 // Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache-2.0 license that can be
3 // found in the LICENSE file.
5 #ifndef COMMON_UTILS_USER_UTIL_H_
6 #define COMMON_UTILS_USER_UTIL_H_
16 namespace fs = std::filesystem;
18 namespace common_installer {
20 typedef std::vector<std::tuple<uid_t, gid_t, fs::path>> UserList;
22 UserList GetUserList();
23 std::optional<bool> IsAdminUser(uid_t uid);
24 std::optional<gid_t> GetGidByUid(uid_t uid);
25 std::string GetGroupNameByGid(gid_t gid);
26 std::string GetUsernameByUid(uid_t user);
27 std::optional<uid_t> GetUidByUserName(const char* username);
28 std::optional<gid_t> GetGidByGroupName(const char* groupname);
29 std::vector<std::string> GetLightUserList(uid_t uid);
31 } // namespace common_installer
33 #endif // COMMON_UTILS_USER_UTIL_H_