From 2b78b5294a6a047a971446595c9e7f5f32f583a2 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Tue, 18 Sep 2001 20:16:39 +0000 Subject: new class for managing multiple calendars, with an API very similar to the 2001-09-18 Rodrigo Moya * cal-client/cal-client-multi.[ch]: new class for managing multiple calendars, with an API very similar to the CalClient one, for ease of transition from one to the other * gui/component-factory.c (xfer_folder, remove_folder, create_folder): reworked to be able to manage folders for any calendar backend, and not only the file: one 2001-09-18 Rodrigo Moya * idl/evolution-calendar.idl: changed signature for the getFreeBusy method, to return a sequence of CalObj's, and added sequence of users as a new parameter to that method * cal-client/cal-client.c (cal_client_get_free_busy): adapted to new IDL method signature, by adding a new "GList *users" parameter, for callers to be able to specify a list of users * pcs/cal-backend.[ch] (cal_backend_get_free_busy): * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): add the "GList *users" parameter. In cal_backend_file_get_free_busy, call lookup_component to get the CalComponent for each uid, instead of calling cal_backend_get_object, which meant converting the component to a string and then parsing it again. * cal-client/client-test.c (cal_opened_cb): * gui/e-itip-control.c (send_freebusy): * gui/calendar-commands.c (publish_freebusy_cmd): adapted to new getFreeBusy method signature svn path=/trunk/; revision=12951 --- calendar/cal-client/client-test.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'calendar/cal-client/client-test.c') diff --git a/calendar/cal-client/client-test.c b/calendar/cal-client/client-test.c index f9c53bb74c..42d933f881 100644 --- a/calendar/cal-client/client-test.c +++ b/calendar/cal-client/client-test.c @@ -134,15 +134,22 @@ cal_opened_cb (CalClient *client, CalClientOpenStatus status, gpointer data) "unknown status value")); if (status == CAL_CLIENT_OPEN_SUCCESS) { - CalComponent *comp; + GList *comp_list; /* get free/busy information */ - cal_client_get_free_busy (client, 0, time (NULL), &comp); - if (IS_CAL_COMPONENT (comp)) { - char *comp_str = cal_component_get_as_string (comp); - gtk_object_unref (GTK_OBJECT (comp)); - cl_printf (client, "Free/Busy -> %s\n", comp_str); - g_free (comp_str); + comp_list = cal_client_get_free_busy (client, NULL, 0, time (NULL)); + if (comp_list) { + GList *l; + + for (l = comp_list; l; l = l->next) { + char *comp_str; + + comp_str = cal_component_get_as_string (CAL_COMPONENT (l->data)); + gtk_object_unref (GTK_OBJECT (l->data)); + cl_printf (client, "Free/Busy -> %s\n", comp_str); + g_free (comp_str); + } + g_list_free (comp_list); } g_idle_add (list_uids, client); @@ -225,9 +232,8 @@ main (int argc, char **argv) dir = g_strdup_printf ("%s/evolution/local/Calendar/calendar.ics", g_get_home_dir ()); create_client (&client1, dir, FALSE); - create_client (&client2, "/cvs/evolution/calendar/cal-client/test.ics", TRUE); - g_free (dir); + create_client (&client2, "/cvs/evolution/calendar/cal-client/test.ics", TRUE); bonobo_main (); return 0; -- cgit v1.2.3