tizen 2.4 release
[apps/home/starter.git] / src / wearable / hourly_alert.c
old mode 100755 (executable)
new mode 100644 (file)
similarity index 56%
rename from src/hourly_alert.c
rename to src/wearable/hourly_alert.c
index 8fe4daa..3c2c00a
 #include <alarm.h>
 #include <feedback.h>
 
-#include "starter_w.h"
-#include "starter-util.h"
-#include "lockd-debug.h"
-
 #include "util.h"
 
-static int __alarm_delete_cb(alarm_id_t id, void * user_param)
+
+
+static struct {
+       alarm_id_t alarm_id;    /* -1 : None, others : set alarm */
+} s_hourly_alert = {
+       .alarm_id = -1,
+};
+
+
+
+static int _alarm_delete_cb(alarm_id_t id, void *user_param)
 {
        int ret = ALARMMGR_RESULT_SUCCESS;
 
        ret = alarmmgr_remove_alarm(id);
        if(ret != ALARMMGR_RESULT_SUCCESS) {
-               _ERR("alarmmgr_enum_alarm_ids() failed");
+               _E("alarmmgr_enum_alarm_ids() failed");
        }
 
        return 0;
 }
 
+
+
 static void _alarm_unset(void *data)
 {
        int ret = ALARMMGR_RESULT_SUCCESS;
 
-       struct appdata *ad = data;
-       ret_if(ad == NULL);
-
-       if(ad->alarm_id != -1){
-               _DBG("try to delete alarm_id(%d)", ad->alarm_id);
-               ret = alarmmgr_remove_alarm(ad->alarm_id);
+       if (s_hourly_alert.alarm_id != -1) {
+               _D("try to delete alarm_id(%d)", s_hourly_alert.alarm_id);
+               ret = alarmmgr_remove_alarm(s_hourly_alert.alarm_id);
                if(ret != ALARMMGR_RESULT_SUCCESS) {
-                       ret = alarmmgr_enum_alarm_ids(__alarm_delete_cb, NULL);
+                       ret = alarmmgr_enum_alarm_ids(_alarm_delete_cb, NULL);
                        if(ret != ALARMMGR_RESULT_SUCCESS) {
-                               _ERR("alarmmgr_enum_alarm_ids() failed");
+                               _E("alarmmgr_enum_alarm_ids() failed");
                        }
                }
-               ad->alarm_id = -1;
+               s_hourly_alert.alarm_id = -1;
        }
 }
 
+
+
 static int _alarm_set(void *data)
 {
        int ret = ALARMMGR_RESULT_SUCCESS;
@@ -78,11 +85,9 @@ static int _alarm_set(void *data)
        alarm_entry_t *alarm_info = NULL;
        alarm_id_t alarm_id;
        alarm_date_t alarm_time;
-       struct appdata *ad = data;
-       retv_if(ad == NULL, -1);
 
        /* delete before registering alarm ids */
-       _alarm_unset(ad);
+       _alarm_unset(NULL);
 
        time(&current_time);
 
@@ -93,7 +98,7 @@ static int _alarm_set(void *data)
 
        alarm_info = alarmmgr_create_alarm();
        if(alarm_info == NULL) {
-               _ERR("alarmmgr_create_alarm() is failed\n");
+               _E("alarmmgr_create_alarm() is failed\n");
                return -1;
        }
 
@@ -107,7 +112,7 @@ static int _alarm_set(void *data)
        //alarmmgr_set_repeat_mode(alarm_info, ALARM_REPEAT_MODE_ONCE, 0);
        ret = alarmmgr_set_repeat_mode(alarm_info, ALARM_REPEAT_MODE_REPEAT, 60*60);
        if(ret != ALARMMGR_RESULT_SUCCESS) {
-               _ERR("alarmmgr_set_repeat_mode() failed");
+               _E("alarmmgr_set_repeat_mode() failed");
                alarmmgr_free_alarm(alarm_info) ;
                return -1;
        }
@@ -116,158 +121,151 @@ static int _alarm_set(void *data)
 
        ret = alarmmgr_add_alarm_with_localtime(alarm_info, NULL, &alarm_id);
        if(ret != ALARMMGR_RESULT_SUCCESS) {
-               _ERR("alarmmgr_add_alarm_with_localtime() failed");
+               _E("alarmmgr_add_alarm_with_localtime() failed");
                alarmmgr_free_alarm(alarm_info) ;
                return -1;
        }
 
-       ad->alarm_id = alarm_id;
+       s_hourly_alert.alarm_id = alarm_id;
        alarmmgr_free_alarm(alarm_info);
 
        return 0;
 }
 
-static int __alarm_cb(alarm_id_t alarm_id, void *data)
+
+
+static int _alarm_cb(alarm_id_t alarm_id, void *data)
 {
-       _DBG("hourly_alert alarm callback called");
+       _D("hourly_alert alarm callback called");
 
        feedback_initialize();
-       feedback_play(FEEDBACK_PATTERN_HOURLY_ALERT);
+       feedback_play(FEEDBACK_PATTERN_NONE);
        feedback_deinitialize();
 
        return 0;
 }
 
+
+
 static int _alarm_init(void *data)
 {
        int ret = 0;
 
-       struct appdata *ad = data;
-       retv_if(ad == NULL, -1);
-
-       g_type_init();
        ret = alarmmgr_init("starter");
        retv_if(ret<0, -1);
 
-       ret = alarmmgr_set_cb(__alarm_cb, data);
+       ret = alarmmgr_set_cb(_alarm_cb, NULL);
        retv_if(ret<0, -1);
 
-       ad->alarm_id = -1;
+       s_hourly_alert.alarm_id = -1;
 
        return 0;
 }
 
 static void _alarm_fini(void *data)
 {
-       _alarm_unset(data);
+       _alarm_unset(NULL);
        alarmmgr_fini();
 }
 
-static Eina_Bool _register_hourly_alert_alarm(struct appdata *ad)
-{
-       int ret = 0;
 
-       if(!ad) {
-               _ERR("parameter is NULL");
-               return EINA_FALSE;
-       }
 
-       //alarmmgr_fini();
+static Eina_Bool _register_hourly_alert_alarm(void)
+{
+       int ret = 0;
 
-       ret = _alarm_init(ad);
-       if(ret<0) {
-               _ERR("_alarm_init() failed");
-               return EINA_FALSE;
-       }
+       ret = _alarm_init(NULL);
+       retv_if(ret < 0, EINA_FALSE);
 
-       _alarm_set(ad);
+       _alarm_set(NULL);
 
        return EINA_TRUE;
 
 }
 
-static int _unregister_hourly_alert_alarm(struct appdata *ad)
-{
-       _alarm_fini(ad);
 
+
+static int _unregister_hourly_alert_alarm(void)
+{
+       _alarm_fini(NULL);
        return 0;
 }
 
 
+
 static void _hourly_alert_changed_cb(keynode_t* node, void *data)
 {
        int hourly_alert = -1;
-       struct appdata *ad = (struct appdata *)data;
 
-       _DBG("%s, %d", __func__, __LINE__);
+       _D("%s, %d", __func__, __LINE__);
 
        if (node) {
                hourly_alert = vconf_keynode_get_bool(node);
        } else {
                if (vconf_get_int(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, &hourly_alert) < 0) {
-                       _ERR("Failed to get %s", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL);
+                       _E("Failed to get %s", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL);
                        return;
                }
        }
 
        if (hourly_alert == TRUE) {
-               _ERR("hourly_alert is set");
-               _register_hourly_alert_alarm(ad);
+               _E("hourly_alert is set");
+               _register_hourly_alert_alarm();
        } else {
-               _ERR("hourly_alert is unset");
-               _unregister_hourly_alert_alarm(ad);
+               _E("hourly_alert is unset");
+               _unregister_hourly_alert_alarm();
        }
 
 }
 
+
+
 static void _hourly_system_time_changed_cb(keynode_t *node, void *data)
 {
-       struct appdata *ad = data;
-       ret_if(ad == NULL);
+       _alarm_set(NULL);
+}
 
-       _DBG("%s, %d", __func__, __LINE__);
 
-       /* unset existing alarms and set new alarm */
-       _alarm_set(ad);
-}
 
-void init_hourly_alert(void *data)
+void hourly_alert_init(void)
 {
-       struct appdata *ad = (struct appdata *)data;
        int hourly_alert = -1;
        int ret = 0;
 
        ret = vconf_get_bool(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, &hourly_alert);
        if (ret < 0){
-               _ERR("can't get vconfkey value of [%s], ret=[%d]", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, ret);
+               _E("can't get vconfkey value of [%s], ret=[%d]", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, ret);
                hourly_alert = FALSE;
        } else if (hourly_alert == TRUE) {
-               _DBG("[%s] value is [%d], hourly_alert is set..!!", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, hourly_alert);
-               if (_register_hourly_alert_alarm(ad) == EINA_FALSE) {
-                       _ERR("_register_hourly_alert_alarm is failed..!!");
+               _D("[%s] value is [%d], hourly_alert is set..!!", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, hourly_alert);
+               if (_register_hourly_alert_alarm() == EINA_FALSE) {
+                       _E("_register_hourly_alert_alarm is failed..!!");
                }
        }
 
-       if (vconf_notify_key_changed(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, _hourly_alert_changed_cb, ad) < 0) {
-               _ERR("Failed to add the callback for %s changed", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL);
+       if (vconf_notify_key_changed(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, _hourly_alert_changed_cb, NULL) < 0) {
+               _E("Failed to add the callback for %s changed", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL);
        }
        /* for time revision */
-       if (vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, _hourly_system_time_changed_cb, ad) < 0) {
-               _ERR("Failed to add the callback for %s changed", VCONFKEY_SYSTEM_TIME_CHANGED);
+       if (vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, _hourly_system_time_changed_cb, NULL) < 0) {
+               _E("Failed to add the callback for %s changed", VCONFKEY_SYSTEM_TIME_CHANGED);
        }
 }
 
-void fini_hourly_alert(void *data)
+
+
+void hourly_alert_fini(void)
 {
-       int ret = 0;
-       struct appdata *ad = data;
-       ret_if(ad == NULL);
+       _unregister_hourly_alert_alarm();
 
-       //_unregister_hourly_alert_alarm(data);
+       if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, _hourly_alert_changed_cb) < 0) {
+               _E("Failed to ignore the callback for %s changed", VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL);
+       }
 
-       ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_HOURLY_ALERT_BOOL, _hourly_alert_changed_cb);
-       if(ret != 0) {
-               _E("vconf_ignore failed");
+       if (vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, _hourly_system_time_changed_cb) < 0) {
+               _E("Failed to ignore the callback for %s changed", VCONFKEY_SYSTEM_TIME_CHANGED);
        }
 }
 
+
+