summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fa7952d)
This will be used during user removal in security-manager.
Change-Id: I524c9bf2da936054b7c1b597d7e4eaf879872912
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
EPkgIdExists,
EGetPkgId,
EGetPrivilegeGroups,
EPkgIdExists,
EGetPkgId,
EGetPrivilegeGroups,
{ QueryType::EPkgIdExists, "SELECT * FROM pkg WHERE name=?" },
{ QueryType::EGetPkgId, " SELECT pkg_name FROM app_pkg_view WHERE app_name = ?" },
{ QueryType::EGetPrivilegeGroups, " SELECT name FROM privilege_group_view WHERE privilege_name = ?" },
{ QueryType::EPkgIdExists, "SELECT * FROM pkg WHERE name=?" },
{ QueryType::EGetPkgId, " SELECT pkg_name FROM app_pkg_view WHERE app_name = ?" },
{ QueryType::EGetPrivilegeGroups, " SELECT name FROM privilege_group_view WHERE privilege_name = ?" },
+ { QueryType::EGetUserApps, "SELECT name FROM app WHERE uid=?" },
void GetPrivilegeGroups(const std::string &privilege,
std::vector<std::string> &grp_names);
void GetPrivilegeGroups(const std::string &privilege,
std::vector<std::string> &grp_names);
+ /**
+ * Retrieve list of apps assigned to user
+ *
+ * @param uid - user identifier
+ * @param[out] apps - list of apps assigned to user,
+ * this parameter do not need to be empty, but
+ * it is being overwritten during function call.
+ * @exception DB::SqlConnection::Exception::InternalError on internal error
+ */
+ void GetUserApps(uid_t uid, std::vector<std::string> &apps);
};
} //namespace SecurityManager
};
} //namespace SecurityManager
+void PrivilegeDb::GetUserApps(uid_t uid, std::vector<std::string> &apps)
+{
+ try_catch<void>([&] {
+ DB::SqlConnection::DataCommandAutoPtr command =
+ mSqlConnection->PrepareDataCommand(
+ Queries.at(QueryType::EGetUserApps));
+ command->BindInteger(1, static_cast<unsigned int>(uid));
+ apps.clear();
+ while (command->Step()) {
+ std::string app = command->GetColumnString(0);
+ LogDebug("User " << uid << " has app " << app << " installed");
+ apps.push_back(app);
+ };
+ });
+}
+
} //namespace SecurityManager
} //namespace SecurityManager