+++ /dev/null
-# Alias
-[Alias]
-tizen.imageviewer=org.tizen.image-viewer
-tizen.internet=org.tizen.browser
-tizen.phone=org.tizen.phone
-tizen.filemanager=org.tizen.myfile
-tizen.call=org.tizen.call-ui
-tizen.smsmessages=org.tizen.message
-tizen.mmsmessages=org.tizen.message
-tizen.messages=org.tizen.message
-tizen.camera=org.tizen.camera-app
install -m 0644 .component.db %{buildroot}%{TZ_SYS_DB}
install -m 0644 .component.db-journal %{buildroot}%{TZ_SYS_DB}
-mkdir -p %{buildroot}%{_datadir}/appsvc
-cp -R %{_builddir}/%{name}-%{version}/alias/* %{buildroot}%{_datadir}/appsvc
-
mkdir -p %{buildroot}%{_sysconfdir}/gumd/useradd.d
cp -f scripts/12_appsvc-add.post %{buildroot}%{_sysconfdir}/gumd/useradd.d/12_appsvc-add.post
%{_bindir}/aul_window
%{_datadir}/aul/miregex/*
%{_datadir}/aul/preexec_list.txt
-%{_datadir}/appsvc/*
%{_datadir}/parser-plugins/component.info
%{_datadir}/parser-plugins/alias-appid.info
%{_datadir}/parser-plugins/allowed-appid.info
std::string appid_;
};
-class AppSvcAlias {
- public:
- AppSvcAlias() = default;
-
- void Load() {
- std::lock_guard<std::mutex> lock(mutex_);
- if (loaded_)
- return;
-
- dictionary* dict = iniparser_load("/usr/share/appsvc/alias.ini");
- if (dict == nullptr) {
- loaded_ = true;
- return;
- }
-
- std::string delimiter = "Alias:";
- for (int i = 0; i < dict->n; ++i) {
- if (dict->key[i] == nullptr || dict->val[i] == nullptr)
- continue;
-
- std::string key = dict->key[i];
- key.erase(0, key.find(delimiter) + delimiter.length() + 1);
- std::string value = dict->val[i];
- map_[key] = value;
- }
-
- iniparser_freedict(dict);
- loaded_ = true;
- }
-
- std::string GetAliasAppId(const std::string& alias_appid) {
- auto found = map_.find(alias_appid);
- if (found == map_.end())
- return {};
-
- SECURE_LOGD("alias_appid: %s, appid: %s",
- alias_appid.c_str(), found->second.c_str());
- return found->second;
- }
-
- private:
- bool loaded_ = false;
- std::unordered_map<std::string, std::string> map_;
- std::mutex mutex_;
-};
-
-AppSvcAlias appsvc_alias;
-
int SetBundle(bundle* b, const char* key, const char* value) {
if (bundle_get_type(b, key) != BUNDLE_TYPE_NONE) {
if (bundle_del(b, key) != BUNDLE_ERROR_NONE)
return AUL_SVC_RET_OK;
}
-std::string GetAliasAppId(const char* appid) {
- appsvc_alias.Load();
- return appsvc_alias.GetAliasAppId(appid);
-}
-
bool IsSpecialApp(const char* appid) {
if (!strcmp(appid, APP_SELECTOR) || !strcmp(appid, SHARE_PANEL))
return true;
return AUL_SVC_RET_EINVAL;
}
- if (TIZEN_FEATURE_APPSVC_ALIAS) {
- std::string alias_id = ::GetAliasAppId(appid);
- if (!alias_id.empty())
- return ::SetBundle(b, AUL_SVC_K_PKG_NAME, alias_id.c_str());
- }
-
return ::SetBundle(b, AUL_SVC_K_PKG_NAME, appid);
}