Adds new api for adding localtime alarm withcb 00/232700/3
authorInkyun Kil <inkyun.kil@samsung.com>
Thu, 7 May 2020 07:25:47 +0000 (16:25 +0900)
committerInkyun Kil <inkyun.kil@samsung.com>
Fri, 8 May 2020 03:55:08 +0000 (12:55 +0900)
Change-Id: If1a1e508cb1e4fe0cc906fb1169bcf976df3b8de
Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
include/alarm.h
lib/alarm-lib.c

index e6cac64..3c5e29a 100644 (file)
@@ -1701,6 +1701,9 @@ int alarmmgr_add_reference_periodic_alarm_withcb(int interval, alarm_cb_t handle
 int alarmmgr_update_alarm(alarm_id_t alarm_id,
                alarm_entry_t *alarm, int update_flag);
 
+int alarmmgr_add_alarm_withcb_with_localtime(alarm_entry_t *alarm,
+                alarm_cb_t handler, void *user_param, alarm_id_t *alarm_id);
+
 #ifdef __cplusplus
 }
 #endif
index f9f1014..7bf1047 100644 (file)
@@ -1106,6 +1106,31 @@ EXPORT_API int alarmmgr_add_alarm_with_localtime(alarm_entry_t *alarm,
        return ALARMMGR_RESULT_SUCCESS;
 }
 
+EXPORT_API int alarmmgr_add_alarm_withcb_with_localtime(alarm_entry_t *alarm,
+               alarm_cb_t handler, void *user_param, alarm_id_t *alarm_id)
+{
+       int ret;
+
+       if (alarm == NULL || handler == NULL || alarm_id == NULL) {
+               LOGE("Invalid Parameter");
+               return ERR_ALARM_INVALID_PARAM;
+       }
+
+       __check_appid();
+       ret = alarmmgr_init(g_appid);
+       if (ret < 0)
+               return ret;
+
+       alarm->alarm_type |= ALARM_TYPE_WITHCB;
+       ret = alarmmgr_add_alarm_with_localtime(alarm, NULL, alarm_id);
+       if (ret != ALARMMGR_RESULT_SUCCESS)
+               return ret;
+
+       __add_resultcb(*alarm_id, handler, user_param);
+
+       return ALARMMGR_RESULT_SUCCESS;
+}
+
 EXPORT_API int alarmmgr_add_alarm_noti_with_localtime(alarm_entry_t *alarm, notification_h noti, alarm_id_t *alarm_id)
 {
        base_info_t *base_info = NULL;