changed operation string
[framework/appfw/alarm-manager.git] / alarm-lib.c
index 014b4d3..2bb484a 100755 (executable)
@@ -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;
@@ -528,7 +528,67 @@ static int __alarmmgr_init_appsvc(void)
 
 }
 
+EXPORT_API void *alarmmgr_get_alarm_appsvc_info(alarm_id_t alarm_id, int *return_code){
 
+       int ret = 0;
+
+       ret = __sub_init();
+       if (ret < 0){
+               if (return_code)
+                       *return_code = ret;
+               return NULL;
+       }
+
+       ALARM_MGR_LOG_PRINT("[alarm-lib]:alarmmgr_get_alarm_appsvc_info() is called\n");
+
+       if (alarm_id <= 0) {
+               if (return_code)
+                       *return_code = ERR_ALARM_INVALID_ID;
+               return NULL;
+       }
+
+       return _send_alarm_get_appsvc_info(alarm_context, alarm_id, return_code);
+
+}
+
+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)
 {
@@ -623,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;
@@ -638,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;