#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;
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(¤t_time);
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;
}
//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;
}
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);
}
}
+
+