On Wed, 2014-04-30 at 18:22 +0200, Lukas Zeller wrote:

> What you have here is probably the most elaborate profile ever
> specified for libsynthesis :-) , but I see no reason why it should not
> work once the <position> is correct.

That's what I had tried earlier. It leads to the situation where the
labels of independent properties overwrite labels of other, earlier
properties. That's because the position checking seems to focus
exclusively on property values and ignores property parameters. Here's
an example:

BEGIN:VCARD
VERSION:3.0
PRODID:-//Synthesis AG//NONSGML SyncML Engine V3.4.0.47//EN
REV:20140430T170257Z
N:Doe;John;1;Mr.;Sr.
FN:Mr. John 1 Doe Sr.
X-EVOLUTION-FILE-AS:Doe\, John
X-GENDER:
NICKNAME:Johnny
TITLE:tester
ORG:at company;;;
ROLE:
TEL;TYPE=WORK:business 1
TEL;TYPE=CELL:mobile
TEL;TYPE=HOME:home
TEL:main
TEL;TYPE=WORK,FAX:work fax
TEL;TYPE=HOME,FAX:home fax
TEL;X-ABLabel=Google Voice:google voice
TEL;TYPE=PAGER:pager
TEL;X-ABLabel=custom-label4:custom
EMAIL;TYPE=HOME:john....@home.com
EMAIL;TYPE=WORK:d...@work.com
EMAIL;X-ABLabel=custom-label2:j...@custom.com
URL;X-ABLabel=Profile:http://profile.com
URL;X-ABLabel=Blog:http://blog.com
URL;X-ABLabel=HomePage:http://homepage.com
URL;X-ABLabel=Work:http://company.com
URL;X-ABLabel=Custom-label6:http://custom.com
X-EVOLUTION-MANAGER:manager
X-MANAGER:manager
X-EVOLUTION-ASSISTANT:assistant
X-ASSISTANT:assistant
X-ABRELATEDNAMES;X-ABLabel=Child:child
X-ABRELATEDNAMES;X-ABLabel=Mother:mother
X-ABRELATEDNAMES;X-ABLabel=Father:father
X-ABRELATEDNAMES;X-ABLabel=Parent:parent
X-ABRELATEDNAMES;X-ABLabel=Brother:brother
X-ABRELATEDNAMES;X-ABLabel=Sister:sister
X-ABRELATEDNAMES;X-ABLabel=Friend:friend
X-ABRELATEDNAMES;X-ABLabel=relative:relative
X-ABRELATEDNAMES;X-ABLabel=referred by:referred-by
X-ABRELATEDNAMES;X-ABLabel=Partner:partner
X-ABRELATEDNAMES;X-ABLabel=domestic partner:domestic partner
X-ABRELATEDNAMES;X-ABLabel=custom-label5:custom relationship
X-EVOLUTION-SPOUSE:spouse
X-SPOUSE:spouse
X-EVOLUTION-ANNIVERSARY:19710101
X-ANNIVERSARY:19710101
X-ABDate;X-ABLabel=custom-label3:20000201
IMPP;X-ABLabel=Other:xmpp:google%20talk
IMPP;X-ABLabel=Other:aim:aim
IMPP;X-ABLabel=Other:ymsgr:yahoo
IMPP;X-ABLabel=Other:skype:skype
IMPP;X-ABLabel=Other:x-apple:QQ
IMPP;X-ABLabel=Other:msnim:MSN
IMPP;X-ABLabel=Other:aim:ICQ
IMPP;X-ABLabel=Other:xmpp:Jabber
IMPP;X-ABLabel=Other:x-apple:custom%20chat
X-MOZILLA-HTML:FALSE
ADR;TYPE=HOME:PO;neighborhood;home address\n;City;State;ZIP;Country
ADR;TYPE=WORK:;;work address;;;;
ADR:;;custom address;;;;
BDAY:19701230
NOTE:A test contact.
PHOTO;ENCODING=B:iVBORw0KGgoAAAANSUhEUgAAACQAAAAXCAYAAABj7u2bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gEICjgdiWkBOQAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAABaElEQVRIx+3Wu0tcURAG8F98gRKTYGORRqwksJV/QOqFFIFgKgsRYbHV1larDQQCKQxpUscyhUmXJuCSNpYWPsAU6wPxHW6aWbgsu+ve3RUs7geHc+fON3O+M4c5HHLkyHG/eISkg5heIGmUr++hVWigyY6THlejbWSt0Bv8QBXX2MF7jKU4IyjjJ45xg31sYKZuw7Xv9Gh6vvXO9QbBtbGNJ8Ert+AlTURkFjQX9g5e4ykGUcBm+FaDexx2MUQOYhIL2Lpj09oV9CvsQgPuePj+hP037BL6M6yRSdDZHWVOcBHcEv7FvyN8xxqmeynovA1Baf4UVvANhyn/Uq8E/Q57ssNufhvx1QZrDHfS9p9i3sQsnscdNowXWEQlOBXMYyI4j3EavqFUzpOYl4OTqUJ9+NzmkbXyb6Ryfumm7Wso4it2cYXL6K6PeBmcV8E5iEvxPDjv8CyVaxQfsIfbqGIlf17k6Bb/Ae0cnahfg6KuAAAAAElFTkSuQmCC
GEO:;
X-PHONETIC-FIRST-NAME:John
X-PHONETIC-LAST-NAME:Doe
END:VCARD
  * [2014-04-30 19:03:12.551] parseMimeDir: property X-EVOLUTION-MANAGER
    parsing delayed, rank=1
  * [2014-04-30 19:03:12.551] parseMimeDir: property
    X-EVOLUTION-ASSISTANT parsing delayed, rank=1
  * [2014-04-30 19:03:12.551] parseMimeDir: property X-EVOLUTION-SPOUSE
    parsing delayed, rank=1
  * [2014-04-30 19:03:12.551] parseMimeDir: property
    X-EVOLUTION-ANNIVERSARY parsing delayed, rank=1
  * [2014-04-30 19:03:12.551] parseMimeDir: now parsing delayed property
    rank=1: :manager 
