}
if (event_type < NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_1
- || event_type > NOTIFICATION_EVENT_TYPE_CLICK_ON_THUMBNAIL) {
+ || event_type >= NOTIFICATION_EVENT_TYPE_MAX) {
NOTIFICATION_ERR("NOTIFICATION_ERROR_INVALID_PARAMETER");
err = NOTIFICATION_ERROR_INVALID_PARAMETER;
goto out;
}
if (event_type < NOTIFICATION_EVENT_TYPE_CLICK_ON_BUTTON_1
- || event_type > NOTIFICATION_EVENT_TYPE_CLICK_ON_THUMBNAIL) {
+ || event_type >= NOTIFICATION_EVENT_TYPE_MAX) {
NOTIFICATION_ERR("NOTIFICATION_ERROR_INVALID_PARAMETER");
err = NOTIFICATION_ERROR_INVALID_PARAMETER;
goto out;
return err;
}
-
-
-
-
EXPORT_API int notification_set_property(notification_h noti,
int flags)
{
return NULL;
}
- noti = (notification_h) calloc(1, sizeof(struct _notification));
+ noti = (notification_h)calloc(1, sizeof(struct _notification));
if (noti == NULL) {
NOTIFICATION_ERR("NO MEMORY : noti == NULL");
set_last_result(NOTIFICATION_ERROR_OUT_OF_MEMORY);
noti->display_applist = NOTIFICATION_DISPLAY_APP_NOTIFICATION_TRAY | NOTIFICATION_DISPLAY_APP_TICKER | NOTIFICATION_DISPLAY_APP_INDICATOR;
noti->auto_remove = true;
noti->ongoing_flag = false;
+ noti->default_button_index = 0;
+ noti->type = NOTIFICATION_ONGOING_VALUE_TYPE_PERCENT;
+ noti->timeout = 0;
if (getuid() >= REGULAR_UID_MIN) {
noti->caller_pkgname = notification_get_pkgname_by_pid();
goto out;
}
-
err_app_manager = package_info_create(noti->caller_pkgname, &package_info);
if (err_app_manager != PACKAGE_MANAGER_ERROR_NONE || package_info == NULL) {
return _notification_create(type);
}
-EXPORT_API notification_h notification_load_by_tag(const char *tag)
+EXPORT_API notification_h notification_load_by_tag(const char *tag)
{
return notification_load_by_tag_for_uid(tag, getuid());
}
new_noti->progress_percentage = noti->progress_percentage;
new_noti->ongoing_flag = noti->ongoing_flag;
+ new_noti->ongoing_value_type = noti->ongoing_value_type;
+ new_noti->ongoing_current = noti->ongoing_current;
+ new_noti->ongoing_duration = noti->ongoing_duration;
new_noti->auto_remove = noti->auto_remove;
+ new_noti->default_button_index = noti->default_button_index;
+ new_noti->timeout = noti->timeout;
+ new_noti->text_input_max_length = noti->text_input_max_length;
new_noti->uid = noti->uid;
new_noti->app_icon_path = NULL;
return NOTIFICATION_ERROR_NONE;
}
+EXPORT_API int notification_save_as_template(notification_h noti, const char *template_name)
+{
+ if (noti == NULL || template_name == NULL) {
+ NOTIFICATION_ERR("Invalid parameter");
+ return NOTIFICATION_ERROR_INVALID_PARAMETER;
+ }
+
+ return notification_ipc_request_save_as_template(noti, template_name);
+}
+
+EXPORT_API notification_h notification_create_from_template(const char *template_name)
+{
+ int ret = 0;
+ notification_h noti = NULL;
+
+ if (template_name == NULL) {
+ NOTIFICATION_ERR("Invalid parameter");
+ set_last_result(NOTIFICATION_ERROR_INVALID_PARAMETER);
+ return NULL;
+ }
+
+ noti = (notification_h)calloc(1, sizeof(struct _notification));
+ if (noti == NULL) {
+ NOTIFICATION_ERR("Failed to alloc a new notification");
+ set_last_result(NOTIFICATION_ERROR_OUT_OF_MEMORY);
+ return NULL;
+ }
+
+ ret = notification_ipc_request_create_from_template(noti, template_name);
+
+ set_last_result(ret);
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ notification_free(noti);
+ return NULL;
+ }
+
+ return noti;
+}
+
+EXPORT_API int notification_get_noti_block_state(notification_block_state_e *state)
+{
+ int ret;
+ char *pkgname;
+ int do_not_disturb;
+ int do_not_disturb_except;
+ int allow_to_notify;
+
+ if (state == NULL)
+ return NOTIFICATION_ERROR_INVALID_PARAMETER;
+
+ pkgname = notification_get_pkgname_by_pid();
+
+ ret = notification_ipc_get_noti_block_state(pkgname, &do_not_disturb, &do_not_disturb_except, &allow_to_notify, getuid());
+
+ if (ret != NOTIFICATION_ERROR_NONE) {
+ if (pkgname)
+ free(pkgname);
+ return ret;
+ }
+
+ if (allow_to_notify) {
+ *state = NOTIFICATION_BLOCK_STATE_ALLOWED;
+ if (do_not_disturb && !do_not_disturb_except)
+ *state = NOTIFICATION_BLOCK_STATE_DO_NOT_DISTURB;
+ } else {
+ *state = NOTIFICATION_BLOCK_STATE_BLOCKED;
+ }
+
+ if (pkgname)
+ free(pkgname);
+
+ return ret;
+}
+
+EXPORT_API int notification_set_text_input(notification_h noti, int text_input_max_length)
+{
+ if (noti == NULL)
+ return NOTIFICATION_ERROR_INVALID_PARAMETER;
+
+ noti->text_input_max_length = text_input_max_length;
+
+ return NOTIFICATION_ERROR_NONE;
+}