diff options
author | JP Rosevear <jpr@ximian.com> | 2003-03-05 06:02:01 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-03-05 06:02:01 +0800 |
commit | af8947c7c413379f6eca5fe81b930a5e0014bc8c (patch) | |
tree | 9a136a13172c2ac0d1e9ef8b18cd1e30cf95934d /calendar/pcs/cal.c | |
parent | c1e2563e393921af0dea2d29eeb13d58e1bcd91b (diff) | |
download | gsoc2013-evolution-af8947c7c413379f6eca5fe81b930a5e0014bc8c.tar.gz 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.c | 25 |
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; |