#define RTC_WKALM_BOOT_SET _IOW('p', 0x80, struct rtc_wkalrm)
#endif
-#define _APPFW_FEATURE_WAKEUP_USING_RTC (_get_profile() != PROFILE_TV)
-
#define PATH_LIB_ALARMMGR_PLUGIN "/usr/lib/libalarm-server-plugin.so"
static void *plugin_handle;
bool is_time_changed = false; /* for calculating next duetime */
static time_t periodic_alarm_standard_time = 0;
+static bool using_rtc = false;
struct running_info_t {
pid_t pid;
void _rtc_set()
{
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
+ if (using_rtc) {
char log_message[ALARMMGR_LOG_MESSAGE_SIZE] = {0,};
#ifdef _SIMUL /* RTC does not work in simulator. */
LOGE("because it is simulator's mode, we don't set RTC.");
return false;
}
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
+ if (using_rtc) {
char buf[1024];
char log_tag[ALARMMGR_LOG_TAG_SIZE] = {0,};
char log_message[ALARMMGR_LOG_MESSAGE_SIZE] = {0,};
LOGE("Saving alarm_id(%d) in DB is failed.", __alarm_info->alarm_id);
}
- DO_AFTER_ALARM_CREATE(__alarm_info->pid, __alarm_info->app_unique_name);
+ if (using_rtc)
+ DO_AFTER_ALARM_CREATE(__alarm_info->pid, __alarm_info->app_unique_name);
}
static bool __check_bundle_for_update(const gchar *b_data, uid_t uid)
_save_alarm_info_log("EXPIRED", __alarm_info);
- DO_AFTER_ALARM_EXPIRE(__alarm_info->pid, __alarm_info->app_unique_name);
+ if (using_rtc)
+ DO_AFTER_ALARM_EXPIRE(__alarm_info->pid, __alarm_info->app_unique_name);
if (__alarm_info->alarm_info.mode.repeat == ALARM_REPEAT_MODE_ONCE) {
__alarm_remove_from_list(__alarm_info->uid, __alarm_info->alarm_id, NULL);
__alarm_info_t *entry = NULL;
bool is_restored = false;
- if (GET_POWER_SAVING_MODE() == -1)
+ if (using_rtc && GET_POWER_SAVING_MODE() == -1)
return ALARMMGR_RESULT_SUCCESS;
if ((key && strncmp(key, "end", 3) != 0) || (val && strncmp(val, "ok", 2) != 0))
__alarm_info_t *entry = NULL;
alarm_info_t *alarm_info = NULL;
bool is_deleted = false;
- int is_power_saving_mode;
+ int is_power_saving_mode = 0;
SECURE_LOGD("pkg_type(%s), pkgid(%s), key(%s), value(%s)", pkg_type, pkgid, key, val);
if ((key && strncmp(key, "end", 3) != 0) || (val && strncmp(val, "ok", 2) != 0))
return ALARMMGR_RESULT_SUCCESS;
- is_power_saving_mode = GET_POWER_SAVING_MODE();
+ if (using_rtc)
+ is_power_saving_mode = GET_POWER_SAVING_MODE();
for (gs_iter = alarm_context.alarms; gs_iter != NULL;) {
entry = (__alarm_info_t *)gs_iter->data;
int alarm_manager_alarm_set_rtc_time(GVariant *parameters)
{
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
+ if (using_rtc) {
int retval = 0;
struct tm tm, *alarm_tm = NULL;
char log_tag[ALARMMGR_LOG_TAG_SIZE] = {0,};
}
tzset();
- DO_AFTER_TIMEZONE_SET();
+
+ if (using_rtc)
+ DO_AFTER_TIMEZONE_SET();
/* Rescheduling alarms */
_alarm_disable_timer();
plugin_handle = dlopen(path, RTLD_LAZY | RTLD_GLOBAL);
if (!plugin_handle) {
LOGE("Failed to load - %s", dlerror());
- return -1;
+ using_rtc = false;
+ return 0;
+ } else {
+ using_rtc = true;
}
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
- RTC_INIT = dlsym(plugin_handle, "RTC_INIT");
- if (!RTC_INIT) {
- LOGE("Failed to find PLUGIN_INIT");
- goto out;
- }
+ RTC_INIT = dlsym(plugin_handle, "RTC_INIT");
+ if (!RTC_INIT) {
+ LOGE("Failed to find PLUGIN_INIT");
+ goto out;
+ }
- CLEAR_WAKEUP_RTC = dlsym(plugin_handle, "CLEAR_WAKEUP_RTC");
- if (!CLEAR_WAKEUP_RTC) {
- LOGE("Failed to find CLEAR_WAKEUP_RTC");
- goto out;
- }
+ CLEAR_WAKEUP_RTC = dlsym(plugin_handle, "CLEAR_WAKEUP_RTC");
+ if (!CLEAR_WAKEUP_RTC) {
+ LOGE("Failed to find CLEAR_WAKEUP_RTC");
+ goto out;
+ }
- SET_WAKEUP_RTC = dlsym(plugin_handle, "SET_WAKEUP_RTC");
- if (!SET_WAKEUP_RTC) {
- LOGE("Failed to find SET_WAKEUP_RTC");
- goto out;
- }
+ SET_WAKEUP_RTC = dlsym(plugin_handle, "SET_WAKEUP_RTC");
+ if (!SET_WAKEUP_RTC) {
+ LOGE("Failed to find SET_WAKEUP_RTC");
+ goto out;
+ }
- SET_WAKEUP_RTC_WITH_DATETIME = dlsym(plugin_handle,
- "SET_WAKEUP_RTC_WITH_DATETIME");
- if (!SET_WAKEUP_RTC_WITH_DATETIME) {
- LOGE("Failed to find SET_WAKEUP_RTC_WITH_DATETIME");
- goto out;
- }
+ SET_WAKEUP_RTC_WITH_DATETIME = dlsym(plugin_handle,
+ "SET_WAKEUP_RTC_WITH_DATETIME");
+ if (!SET_WAKEUP_RTC_WITH_DATETIME) {
+ LOGE("Failed to find SET_WAKEUP_RTC_WITH_DATETIME");
+ goto out;
+ }
- SET_SYSTIME_RTC = dlsym(plugin_handle, "SET_SYSTIME_RTC");
- if (!SET_SYSTIME_RTC) {
- LOGE("Failed to find SET_SYSTIME_RTC");
- goto out;
- }
+ SET_SYSTIME_RTC = dlsym(plugin_handle, "SET_SYSTIME_RTC");
+ if (!SET_SYSTIME_RTC) {
+ LOGE("Failed to find SET_SYSTIME_RTC");
+ goto out;
}
DO_AFTER_TIMEZONE_SET = dlsym(plugin_handle, "DO_AFTER_TIMEZONE_SET");
exit(1);
}
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
+ if (using_rtc) {
if (RTC_INIT() != 0) {
LOGE("rtc init failed");
exit(1);
}
- }
- if (PS_MODE_INIT() != 0) {
- LOGE("power saving mode init failed");
- exit(1);
+ if (PS_MODE_INIT() != 0) {
+ LOGE("power saving mode init failed");
+ exit(1);
+ }
}
__initialize_alarm_list();
g_direct_equal, NULL, __free_cached_value);
}
- if (_APPFW_FEATURE_WAKEUP_USING_RTC) {
+ if (using_rtc) {
tzset();
DO_AFTER_TIMEZONE_SET();
}