#include <sys/types.h>
#include <glib.h>
+#include <dlog.h>
+
+#include "queue.h"
#ifdef LOG_TAG
#undef LOG_TAG
#endif /* LOG_TAG */
#define LOG_TAG "PKGMGR_SERVER"
-#include "package-manager-debug.h"
-#define CONF_FILE "/etc/package-manager/server/.config"
-#define DESKTOP_FILE_DIRS "/usr/share/install-info/desktop.conf"
+#ifndef ERR
+#define ERR(fmt, args...) LOGE("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
+
+#ifndef DBG
+#define DBG(fmt, args...) LOGD("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
-#define PKG_BACKEND "backend:"
-#define PKG_CONF_PATH "/etc/package-manager/pkg_path.conf"
+#ifndef INFO
+#define INFO(fmt, args...) LOGI("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
#define MAX_REQ_ID_LEN 256
#define MAX_PKG_TYPE_LEN 128
#define MAX_PKG_ARGS_LEN 4096
#define DESKTOP_FILE_DIRS_NUM 1024
+#define REGULAR_USER 5000
+
enum request_type {
- PKGMGR_REQUEST_TYPE_INSTALL,
- PKGMGR_REQUEST_TYPE_REINSTALL,
- PKGMGR_REQUEST_TYPE_UNINSTALL,
- PKGMGR_REQUEST_TYPE_MOVE,
- PKGMGR_REQUEST_TYPE_ENABLE,
- PKGMGR_REQUEST_TYPE_DISABLE,
- PKGMGR_REQUEST_TYPE_GETSIZE,
- PKGMGR_REQUEST_TYPE_CLEARDATA,
- PKGMGR_REQUEST_TYPE_CLEARCACHE,
- PKGMGR_REQUEST_TYPE_ENABLE_GLOBAL_APP,
- PKGMGR_REQUEST_TYPE_DISABLE_GLOBAL_APP,
- PKGMGR_REQUEST_TYPE_KILL,
- PKGMGR_REQUEST_TYPE_CHECK,
- PKGMGR_REQUEST_TYPE_GENERATE_LICENSE_REQUEST,
- PKGMGR_REQUEST_TYPE_REGISTER_LICENSE,
- PKGMGR_REQUEST_TYPE_DECRYPT_PACKAGE,
- PKGMGR_REQUEST_TYPE_ADD_BLACKLIST,
- PKGMGR_REQUEST_TYPE_REMOVE_BLACKLIST,
- PKGMGR_REQUEST_TYPE_CHECK_BLACKLIST,
+ REQUEST_TYPE_INSTALL,
+ REQUEST_TYPE_MOUNT_INSTALL,
+ REQUEST_TYPE_REINSTALL,
+ REQUEST_TYPE_UNINSTALL,
+ REQUEST_TYPE_MOVE,
+ REQUEST_TYPE_ENABLE_PKG,
+ REQUEST_TYPE_DISABLE_PKG,
+ REQUEST_TYPE_ENABLE_APP,
+ REQUEST_TYPE_DISABLE_APP,
+ REQUEST_TYPE_GETSIZE,
+ REQUEST_TYPE_GETSIZE_SYNC,
+ REQUEST_TYPE_CLEARDATA,
+ REQUEST_TYPE_CLEARCACHE,
+ REQUEST_TYPE_ENABLE_GLOBAL_APP_FOR_UID,
+ REQUEST_TYPE_DISABLE_GLOBAL_APP_FOR_UID,
+ REQUEST_TYPE_KILL,
+ REQUEST_TYPE_CHECK,
+ REQUEST_TYPE_GENERATE_LICENSE_REQUEST,
+ REQUEST_TYPE_REGISTER_LICENSE,
+ REQUEST_TYPE_DECRYPT_PACKAGE,
+ REQUEST_TYPE_ENABLE_APP_SPLASH_SCREEN,
+ REQUEST_TYPE_DISABLE_APP_SPLASH_SCREEN,
+ REQUEST_TYPE_SET_RESTRICTION_MODE,
+ REQUEST_TYPE_UNSET_RESTRICTION_MODE,
+ REQUEST_TYPE_GET_RESTRICTION_MODE,
+ REQUEST_TYPE_SET_APP_LABEL,
+ REQUEST_TYPE_MIGRATE_EXTERNAL_IMAGE,
};
-typedef struct {
- char req_id[MAX_REQ_ID_LEN];
- int req_type;
- uid_t uid;
- char pkg_type[MAX_PKG_TYPE_LEN];
- char pkgid[MAX_PKG_NAME_LEN];
- char args[MAX_PKG_ARGS_LEN];
-} pm_dbus_msg;
-
-typedef struct backend_info_t {
- int pid;
- uid_t uid;
- char pkgtype[MAX_PKG_TYPE_LEN];
- char pkgid[MAX_PKG_NAME_LEN];
- char args[MAX_PKG_ARGS_LEN];
-} backend_info;
-
-char *_get_backend_cmd(char *type);
-
gboolean queue_job(void *data);
-int __return_value_to_caller(const char *req_key, GVariant *result);
-int __init_request_handler(void);
-void __fini_request_handler(void);
-int __add_blacklist(uid_t uid, const char *pkgid);
-int __remove_blacklist(uid_t uid, const char *pkgid);
-int __check_blacklist(uid_t uid, const char *pkgid, int *result);
+int _return_value_to_caller(const char *req_key, GVariant *result);
+int _init_request_handler(void);
+void _fini_request_handler(void);
+void _send_app_signal(uid_t uid, const char *req_id,
+ const char *pkgid, const char *appid,
+ const char *key, const char *val, int req_type);
+void _send_fail_signal(struct backend_job *job);
+int _set_restriction_mode(uid_t uid, const char *pkgid, int mode);
+int _unset_restriction_mode(uid_t uid, const char *pkgid, int mode);
+int _get_restriction_mode(uid_t uid, const char *pkgid, int *mode);
+const char *_get_pkgtype_from_file(const char *file_path);
+char *_get_pkgtype_from_pkgid(const char *pkgid, uid_t uid);
+const char *_get_adjusted_pkgpath(const char *org_file_path, uid_t caller_uid);
#endif/* _PKGMGR_SERVER_H_ */