X-MANAGER:manager 
X
  * [2014-04-30 19:03:12.552] parseMimeDir: now parsing delayed property
    rank=1: :assistant 
X-ASSISTANT:assist
  * [2014-04-30 19:03:12.552] parseMimeDir: now parsing delayed property
    rank=1: :spouse 
X-SPOUSE:spouse 
X-EV
  * [2014-04-30 19:03:12.552] parseMimeDir: now parsing delayed property
    rank=1: :19710101 
X-ANNIVERSARY:19710
  * [2014-04-30 19:03:12.552] Successfully parsed: 
  * [2014-04-30 19:03:12.552] Item LocalID='',
    RemoteID='1a1d5ecf8e36d276', operation=add, size:
    [maxlocal,maxremote,actual]
  * [2014-04-30 19:03:12.552] 
-  0 :    integer SYNCLVL         [ n/a,   0,     0] : <unassigned>
-  1 :  timestamp REV             [   0,   0,     0] : 2014-04-30T17:02:57Z 
(TZ: UTC)
-  2 :     string UID             [ n/a,   0,     0] : <unassigned>
-  3 :     string GROUP_TAG       [ n/a,   0,     0] : <array with 12 elements>
                                     -- element    0 : <empty>
                                     -- element    1 : <empty>
                                     -- element    2 : <empty>
                                     -- element    3 : <empty>
                                     -- element    4 : <empty>
                                     -- element    5 : <empty>
                                     -- element    6 : <empty>
                                     -- element    7 : <empty>
                                     -- element    8 : <empty>
                                     -- element    9 : <empty>
                                     -- element   10 : <empty>
                                     -- element   11 : <empty>
-  4 :     string LABEL           [   0,   0,     0] : <array with 12 elements>
                                     -- element    0 : "Other"
                                     -- element    1 : "Other"
                                     -- element    2 : "Other"
                                     -- element    3 : "Other"
                                     -- element    4 : "Other"
                                     -- element    5 : "Other"
                                     -- element    6 : "Other"
                                     -- element    7 : "Other"
                                     -- element    8 : "Other"
                                     -- element    9 : "Partner"
                                     -- element   10 : "domestic partner"
                                     -- element   11 : "custom-label5"
-  5 :     string N_LAST          [   0,   0,     3] : "Doe"
-  6 :     string N_FIRST         [   0,   0,     4] : "John"
-  7 :     string N_MIDDLE        [   0,   0,     1] : "1"
-  8 :     string N_PREFIX        [   0,   0,     3] : "Mr."
-  9 :     string N_SUFFIX        [   0,   0,     3] : "Sr."
- 10 :     string NICKNAME        [   0,   0,     6] : "Johnny"
- 11 :     string TITLE           [   0,   0,     6] : "tester"
- 12 :     string FN              [   0,   0,    18] : "Mr. John 1 Doe Sr."
- 13 :     string FILE_AS         [   0,   0,     9] : "Doe, John"
- 14 :     string GENDER          [   0,   0,     0] : <empty>
- 15 :     string CATEGORIES      [   0,   0,     0] : <array with 0 elements>
- 16 :     string ORG_NAME        [   0,   0,    10] : "at company"
- 17 :     string ORG_DIVISION    [   0,   0,     0] : <empty>
- 18 :     string ORG_OFFICE      [   0,   0,     0] : <empty>
- 19 :     string ORG_TEAM        [   0,   0,     0] : <empty>
- 20 :     string ROLE            [   0,   0,     0] : <empty>
- 21 :       date BDAY            [   0,   0,     0] : 1970-12-30 (floating)
- 22 :       date ANNIVERSARY     [   0,   0,     0] : 1971-01-01 (floating)
- 23 :       date XDATE           [   0,   0,     0] : <array with 1 elements>
                                     -- element    0 : 2000-02-01 (floating)
