extern int notification_service_init(void);
extern int notification_service_fini(void);
-int notification_add_noti(GVariant *parameters, GVariant **reply_body, const char *sender, uid_t uid);
-int notification_update_noti(GVariant *parameters, GVariant **reply_body, uid_t uid);
+int notification_add_noti(GVariant *parameters, GVariant **reply_body,
+ const char *sender, pid_t pid, uid_t uid);
+int notification_update_noti(GVariant *parameters, GVariant **reply_body,
+ pid_t pid, uid_t uid);
int notification_refresh_noti(GVariant *parameters, GVariant **reply_body, uid_t uid);
int notification_del_noti_single(GVariant *parameters, GVariant **reply_body, uid_t uid);
int notification_del_noti_multiple(GVariant *parameters, GVariant **reply_body, uid_t uid);
if (ret == NOTIFICATION_ERROR_NONE)
notification_add_private_sharing_target_id(pid, sender, uid);
} else if (g_strcmp0(method_name, "update_noti") == 0) {
- ret = notification_update_noti(parameters, &reply_body, uid);
+ ret = notification_update_noti(parameters, &reply_body, pid, uid);
} else if (g_strcmp0(method_name, "add_noti") == 0) {
- ret = notification_add_noti(parameters, &reply_body, sender, uid);
+ ret = notification_add_noti(parameters, &reply_body, sender, pid, uid);
} else if (g_strcmp0(method_name, "refresh_noti") == 0) {
ret = notification_refresh_noti(parameters, &reply_body, uid);
} else if (g_strcmp0(method_name, "del_noti_single") == 0) {
}
}
-int notification_add_noti(GVariant *parameters, GVariant **reply_body, const char *sender, uid_t uid)
+int notification_add_noti(GVariant *parameters, GVariant **reply_body,
+ const char *sender, pid_t pid, uid_t uid)
{
int ret;
int priv_id;
ret = notification_ipc_make_noti_from_gvariant(noti, body);
g_variant_unref(body);
+ if (uid >= NORMAL_UID_BASE)
+ notification_set_indirect_request(noti, pid, uid);
+
ret = _validate_and_set_noti_with_uid(uid, noti, ¬i_uid);
if (ret != NOTIFICATION_ERROR_NONE)
goto out;
return ret;
}
-int notification_update_noti(GVariant *parameters, GVariant **reply_body, uid_t uid)
+int notification_update_noti(GVariant *parameters, GVariant **reply_body,
+ pid_t pid, uid_t uid)
{
notification_h noti;
int ret;
ret = notification_ipc_make_noti_from_gvariant(noti, body);
g_variant_unref(body);
+ if (uid >= NORMAL_UID_BASE)
+ notification_set_indirect_request(noti, pid, uid);
+
ret = _validate_and_set_noti_with_uid(uid, noti, ¬i_uid);
if (ret != NOTIFICATION_ERROR_NONE)
goto out;