Change internal api name 16/197216/8
authormk5004.lee <mk5004.lee@samsung.com>
Thu, 10 Jan 2019 07:53:29 +0000 (16:53 +0900)
committermk5004.lee <mk5004.lee@samsung.com>
Fri, 11 Jan 2019 01:42:48 +0000 (10:42 +0900)
- notification_delete_all_by_viewer -> notification_delete_by_display_applist

Change-Id: Ic9ce30798167b6eb97f7118f77f83699814b861e
Signed-off-by: mk5004.lee <mk5004.lee@samsung.com>
include/notification_internal.h
include/notification_ipc.h
include/notification_noti.h
src/notification_internal.c
src/notification_ipc.c
src/notification_noti.c

index 84de388..194405d 100644 (file)
@@ -1473,7 +1473,7 @@ int notification_set_indirect_request(notification_h noti, pid_t pid, uid_t uid)
  * @since_tizen 5.5
  * @privlevel public
  * @privilege %http://tizen.org/privilege/notification
- * @param[in] viewer Combination value of display list
+ * @param[in] display_applist Combination value of display list
  * @return #NOTIFICATION_ERROR_NONE on success, other value on failure
  * @retval #NOTIFICATION_ERROR_NONE Success
  * @retval #NOTIFICATION_ERROR_INVALID_PARAMETER Invalid input value
@@ -1484,18 +1484,18 @@ int notification_set_indirect_request(notification_h noti, pid_t pid, uid_t uid)
  * @retval #NOTIFICATION_ERROR_SERVICE_NOT_READY No response from notification service
  * @par Sample code:
  * @code
-#include <notification.h>
+#include <notification_internal.h>
 ...
 {
-       noti_err = notification_delete_all_by_viewer(NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY);
+       noti_err = notification_delete_by_display_applist(NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY);
        if (noti_err != NOTIFICATION_ERROR_NONE) {
                return;
        }
 }
  * @endcode
  */
-int notification_delete_all_by_viewer(int viewer);
-int notification_delete_all_by_viewer_for_uid(int viewer, uid_t uid);
+int notification_delete_by_display_applist(int display_applist);
+int notification_delete_by_display_applist_for_uid(int display_applist, uid_t uid);
 
 /**
  * @}
index f940163..b88de0a 100644 (file)
@@ -61,7 +61,7 @@ int notification_ipc_request_update_async(notification_h noti,
 int notification_ipc_request_refresh(uid_t uid);
 int notification_ipc_request_delete_multiple(notification_type_e type,
                char *app_id, uid_t uid);
-int notification_ipc_request_delete_multiple_by_viewer(int viewer, uid_t uid);
+int notification_ipc_request_delete_by_display_applist(int display_applist, uid_t uid);
 int notification_ipc_request_delete_single(notification_type_e type,
                char *app_id, int priv_id, uid_t uid);
 int notification_ipc_update_setting(notification_setting_h setting, uid_t uid);
index 57c9231..a13571d 100644 (file)
 #define TAG_TYPE_INVALID -1
 #define TAG_TYPE_TIME 1
 
+struct _notification_deleted_list_info {
+       int priv_id;
+       char *app_id;
+};
+
+typedef struct _notification_deleted_list_info notification_deleted_list_info_s;
+
 int notification_noti_set_tag(const char *tag, char *value, char *buf, int buf_len);
 
 char *notification_noti_strip_tag(const char *tagged_str);
@@ -47,8 +54,8 @@ int notification_noti_delete_by_priv_id(const char *app_id, int priv_id);
 int notification_noti_delete_by_priv_id_get_changes(const char *app_id, int priv_id,
                                                    int *num_changes, uid_t uid);
 
-int notification_noti_delete_all_by_viewer(int viewer, int *deleted_num,
-                                       GList **deleted_list, uid_t uid);
+int notification_noti_delete_by_display_applist(int display_applist,
+                               int *deleted_num, GList **deleted_list, uid_t uid);
 
 int notification_noti_get_count(notification_type_e type,
                const char *app_id,
index 05c8a67..bee6eb3 100644 (file)
@@ -2119,20 +2119,15 @@ EXPORT_API int notification_set_indirect_request(notification_h noti,
 }
 
 
-int notification_delete_all_by_viewer_for_uid(int viewer, uid_t uid)
+int notification_delete_by_display_applist_for_uid(int display_applist, uid_t uid)
 {
-       int ret;
-
-       if (viewer < NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)
+       if (display_applist < NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)
                return NOTIFICATION_ERROR_INVALID_PARAMETER;
 
-       ret = notification_ipc_request_delete_multiple_by_viewer(viewer, uid);
-
-       return ret;
+       return notification_ipc_request_delete_by_display_applist(display_applist, uid);
 }
 
-EXPORT_API int notification_delete_all_by_viewer(int viewer)
+EXPORT_API int notification_delete_by_display_applist(int display_applist)
 {
-       return notification_delete_all_by_viewer_for_uid(viewer, getuid());
+       return notification_delete_by_display_applist_for_uid(display_applist, getuid());
 }
-
index 0eddb08..c0446e9 100644 (file)
@@ -503,7 +503,7 @@ static void _delete_multiple_notify(GVariant *parameters)
 }
 /* LCOV_EXCL_STOP */
 
