On Do, 2011-09-15 at 19:41 +1000, Roger KeIrad wrote:
> Hello,
>
> I am trying to understand how sqlite backend is implemented. Acually,
> all fields that are inserted via SQLiteContactSource::insertItemAsKey
> doesn't include those who have complex values like "TEL" field.
> Does getSynthesisAPI()->getValue permit to get values like TEL or
> RRULE ones?
You can read the corresponding fields. They are arrays, because TEL can
occur more than once. The sqlite demo contact schema was intentionally
kept simple and doesn't support recurring properties (would require
additional tables).
> How can i specify a complexe values like TEL or RRULE when doing
> readitem operation via getSynthesisAPI()->setValue api ?
You cannot read an iCalendar 2.0 RRULE or vCard 3.0 TEL property string
via that API because it doesn't know about those. You can only read the
internal field list representation of these properties.
> How can i differenciate between AALARM, DALARM when doing readitem
> operation cause there is no global fieldname for these properties in
> xml config files ?
There is:
<field name="ALARM_TIME" type="timestamp" compare="conflict"/>
<field name="ALARM_SNOOZE" type="string" compare="conflict"/>
<field name="ALARM_REPEAT" type="string" compare="conflict"/>
<field name="ALARM_MSG" type="string" compare="conflict"/>
<field name="ALARM_ACTION" type="string" compare="conflict"/>
<field name="ALARM_REL" type="integer" compare="never"/>
<field name="ALARM_UID" type="string" compare="never" merge="fillempty"/>
The profile is:
<!-- AALARM and DALARM both use the same fields -->
<property name="AALARM" onlyformode="old" values="4"
suppressempty="yes">
<value index="0" field="ALARM_TIME" conversion="emptyonly"/>
<value index="1" field="ALARM_SNOOZE" conversion="emptyonly"/>
<value index="2" field="ALARM_REPEAT" conversion="emptyonly"/>
<value index="3" field="ALARM_MSG" conversion="emptyonly"/>
</property>
<property name="DALARM" onlyformode="old" values="4"
suppressempty="yes">
<value index="0" field="ALARM_TIME" conversion="emptyonly"/>
<value index="1" field="ALARM_SNOOZE" conversion="emptyonly"/>
<value index="2" field="ALARM_REPEAT" conversion="emptyonly"/>
<value index="3" field="ALARM_MSG" conversion="emptyonly"/>
</property>
I haven't looked at this before, but the way I interpret it is that
either AALARM or DALARM in an incoming vCalendar 1.0 will set the
ALARM_TIME/SNOOZE/REPEAT/MSG fields. Then exporting will produce both a
AALARM and DALARM. In other words, there is no distinction between the
two.
In iCalendar 2.0 there is an ACTION property which maps to the
ALARM_ACTION field. Perhaps that same field can be used in the vCalendar
1.0 case, but I am not sure how.
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution