aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/pcs/cal.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2003-03-05 06:02:01 +0800
committerJP Rosevear <jpr@src.gnome.org>2003-03-05 06:02:01 +0800
commitaf8947c7c413379f6eca5fe81b930a5e0014bc8c (patch)
tree9a136a13172c2ac0d1e9ef8b18cd1e30cf95934d /calendar/pcs/cal.c
parentc1e2563e393921af0dea2d29eeb13d58e1bcd91b (diff)
downloadgsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.gz
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.bz2
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.lz
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.xz
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.zst
gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.zip
implement
2003-03-04 JP Rosevear <jpr@ximian.com> * pcs/cal.c (impl_Cal_get_ldap_attribute): implement * pcs/cal-backend.h: add virtual method * pcs/cal-backend.c (cal_backend_get_ldap_attribute): call get_ldap_attribute_method * pcs/cal-backend-file.c (cal_backend_file_class_init): overrid get_ldap_attribute method * idl/evolution-calendar.idl: add getLdapAttribute method * gui/e-meeting-model.c (process_section): take simple card list as arg and try to use the ldap attribute (if any) as the attendee, else use the email address (select_names_ok_cb): get the simple card list * cal-client/cal-client.h: add proto * cal-client/cal-client.c (cal_client_init): init ldap_attribute to NULL (cal_client_destroy): free ldap_attribute svn path=/trunk/; revision=20154
Diffstat (limited to 'calendar/pcs/cal.c')
-rw-r--r--calendar/pcs/cal.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/calendar/pcs/cal.c b/calendar/pcs/cal.c
index 9040534940..bd6ffb4b38 100644
--- a/calendar/pcs/cal.c
+++ b/calendar/pcs/cal.c
@@ -125,6 +125,30 @@ impl_Cal_getAlarmEmailAddress (PortableServer_Servant servant,
return str_email_address_copy;
}
+
+/* Cal::get_ldap_attribute method */
+static CORBA_char *
+impl_Cal_getLdapAttribute (PortableServer_Servant servant,
+ CORBA_Environment *ev)
+{
+ Cal *cal;
+ CalPrivate *priv;
+ const char *str_ldap_attr;
+ CORBA_char *str_ldap_attr_copy;
+
+ cal = CAL (bonobo_object_from_servant (servant));
+ priv = cal->priv;
+
+ str_ldap_attr = cal_backend_get_ldap_attribute (priv->backend);
+ if (str_ldap_attr == NULL) {
+ bonobo_exception_set (ev, ex_GNOME_Evolution_Calendar_Cal_NotFound);
+ return CORBA_OBJECT_NIL;
+ }
+
+ str_ldap_attr_copy = CORBA_string_dup (str_ldap_attr);
+
+ return str_ldap_attr_copy;
+}
/* Cal::getSchedulingInformation method */
static CORBA_char *
@@ -817,6 +841,7 @@ cal_class_init (CalClass *klass)
epv->isReadOnly = impl_Cal_isReadOnly;
epv->getCalAddress = impl_Cal_getCalAddress;
epv->getAlarmEmailAddress = impl_Cal_getAlarmEmailAddress;
+ epv->getLdapAttribute = impl_Cal_getLdapAttribute;
epv->getStaticCapabilities = impl_Cal_getStaticCapabilities;
epv->setMode = impl_Cal_setMode;
epv->countObjects = impl_Cal_countObjects;