diff options
-rw-r--r-- | calendar/ChangeLog | 10 | ||||
-rw-r--r-- | calendar/gui/e-day-view.c | 1 | ||||
-rw-r--r-- | calendar/pcs/cal-backend-file.c | 65 | ||||
-rw-r--r-- | calendar/pcs/cal-backend-util.c | 63 | ||||
-rw-r--r-- | calendar/pcs/cal-backend-util.h | 16 |
5 files changed, 93 insertions, 62 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index a63b399ba6..0522eeb65c 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,13 @@ +2001-10-09 Rodrigo Moya <rodrigo@ximian.com> + + * pcs/cal-backend-file.c (mail_account_*): moved to a common place + (cal_backend_file_open): check if "uristr != NULL" and not + "uri != NULL" + + * pcs/cal-backend-util.c: moved to here + + * gui/e-day-view.c: add missing header file + 2001-10-09 Dan Winship <danw@ximian.com> * gui/e-meeting-model.c (process_free_busy_comp): Fix incorrect diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 77343b4763..ef3928a029 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -52,6 +52,7 @@ #include "dialogs/delete-comp.h" #include "comp-util.h" #include "calendar-commands.h" +#include "calendar-config.h" #include "goto.h" #include "e-day-view-time-item.h" #include "e-day-view-top-item.h" diff --git a/calendar/pcs/cal-backend-file.c b/calendar/pcs/cal-backend-file.c index bb70686ce2..471dba3fa2 100644 --- a/calendar/pcs/cal-backend-file.c +++ b/calendar/pcs/cal-backend-file.c @@ -25,7 +25,6 @@ #include <gtk/gtksignal.h> #include <bonobo/bonobo-exception.h> #include <bonobo/bonobo-moniker-util.h> -#include <bonobo-conf/bonobo-config-database.h> #include <libgnomevfs/gnome-vfs.h> #include "e-util/e-dbhash.h" #include "cal-util/cal-recur.h" @@ -848,7 +847,7 @@ cal_backend_file_open (CalBackend *backend, const char *uristr, gboolean only_if priv = cbfile->priv; g_return_val_if_fail (priv->icalcomp == NULL, CAL_BACKEND_OPEN_ERROR); - g_return_val_if_fail (uri != NULL, CAL_BACKEND_OPEN_ERROR); + g_return_val_if_fail (uristr != NULL, CAL_BACKEND_OPEN_ERROR); g_assert (priv->uri == NULL); g_assert (priv->comp_uid_hash == NULL); @@ -1204,64 +1203,6 @@ cal_backend_file_get_objects_in_range (CalBackend *backend, CalObjType type, return event_list; } -static void -mail_account_get (Bonobo_ConfigDatabase db, gint def, char **address, char **name) -{ - gchar *path; - - *address = NULL; - *name = NULL; - - /* get the identity info */ - path = g_strdup_printf ("/Mail/Accounts/identity_name_%d", def); - *name = bonobo_config_get_string (db, path, NULL); - g_free (path); - - path = g_strdup_printf ("/Mail/Accounts/identity_address_%d", def); - *address = bonobo_config_get_string (db, path, NULL); - g_free (path); -} - -static gboolean -mail_account_get_default (Bonobo_ConfigDatabase db, char **address, char **name) -{ - glong def, len; - - *address = NULL; - *name = NULL; - - len = bonobo_config_get_long_with_default (db, "/Mail/Accounts/num", 0, NULL); - def = bonobo_config_get_long_with_default (db, "/Mail/Accounts/default_account", 0, NULL); - - if (def < len) - mail_account_get (db, def, address, name); - else - return FALSE; - - return TRUE; -} - -static gboolean -mail_account_is_valid (Bonobo_ConfigDatabase db, char *user, char **name) -{ - gchar *address; - glong len, i; - - len = bonobo_config_get_long_with_default (db, "/Mail/Accounts/num", 0, NULL); - - for (i = 0; i < len; i++) { - mail_account_get (db, i, &address, name); - if (address != NULL && !strcmp (address, user)) { - g_free (address); - return TRUE; - } - g_free (address); - g_free (*name); - } - - return FALSE; -} - static icalcomponent * create_user_free_busy (CalBackendFile *cbfile, const char *address, const char *cn, time_t start, time_t end) @@ -1358,7 +1299,7 @@ cal_backend_file_get_free_busy (CalBackend *backend, GList *users, time_t start, g_return_val_if_fail (start <= end, NULL); if (users == NULL) { - if (mail_account_get_default (priv->db, &address, &name)) { + if (cal_backend_mail_account_get_default (priv->db, &address, &name)) { vfb = create_user_free_busy (cbfile, address, name, start, end); calobj = icalcomponent_as_ical_string (vfb); obj_list = g_list_append (obj_list, g_strdup (calobj)); @@ -1369,7 +1310,7 @@ cal_backend_file_get_free_busy (CalBackend *backend, GList *users, time_t start, } else { for (l = users; l != NULL; l = l->next ) { address = l->data; - if (mail_account_is_valid (priv->db, address, &name)) { + if (cal_backend_mail_account_is_valid (priv->db, address, &name)) { vfb = create_user_free_busy (cbfile, address, name, start, end); calobj = icalcomponent_as_ical_string (vfb); obj_list = g_list_append (obj_list, g_strdup (calobj)); diff --git a/calendar/pcs/cal-backend-util.c b/calendar/pcs/cal-backend-util.c index e2d138e372..7b3b119319 100644 --- a/calendar/pcs/cal-backend-util.c +++ b/calendar/pcs/cal-backend-util.c @@ -52,3 +52,66 @@ cal_backend_util_fill_alarm_instances_seq (GNOME_Evolution_Calendar_CalAlarmInst corba_instance->occur_end = (long) instance->occur_end; } } + +void +cal_backend_mail_account_get (Bonobo_ConfigDatabase db, + gint def, + char **address, + char **name) +{ + gchar *path; + + *address = NULL; + *name = NULL; + + /* get the identity info */ + path = g_strdup_printf ("/Mail/Accounts/identity_name_%d", def); + *name = bonobo_config_get_string (db, path, NULL); + g_free (path); + + path = g_strdup_printf ("/Mail/Accounts/identity_address_%d", def); + *address = bonobo_config_get_string (db, path, NULL); + g_free (path); +} + +gboolean +cal_backend_mail_account_get_default (Bonobo_ConfigDatabase db, + char **address, + char **name) +{ + glong def, len; + + *address = NULL; + *name = NULL; + + len = bonobo_config_get_long_with_default (db, "/Mail/Accounts/num", 0, NULL); + def = bonobo_config_get_long_with_default (db, "/Mail/Accounts/default_account", 0, NULL); + + if (def < len) + cal_backend_mail_account_get (db, def, address, name); + else + return FALSE; + + return TRUE; +} + +gboolean +cal_backend_mail_account_is_valid (Bonobo_ConfigDatabase db, char *user, char **name) +{ + gchar *address; + glong len, i; + + len = bonobo_config_get_long_with_default (db, "/Mail/Accounts/num", 0, NULL); + + for (i = 0; i < len; i++) { + cal_backend_mail_account_get (db, i, &address, name); + if (address != NULL && !strcmp (address, user)) { + g_free (address); + return TRUE; + } + g_free (address); + g_free (*name); + } + + return FALSE; +} diff --git a/calendar/pcs/cal-backend-util.h b/calendar/pcs/cal-backend-util.h index 2d9c9bd554..5f8b32ac70 100644 --- a/calendar/pcs/cal-backend-util.h +++ b/calendar/pcs/cal-backend-util.h @@ -24,13 +24,29 @@ #ifndef CAL_BACKEND_UTIL_H #define CAL_BACKEND_UTIL_H +#include <bonobo-conf/bonobo-config-database.h> #include <cal-backend.h> BEGIN_GNOME_DECLS +/* + * CORBA utility functions + */ + void cal_backend_util_fill_alarm_instances_seq ( GNOME_Evolution_Calendar_CalAlarmInstanceSeq *seq, GSList *alarms); +/* + * Functions for accessing mail configuration + */ + +void cal_backend_mail_account_get (Bonobo_ConfigDatabase db, gint def, + char **address, char **name); +gboolean cal_backend_mail_account_get_default (Bonobo_ConfigDatabase db, + char **address, char **name); +gboolean cal_backend_mail_account_is_valid (Bonobo_ConfigDatabase db, + char *user, char **name); + END_GNOME_DECLS #endif |