[evolution-data-server/wip/mcrha/libical-glib] Add GCancellable argument to e_cal_client_generate_instances_sync() and e_cal_client_generate_instan



commit ce6fc580c8c151622056b96043b2b9fc94988c6d
Author: Milan Crha <mcrha redhat com>
Date:   Tue Mar 26 09:55:22 2019 +0100

    Add GCancellable argument to e_cal_client_generate_instances_sync() and 
e_cal_client_generate_instances_for_object_sync()

 src/calendar/libecal/e-cal-client.c | 14 +++++++++-----
 src/calendar/libecal/e-cal-client.h |  2 ++
 2 files changed, 11 insertions(+), 5 deletions(-)
---
diff --git a/src/calendar/libecal/e-cal-client.c b/src/calendar/libecal/e-cal-client.c
index 14b0d2b8c..c2375aa68 100644
--- a/src/calendar/libecal/e-cal-client.c
+++ b/src/calendar/libecal/e-cal-client.c
@@ -2849,6 +2849,7 @@ e_cal_client_generate_instances (ECalClient *client,
  * @client: A calendar client
  * @start: Start time for query
  * @end: End time for query
+ * @cancellable: a #GCancellable; can be %NULL
  * @cb: (closure cb_data) (scope call): Callback for each generated instance
  * @cb_data: (closure): Closure data for the callback
  *
@@ -2865,6 +2866,7 @@ void
 e_cal_client_generate_instances_sync (ECalClient *client,
                                       time_t start,
                                       time_t end,
+                                     GCancellable *cancellable,
                                       ECalRecurInstanceCb cb,
                                       gpointer cb_data)
 {
@@ -2881,7 +2883,7 @@ e_cal_client_generate_instances_sync (ECalClient *client,
                return;
 
        /* generate_instaces frees 'objects' slist */
-       generate_instances (client, start, end, objects, NULL, cb, cb_data);
+       generate_instances (client, start, end, objects, cancellable, cb, cb_data);
 }
 
 /* also frees 'instances' GSList */
@@ -3095,6 +3097,7 @@ e_cal_client_generate_instances_for_object (ECalClient *client,
  * @icalcomp: Object to generate instances from
  * @start: Start time for query
  * @end: End time for query
+ * @cancellable: a #GCancellable; can be %NULL
  * @cb: (closure cb_data) (scope call): Callback for each generated instance
  * @cb_data: (closure): Closure data for the callback
  *
@@ -3113,6 +3116,7 @@ e_cal_client_generate_instances_for_object_sync (ECalClient *client,
                                                  ICalComponent *icalcomp,
                                                  time_t start,
                                                  time_t end,
+                                                GCancellable *cancellable,
                                                  ECalRecurInstanceCb cb,
                                                  gpointer cb_data)
 {
@@ -3138,7 +3142,7 @@ e_cal_client_generate_instances_for_object_sync (ECalClient *client,
                dtend = i_cal_component_get_dtend (icalcomp);
 
                /* return the same instance */
-               (* cb)  (icalcomp, dtstart, dtend, cb_data, NULL, NULL);
+               (* cb)  (icalcomp, dtstart, dtend, cb_data, cancellable, NULL);
 
                g_clear_object (&dtstart);
                g_clear_object (&dtend);
@@ -3154,7 +3158,7 @@ e_cal_client_generate_instances_for_object_sync (ECalClient *client,
        /* Get the start timezone */
        datetime = e_cal_component_get_dtstart (comp);
        if (datetime && e_cal_component_datetime_get_tzid (datetime))
-               e_cal_client_get_timezone_sync (client, e_cal_component_datetime_get_tzid (datetime), 
&start_zone, NULL, NULL);
+               e_cal_client_get_timezone_sync (client, e_cal_component_datetime_get_tzid (datetime), 
&start_zone, cancellable, NULL);
        else
                start_zone = NULL;
        e_cal_component_datetime_free (datetime);
@@ -3162,7 +3166,7 @@ e_cal_client_generate_instances_for_object_sync (ECalClient *client,
        /* Get the end timezone */
        datetime = e_cal_component_get_dtend (comp);
        if (datetime && e_cal_component_datetime_get_tzid (datetime))
-               e_cal_client_get_timezone_sync (client, e_cal_component_datetime_get_tzid (datetime), 
&end_zone, NULL, NULL);
+               e_cal_client_get_timezone_sync (client, e_cal_component_datetime_get_tzid (datetime), 
&end_zone, cancellable, NULL);
        else
                end_zone = NULL;
        e_cal_component_datetime_free (datetime);
@@ -3177,7 +3181,7 @@ e_cal_client_generate_instances_for_object_sync (ECalClient *client,
        generate_instances (
                client, start, end,
                get_objects_sync (client, start, end, uid),
-               NULL, add_instance_cb, instances_hold);
+               cancellable, add_instance_cb, instances_hold);
 
        /* it also frees 'instances' GSList */
        process_instances (client, comp, *(instances_hold->instances), cb, cb_data);
diff --git a/src/calendar/libecal/e-cal-client.h b/src/calendar/libecal/e-cal-client.h
index c1b17d2ec..6893c3eb7 100644
--- a/src/calendar/libecal/e-cal-client.h
+++ b/src/calendar/libecal/e-cal-client.h
@@ -204,6 +204,7 @@ void                e_cal_client_generate_instances_sync
                                                (ECalClient *client,
                                                 time_t start,
                                                 time_t end,
+                                                GCancellable *cancellable,
                                                 ECalRecurInstanceCb cb,
                                                 gpointer cb_data);
 void           e_cal_client_generate_instances_for_object
@@ -220,6 +221,7 @@ void                e_cal_client_generate_instances_for_object_sync
                                                 ICalComponent *icalcomp,
                                                 time_t start,
                                                 time_t end,
+                                                GCancellable *cancellable,
                                                 ECalRecurInstanceCb cb,
                                                 gpointer cb_data);
 gchar *                e_cal_client_get_component_as_string


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]