Re: [Evolution-hackers] E-VCard API
- From: Chris Toshok <toshok ximian com>
- To: Damien Sandras <dsandras seconix com>
- Cc: evolution-hackers lists ximian com
- Subject: Re: [Evolution-hackers] E-VCard API
- Date: Thu, 29 Apr 2004 10:29:36 -0700
The way I described doing it (the code you're using below) will give you
a vcard that has the following attribute in it:
TEL;TYPE=X-GNOME-MEETING-SPEEDDIAL:55
so basically you do your loops to find the TYPE attribute param with
X-GNOME-MEETING-SPEEDDIAL for the value, and then you can call
e_vcard_attribute_get_value (since you know it's single valued - or
rather, since you only care about the first value.)
What Rodney was suggesting is something like this:
X-EVOLUTION-VIDEO-URL;X-GNOME-MEETING-SPEEDDIAL=55:callto://....
This might be how you want things tied together, I don't really know...
For this, you just loop over the EVCardAttributeParam's until you find
one named X-GNOME-MEETING-SPEEDDIAL, then the value of that parameter
(from e_vcard_attribute_param_get_values) is 55.
Chris
On Thu, 2004-04-29 at 11:20 +0200, Damien Sandras wrote:
> Hello to all,
>
> I have made more progress, but I'm a bit confused by the API.
> I have added Speeddial support using Chris' trick :
>
> --------------------------------------------
> attr = e_vcard_attribute_new (NULL, "TEL");
> e_vcard_attribute_add_param_with_value (attr,
> e_vcard_attribute_param_new
> ("TYPE"),
> "X-GNOME-MEETING-SPEEDDIAL");
> e_vcard_attribute_add_value (attr, "55");
> e_vcard_add_attribute (E_VCARD (contact), attr);
> --------------------------------------------
>
> Now, from an EContact, I want to be able to read the speed dial value
> back. More or less easy with a succession of loops :
>
> 1) e_contact_get_attributes returns a GList of EVCardAttribute *
> 2) for each of the EVCardAttribute *, call e_vcard_attribute_get_params
> to get a GList of EVCardAttributeParam *
> 3) for each of the EVCardAttributeParam, call
> e_vcard_attribute_param_get_values to get a list of char * containing
> the param value name. One of them is of course
> "X-GNOMEMEETING-SPEEDDIAL", but how can I get the associate value back?
>
> I can use e_vcard_attribute_get_values, but it will give me a list of
> values for the EVCardAttribute found at step 1. How can I make sure I
> get the value for the correct EVCardAttributeParam with the right
> X-GNOMEMEETING-SPEEDDIAL value?
>
> Currently, it works because all lists are single-valued, but shouldn't
> there be a function in the API like :
> e_vcard_attribute_param_get_value (EVCardAttributeParam (found in 2),
> "X-GNOMEMEETING-SPEEDDIAL")?
>
> Thanks,
> --
> Damien Sandras <dsandras seconix com>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]