X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=alarm-lib.c;h=2bb484a27ea0503bd235bdbb925214d609ef5f40;hb=a293412d4bc178edc990afb066ccdcb83ff3557d;hp=da24dbd930f128f3d133c72a519e8edbe1fd1271;hpb=e7f5d1db36a4b32891f58930a1b54b72d191a3f3;p=framework%2Fappfw%2Falarm-manager.git diff --git a/alarm-lib.c b/alarm-lib.c index da24dbd..2bb484a 100755 --- a/alarm-lib.c +++ b/alarm-lib.c @@ -551,6 +551,44 @@ EXPORT_API void *alarmmgr_get_alarm_appsvc_info(alarm_id_t alarm_id, int *return } +EXPORT_API int alarmmgr_set_rtc_time(alarm_date_t *time){ + + int ret = 0; + int error_code = 0; + + if (!time){ + ALARM_MGR_EXCEPTION_PRINT("Invalid parameter time\n"); + return ERR_ALARM_INVALID_PARAM; + } + + ret = __sub_init(); + if (ret < 0){ + return ret; + } + + ALARM_MGR_LOG_PRINT("[alarm-lib]:alarmmgr_set_rtc_time() is called\n"); + + if (!__alarm_validate_date(time, &error_code)) { + ALARM_MGR_EXCEPTION_PRINT("RTC date error\n"); + return error_code; + } + + if (!__alarm_validate_time(time, &error_code)) { + ALARM_MGR_EXCEPTION_PRINT("RTC time error\n"); + return error_code; + } + + time->year-=1900; + time->month-=1; + + if (!_send_alarm_set_rtc_time + (alarm_context, time, &error_code)){ + return error_code; + } + + return ALARMMGR_RESULT_SUCCESS; + +} EXPORT_API int alarmmgr_add_alarm_appsvc_with_localtime(alarm_entry_t *alarm, void *bundle_data, alarm_id_t *alarm_id) { @@ -645,6 +683,9 @@ EXPORT_API int alarmmgr_add_alarm_with_localtime(alarm_entry_t *alarm, } alarm_info = (alarm_info_t *) alarm; + if (alarm_info == NULL || alarm_id == NULL) { + return ERR_ALARM_INVALID_PARAM; + } int error_code; alarm_mode_t *mode = &alarm_info->mode; @@ -660,9 +701,6 @@ EXPORT_API int alarmmgr_add_alarm_with_localtime(alarm_entry_t *alarm, alarm_info->start.year, alarm_info->start.month, alarm_info->start.day); - if (alarm_info == NULL || alarm_id == NULL) { - return ERR_ALARM_INVALID_PARAM; - } /* TODO: This should be changed to > ALARM_REPEAT_MODE_MAX ? */ if (mode->repeat >= ALARM_REPEAT_MODE_MAX) { return ERR_ALARM_INVALID_PARAM;