int alarm_manager_alarm_delete_all(GVariant *parameters, uid_t uid, pid_t pid);
int alarm_manager_alarm_update(GVariant *parameters, uid_t uid, pid_t pid);
int alarm_manager_alarm_get_number_of_ids(uid_t uid, pid_t pid, int *num_of_ids);
-int alarm_manager_alarm_get_list_of_ids(GVariant *parameters, uid_t uid, pid_t pid, GVariant **alarm_array, int *num_of_alarm);
+int alarm_manager_alarm_get_list_of_ids(GVariant *parameters, uid_t uid, pid_t pid,
+ GVariantBuilder *alarm_array, int *num_of_alarm);
int alarm_manager_alarm_get_appsvc_info(GVariant *parameters, uid_t uid, gchar **b_data);
int alarm_manager_alarm_get_noti_info(GVariant *parameters, uid_t uid, gchar **noti_data);
int alarm_manager_alarm_get_info(GVariant *parameters, uid_t uid, base_info_t *base_info);
" </method>"
" <method name='alarm_get_list_of_ids'>"
" <arg type='i' name='max_number_of_ids' direction='in' />"
-" <arg type='ai' name='alarm_id' direction='out' />"
+" <arg type='a(i)' name='alarm_id' direction='out' />"
" <arg type='i' name='number_of_ids' direction='out' />"
" <arg type='i' name='return_code' direction='out' />"
" </method>"
ret = alarm_manager_alarm_get_number_of_ids(uid, pid, &num_of_alarm);
g_dbus_method_invocation_return_value(invoc, g_variant_new("(ii)", num_of_alarm, ret));
} else if (g_strcmp0(method_name, "alarm_get_list_of_ids") == 0) {
- GVariant *arr = NULL;
+ GVariantBuilder *arr = g_variant_builder_new(G_VARIANT_TYPE("a(i)"));
- ret = alarm_manager_alarm_get_list_of_ids(parameters, uid, pid, &arr, &num_of_alarm);
- g_dbus_method_invocation_return_value(invoc, g_variant_new("(@aiii)", arr, num_of_alarm, ret));
+ ret = alarm_manager_alarm_get_list_of_ids(parameters, uid, pid, arr, &num_of_alarm);
+ g_dbus_method_invocation_return_value(invoc, g_variant_new("(a(i)ii)", arr, num_of_alarm, ret));
+
+ g_variant_builder_unref(arr);
} else if (g_strcmp0(method_name, "alarm_get_appsvc_info") == 0) {
gchar *b_data = NULL;
static __alarm_info_t *__alarm_update_in_list(uid_t uid, alarm_id_t alarm_id,
base_info_t *base_info, int update_flag, int *error_code);
static bool __alarm_remove_from_list(uid_t uid, alarm_id_t alarm_id,
- int *error_code);
+ int *error_code);
static void __alarm_set_start_and_end_time(base_info_t *base_info,
- __alarm_info_t *__alarm_info);
+ __alarm_info_t *__alarm_info);
static void __alarm_update_due_time_of_all_items_in_list(time_t new_time,double diff_time);
static bool __alarm_create(base_info_t *base_info, alarm_id_t *alarm_id, uid_t uid,
int pid, periodic_method_e method, long requested_interval, int is_ref,
static bool __alarm_delete(uid_t uid, alarm_id_t alarm_id, int *error_code);
static bool __alarm_update(uid_t uid, alarm_id_t alarm_id,
- base_info_t *base_info, int update_flag, int *error_code);
+ base_info_t *base_info, int update_flag, int *error_code);
static void __on_system_time_external_changed(keynode_t *node, void *data);
static void __initialize_alarm_list();
static void __initialize_scheduled_alarm_list();
}
static bool __alarm_update(uid_t uid, alarm_id_t alarm_id,
- base_info_t *base_info, int update_flag, int *error_code)
+ base_info_t *base_info, int update_flag, int *error_code)
{
time_t current_time;
char due_time_r[100] = { 0 };
}
int alarm_manager_alarm_get_list_of_ids(GVariant *parameters, uid_t uid,
- pid_t pid, GVariant **alarm_array, int *num_of_alarm)
+ pid_t pid, GVariantBuilder *alarm_array, int *num_of_alarm)
{
GSList *gs_iter = NULL;
char app_name[MAX_APP_ID_LEN] = { 0 };
__alarm_info_t *entry = NULL;
int index = 0;
int max_number_of_ids;
- GVariantBuilder *builder = NULL;
- *alarm_array = g_variant_new("ai", NULL);
+ *num_of_alarm = 0;
g_variant_get(parameters, "(i)", &max_number_of_ids);
-
if (max_number_of_ids <= 0) {
SECURE_LOGE("called for uid(%d) pid(%d), but max_number_of_ids(%d) is less than 0.", uid, pid, max_number_of_ids);
- *num_of_alarm = 0;
return ALARMMGR_RESULT_SUCCESS;
}
return ERR_ALARM_SYSTEM_FAIL;
SECURE_LOGD("Called by process (uid: %d, pid:%d, unique_name=%s).", uid, pid, app_name);
- builder = g_variant_builder_new(G_VARIANT_TYPE("ai"));
for (gs_iter = alarm_context.alarms; gs_iter != NULL; gs_iter = g_slist_next(gs_iter)) {
entry = (__alarm_info_t*)gs_iter->data;
if (entry->uid == uid &&
strncmp(app_name, (entry->app_unique_name), strlen(app_name)) == 0) {
- g_variant_builder_add(builder, "i", entry->alarm_id);
+ g_variant_builder_add(alarm_array, "(i)", entry->alarm_id);
index++;
SECURE_LOGE("called for alarmid(%d), but max_number_of_ids(%d) index %d.", entry->alarm_id, max_number_of_ids, index);
}
}
- *alarm_array = g_variant_new("ai", builder);
*num_of_alarm = index;
- g_variant_builder_unref(builder);
SECURE_LOGE("Called by uid (%d), pid (%d), but max_number_of_ids(%d).", uid, pid, index);
return ALARMMGR_RESULT_SUCCESS;