#include <time.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <tzplatform_config.h>
#include <xdgmime.h>
#include <vconf.h>
#include "ail.h"
#define BUFSIZE 4096
-#define GLOBAL_USER 0
+#define GLOBAL_USER tzplatform_getuid(TZ_SYS_GLOBALAPP_USER)
#define whitespace(c) (((c) == ' ') || ((c) == '\t'))
#define argsdelimiter " \t"
struct entry_parser {
const char *field;
- ail_error_e (*value_cb)(void *data, char *tag, char *value);
+ ail_error_e (*value_cb)(void *data, char *tag, char *value, uid_t uid);
};
inline static char *_ltrim(char *str)
-static ail_error_e _read_exec(void *data, char *tag, char *value)
+static ail_error_e _read_exec(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
char *token_exe_path;
-static ail_error_e _read_name(void *data, char *tag, char *value)
+static ail_error_e _read_name(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_type(void *data, char *tag, char *value)
+static ail_error_e _read_type(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_categories(void *data, char *tag, char *value)
+static ail_error_e _read_categories(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_version(void *data, char *tag, char *value)
+static ail_error_e _read_version(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_mimetype(void *data, char *tag, char *value)
+static ail_error_e _read_mimetype(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
int size, total_len = 0;
-static ail_error_e _read_nodisplay(void *data, char *tag, char *value)
+static ail_error_e _read_nodisplay(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s* info = data;
-static ail_error_e _read_x_slp_service(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_service(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_packagetype(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_packagetype(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_packagecategories(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_packagecategories(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_packageid(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_packageid(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
return AIL_ERROR_OK;
}
-static ail_error_e _read_x_slp_submodemainid(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_submodemainid(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
return AIL_ERROR_OK;
}
-static ail_error_e _read_x_slp_installedstorage(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_installedstorage(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
return AIL_ERROR_OK;
}
-static ail_error_e _read_x_slp_uri(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_uri(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_svc(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_svc(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_taskmanage(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_taskmanage(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_multiple(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_multiple(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
-static ail_error_e _read_x_slp_removable(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_removable(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
}
-static ail_error_e _read_x_slp_submode(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_submode(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
return AIL_ERROR_OK;
}
-static ail_error_e _read_x_slp_appid(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_appid(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
}
-static ail_error_e _read_x_slp_pkgid(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_pkgid(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
}
-static ail_error_e _read_x_slp_domain(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_domain(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
}
-static ail_error_e _read_x_slp_enabled(void *data, char *tag, char *value)
+static ail_error_e _read_x_slp_enabled(void *data, char *tag, char *value, uid_t uid)
{
desktop_info_s *info = data;
retv_if(!package, NULL);
- desktop_path = al_get_desktop_path(uid);
+ desktop_path = ail_get_desktop_path(uid);
size = strlen(desktop_path) + strlen(package) + 10;
desktop = malloc(size);
-static ail_error_e _read_desktop_info(desktop_info_s* info)
+static ail_error_e _read_desktop_info(desktop_info_s* info,uid_t uid)
{
char *line = NULL;
FILE *fp;
for (idx = 0; entry_parsers[idx].field; idx ++) {
if (!g_ascii_strcasecmp(entry_parsers[idx].field, field_name) && entry_parsers[idx].value_cb) {
- if (entry_parsers[idx].value_cb(info, tag, tmp) != AIL_ERROR_OK) {
+ if (entry_parsers[idx].value_cb(info, tag, tmp,uid) != AIL_ERROR_OK) {
_E("field - [%s] is wrong.", field_name);
}
break;
static int __is_authorized()
{
uid_t uid = getuid();
- if ((uid_t) 0 == uid )
+ if ((uid_t) GLOBAL_USER == uid )
return 1;
else
return 0;
ret = _init_desktop_info(&info, appid, uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
- ret = _read_desktop_info(&info);
+ ret = _read_desktop_info(&info,uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
ret = _insert_desktop_info(&info, uid);
ret = _init_desktop_info(&info, appid, uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
- ret = _read_desktop_info(&info);
+ ret = _read_desktop_info(&info,uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
ret = _update_desktop_info(&info, uid);
ret = _init_desktop_info(&info, appid, uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
- ret = _read_desktop_info(&info);
+ ret = _read_desktop_info(&info,uid);
retv_if(ret != AIL_ERROR_OK, AIL_ERROR_FAIL);
ret = _insert_desktop_info(&info, uid);