-static void _delete_multiple_by_viewer_notify(GVariant *parameters)
+static void _delete_by_display_applist_notify(GVariant *parameters)
 {
        int *buf;
        int idx = 0;
@@ -517,6 +517,7 @@ static void _delete_multiple_by_viewer_notify(GVariant *parameters)
                ERR("Invalid number to delete");
                return;
        }
+
        DBG("Deleted count[%d]", num);
 
        buf = (int *)malloc(sizeof(int) * num);
@@ -577,12 +578,12 @@ static void _handle_noti_notify(GDBusConnection *connection,
                _delete_single_notify(parameters);
        else if (g_strcmp0(signal_name, "delete_multiple_notify") == 0)
                _delete_multiple_notify(parameters);
-       else if (g_strcmp0(signal_name, "delete_multiple_by_viewer_notify") == 0)
-               _delete_multiple_by_viewer_notify(parameters);
        else if (g_strcmp0(signal_name, "refresh_noti_notify") == 0)
                _refresh_noti_notify(parameters);
        else if (g_strcmp0(signal_name, "change_dnd_notify") == 0)
                _change_dnd_notify(parameters);
+       else if (g_strcmp0(signal_name, "delete_by_display_applist_notify") == 0)
+               _delete_by_display_applist_notify(parameters);
 }
 /* LCOV_EXCL_STOP */
 
@@ -1159,7 +1160,7 @@ int notification_ipc_request_delete_multiple(notification_type_e type, char *app
        return result;
 }
 
-int notification_ipc_request_delete_multiple_by_viewer(int viewer, uid_t uid)
+int notification_ipc_request_delete_by_display_applist(int display_applist, uid_t uid)
 {
        int result;
        int num_deleted;
@@ -1173,9 +1174,9 @@ int notification_ipc_request_delete_multiple_by_viewer(int viewer, uid_t uid)
                return result;
        }
 
-       body = g_variant_new("(ii)", viewer, uid);
+       body = g_variant_new("(ii)", display_applist, uid);
 
-       result = _send_sync_noti(body, &reply, "del_noti_multiple_by_viewer");
+       result = _send_sync_noti(body, &reply, "del_noti_by_display_applist");
        if (result == NOTIFICATION_ERROR_NONE) {
                reply_body = g_dbus_message_get_body(reply);
                g_variant_get(reply_body, "(i)", &num_deleted);
index 56dfdff..7e920ec 100644 (file)
@@ -1450,16 +1450,20 @@ err:
        return ret;
 }
 
-EXPORT_API int notification_noti_delete_all_by_viewer(int viewer,
+EXPORT_API int notification_noti_delete_by_display_applist(int display_applist,
                        int *deleted_num, GList **deleted_list, uid_t uid)
 {
        sqlite3 *db = NULL;
        sqlite3_stmt *stmt = NULL;
+       notification_deleted_list_info_s *info = NULL;
        char *query = NULL;
        int cnt = 0;
        int priv_id;
        int ret;
 
+       if (display_applist < NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY)
+               return NOTIFICATION_ERROR_INVALID_PARAMETER;
+
        db = notification_db_open();
        if (!db)
                return get_last_result();
@@ -1467,9 +1471,9 @@ EXPORT_API int notification_noti_delete_all_by_viewer(int viewer,
        if (deleted_num != NULL)
                *deleted_num = 0;
 
-       query = sqlite3_mprintf("SELECT priv_id FROM noti_list "
+       query = sqlite3_mprintf("SELECT priv_id, caller_app_id FROM noti_list "
                                "WHERE (display_applist & %d) = %d "
-                               "AND uid = %d", viewer, viewer, uid);
+                               "AND uid = %d", display_applist, display_applist, uid);
        if (query == NULL) {
                /* LCOV_EXCL_START */
                ret = NOTIFICATION_ERROR_OUT_OF_MEMORY;
@@ -1490,6 +1494,28 @@ EXPORT_API int notification_noti_delete_all_by_viewer(int viewer,
        while (sqlite3_step(stmt) == SQLITE_ROW) {
                priv_id = sqlite3_column_int(stmt, 0);
 
+               if (deleted_list != NULL) {
+                       info = (notification_deleted_list_info_s *)calloc(1,
+                                       sizeof(notification_deleted_list_info_s));
+                       if (info == NULL) {
+                               /* LCOV_EXCL_START */
+                               ERR("Failed to alloc memory");
+                               ret = NOTIFICATION_ERROR_OUT_OF_MEMORY;
+                               goto err;
+                               /* LCOV_EXCL_STOP */
+                       }
+
+                       info->priv_id = priv_id;
+                       info->app_id = notification_db_column_text(stmt, 1);
+
+                       *deleted_list = g_list_append(*deleted_list, info);
+               }
+
+               if (query) {
+                       sqlite3_free(query);
+                       query = NULL;
+               }
+
                query = sqlite3_mprintf("DELETE FROM noti_list "
                        "WHERE priv_id = %d", priv_id);
 
@@ -1498,11 +1524,6 @@ EXPORT_API int notification_noti_delete_all_by_viewer(int viewer,
                        goto err;
                }
 
-               if (deleted_list != NULL) {
-                       *deleted_list = g_list_append(*deleted_list,
-                                               GINT_TO_POINTER(priv_id));
-               }
-
                cnt++;
        }