- 24 :  telephone TEL             [   0,   0,     0] : <array with 9 elements>
                                     -- element    0 : "business 1"
                                     -- element    1 : "mobile"
                                     -- element    2 : "home"
                                     -- element    3 : "main"
                                     -- element    4 : "work fax"
                                     -- element    5 : "home fax"
                                     -- element    6 : "google voice"
                                     -- element    7 : "pager"
                                     -- element    8 : "custom"
- 25 :    integer TEL_FLAGS       [   0,   0,     0] : <array with 8 elements>
                                     -- element    0 : 2
                                     -- element    1 : 16
                                     -- element    2 : 1
                                     -- element    3 : <unassigned>
                                     -- element    4 : 34
                                     -- element    5 : 33
                                     -- element    6 : <unassigned>
                                     -- element    7 : 64
- 26 :     string TEL_LABEL       [ n/a,   0,     0] : <unassigned>
- 27 :    integer TEL_ID          [ n/a,   0,     0] : <unassigned>
- 28 :    integer TEL_SLOT        [   0,   0,     0] : <array with 0 elements>
- 29 :  multiline EMAIL           [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "john....@home.com"
                                     -- element    1 : "d...@work.com"
                                     -- element    2 : "j...@custom.com"
- 30 :    integer EMAIL_FLAGS     [   0,   0,     0] : <array with 2 elements>
                                     -- element    0 : 1
                                     -- element    1 : 2
- 31 :     string EMAIL_LABEL     [ n/a,   0,     0] : <unassigned>
- 32 :    integer EMAIL_ID        [ n/a,   0,     0] : <unassigned>
- 33 :    integer EMAIL_SLOT      [   0,   0,     0] : <array with 0 elements>
- 34 :     string WEB             [   0,   0,     0] : <array with 5 elements>
                                     -- element    0 : "http://profile.com";
                                     -- element    1 : "http://blog.com";
                                     -- element    2 : "http://homepage.com";
                                     -- element    3 : "http://company.com";
                                     -- element    4 : "http://custom.com";
- 35 :    integer WEB_FLAGS       [   0,   0,     0] : <array with 0 elements>
- 36 :     string WEB_LABEL       [ n/a,   0,     0] : <unassigned>
- 37 :    integer WEB_ID          [ n/a,   0,     0] : <unassigned>
- 38 :     string CALURI          [   0,   0,     0] : <array with 0 elements>
- 39 :     string FBURL           [   0,   0,     0] : <array with 0 elements>
- 40 :     string BLOGURL         [   0,   0,     0] : <array with 0 elements>
- 41 :     string VIDEOURL        [   0,   0,     0] : <array with 0 elements>
- 42 :     string RELATEDNAMES    [   0,   0,     0] : <array with 12 elements>
                                     -- element    0 : "child"
                                     -- element    1 : "mother"
                                     -- element    2 : "father"
                                     -- element    3 : "parent"
                                     -- element    4 : "brother"
                                     -- element    5 : "sister"
                                     -- element    6 : "friend"
                                     -- element    7 : "relative"
                                     -- element    8 : "referred-by"
                                     -- element    9 : "partner"
                                     -- element   10 : "domestic partner"
                                     -- element   11 : "custom relationship"
- 43 :     string MANAGER         [   0,   0,     7] : "manager"
- 44 :     string ASSISTANT       [   0,   0,     9] : "assistant"
- 45 :     string SPOUSE          [   0,   0,     6] : "spouse"
- 46 :     string WANTS_HTML      [   0,   0,     5] : "FALSE"
- 47 :     string IMPP            [   0,   0,     0] : <array with 9 elements>
                                     -- element    0 : "xmpp:google%20talk"
                                     -- element    1 : "aim:aim"
                                     -- element    2 : "ymsgr:yahoo"
                                     -- element    3 : "skype:skype"
                                     -- element    4 : "x-apple:QQ"
                                     -- element    5 : "msnim:MSN"
                                     -- element    6 : "aim:ICQ"
                                     -- element    7 : "xmpp:Jabber"
                                     -- element    8 : "x-apple:custom%20chat"
- 48 :     string IMPP_SERVICE    [   0,   0,     0] : <array with 0 elements>
- 49 :     string IMPP_SLOT       [   0,   0,     0] : <array with 0 elements>
- 50 :     string AIM_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 51 :     string AIM_SLOT        [   0,   0,     0] : <array with 0 elements>
- 52 :     string GADUGADU_HANDLE [   0,   0,     0] : <array with 0 elements>
- 53 :     string GADUGADU_SLOT   [   0,   0,     0] : <array with 0 elements>
- 54 :     string GROUPWISE_HANDLE [   0,   0,     0] : <array with 0 elements>
- 55 :     string GROUPWISE_SLOT  [   0,   0,     0] : <array with 0 elements>
- 56 :     string ICQ_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 57 :     string ICQ_SLOT        [   0,   0,     0] : <array with 0 elements>
- 58 :     string JABBER_HANDLE   [   0,   0,     0] : <array with 0 elements>
- 59 :     string JABBER_SLOT     [   0,   0,     0] : <array with 0 elements>
- 60 :     string MSN_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 61 :     string MSN_SLOT        [   0,   0,     0] : <array with 0 elements>
- 62 :     string YAHOO_HANDLE    [   0,   0,     0] : <array with 0 elements>
- 63 :     string YAHOO_SLOT      [   0,   0,     0] : <array with 0 elements>
- 64 :     string SKYPE_HANDLE    [   0,   0,     0] : <array with 0 elements>
- 65 :     string SKYPE_SLOT      [   0,   0,     0] : <array with 0 elements>
- 66 :     string SIP_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 67 :     string SIP_SLOT        [   0,   0,     0] : <array with 0 elements>
- 68 :     string IM_ADDRESS      [   0,   0,     0] : <array with 0 elements>
- 69 :     string MEANWHILE_HANDLE [   0,   0,     0] : <array with 0 elements>
- 70 :     string IRC_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 71 :     string SMS_HANDLE      [   0,   0,     0] : <array with 0 elements>
- 72 :  multiline ADR_STREET      [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "home address
"
                                     -- element    1 : "work address"
                                     -- element    2 : "custom address"
- 73 :  multiline ADR_ADDTL       [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "neighborhood"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 74 :    integer ADR_STREET_FLAGS [   0,   0,     0] : <array with 2 elements>
                                     -- element    0 : 1
                                     -- element    1 : 2
- 75 :     string ADR_STREET_LABEL [ n/a,   0,     0] : <unassigned>
- 76 :    integer ADR_STREET_ID   [ n/a,   0,     0] : <unassigned>
- 77 :  multiline ADR_POBOX       [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "PO"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 78 :  multiline ADR_CITY        [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "City"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 79 :  multiline ADR_REG         [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "State"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 80 :  multiline ADR_ZIP         [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "ZIP"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 81 :  multiline ADR_COUNTRY     [   0,   0,     0] : <array with 3 elements>
                                     -- element    0 : "Country"
                                     -- element    1 : <unassigned>
                                     -- element    2 : <unassigned>
- 82 :  multiline NOTE            [   0,   0,    15] : "A test contact."
- 83 :     string PHOTO           [   0,   0,   516] : "�PNG

- 84 :     string PHOTO_TYPE      [   0,   0,     0] : <empty>
- 85 :     string PHOTO_VALUE     [   0,   0,     0] : <empty>
- 86 :     string GEO_LAT         [   0,   0,     0] : <empty>
- 87 :     string GEO_LONG        [   0,   0,     0] : <empty>
- 88 :     string CRYPTOENCRYPTPREF [   0,   0,     0] : <empty>
- 89 :     string CRYPTOPROTOPREF [   0,   0,     0] : <array with 0 elements>
- 90 :     string CRYPTOSIGNPREF  [   0,   0,     0] : <empty>
- 91 :     string OPENPGPFP       [   0,   0,     0] : <empty>
- 92 :     string XPROPS          [   0,   0,     0] : <array with 2 elements>
                                     -- element    0 : 
"X-PHONETIC-FIRST-NAME:John"
                                     -- element    1 : 
"X-PHONETIC-LAST-NAME:Doe"

Do I need to modify the source code to ensure that parameters do not
exist yet?

Similar to "for (sInt16 e=0; e<aPropP->numValues; e++) {" the code would
also need to iterate over aPropP->parameterDefs.

-- 
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.




_______________________________________________
os-libsynthesis mailing list
os-libsynthesis@synthesis.ch
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to