X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=alarm-lib.c;h=2bb484a27ea0503bd235bdbb925214d609ef5f40;hb=a293412d4bc178edc990afb066ccdcb83ff3557d;hp=8304eef9f3cafe65d394d2282b98d0c44d4f4f41;hpb=2b296bcfc7362d0d3fb35fb1bfb73e8c99022f53;p=framework%2Fappfw%2Falarm-manager.git diff --git a/alarm-lib.c b/alarm-lib.c index 8304eef..2bb484a 100755 --- a/alarm-lib.c +++ b/alarm-lib.c @@ -187,6 +187,9 @@ static int __sub_init() return ALARMMGR_RESULT_SUCCESS; } + g_thread_init(NULL); + dbus_g_thread_init(); + alarm_context.bus = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); if (alarm_context.bus == NULL) { ALARM_MGR_EXCEPTION_PRINT("dbus bus get failed\n"); @@ -271,9 +274,6 @@ EXPORT_API int alarmmgr_init(const char *pkg_name) return ALARMMGR_RESULT_SUCCESS; } - g_thread_init(NULL); - dbus_g_thread_init(); - ret = __sub_init(); if (ret < 0) return ret; @@ -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;