PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
-PKG_CHECK_MODULES(LIBSESSIOND_DEPS REQUIRED libsessiond)
PKG_CHECK_MODULES(LIBSMACK_DEPS REQUIRED libsmack)
PKG_CHECK_MODULES(LIBTZPLATFORM_CONFIG_DEPS REQUIRED libtzplatform-config)
PKG_CHECK_MODULES(LIBXML_DEPS REQUIRED libxml-2.0)
GIO_DEPS
GLIB_DEPS
INIPARSER_DEPS
- LIBSESSIOND_DEPS
LIBSMACK_DEPS
LIBTZPLATFORM_CONFIG_DEPS
LIBXML_DEPS
*
*/
-#include <sessiond.h>
#include <sys/types.h>
#include <tzplatform_config.h>
#include <unistd.h>
constexpr const char kSharedDataDir[] = "shared/data/";
constexpr const char kSharedTrustedDir[] = "shared/trusted/";
constexpr const char kSharedResourceDir[] = "shared/res/";
-constexpr const char kSubssesionDir[] = "subsession/";
constexpr const char kAppRWDir[] = "apps_rw/";
constexpr const char kLightUserSwitchModeDefault[] = "default";
-std::string GetCurrentLightUser(uid_t uid) {
- subsession_user_t user{};
- int ret = subsession_get_current_user(uid, user);
- if (ret != TIZEN_ERROR_NONE) {
- _E("Failed to get subsession current user. error(%d)", ret);
- return "";
- }
-
- return user;
-}
-
-std::string GetRWPath(const std::string& pkg_id,
- const std::string& light_user_switch_mode, uid_t uid) {
- std::string path;
+std::string GetRWPath(const std::string& pkg_id, uid_t uid) {
tzplatform_set_user(uid);
-
- if (light_user_switch_mode != kLightUserSwitchModeDefault) {
- std::string current_user = GetCurrentLightUser(uid);
- if (!current_user.empty()) {
- path = std::string(tzplatform_getenv(TZ_USER_HOME)) + "/" + kSubssesionDir
- + current_user + "/" + kAppRWDir + pkg_id;
- }
- }
-
- if (path.empty())
- path = std::string(tzplatform_getenv(TZ_USER_APP)) + "/" + pkg_id;
-
+ std::string path = std::string(tzplatform_getenv(TZ_USER_APP)) + "/" + pkg_id;
tzplatform_reset_user();
return path;
}
return nullptr;
std::string root_path = info->GetRootPath();
- std::string rw_path = GetRWPath(info->GetPkgId(),
- info->GetLightUserSwitchMode(), uid);
+ std::string rw_path = GetRWPath(info->GetPkgId(), uid);
return Builder().SetRootPath(info->GetRootPath())
.SetDataPath(GetPath(rw_path, kDataDir))
.SetCachePath(GetPath(rw_path, kCacheDir))
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gmock)
BuildRequires: pkgconfig(iniparser)
-BuildRequires: pkgconfig(libsessiond)
BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(libtzplatform-config)
BuildRequires: pkgconfig(libxml-2.0)