Hi List, While developing the preliminary version of exchange2ical, I've found that the method we use to create a SPropTagArray with named and fixed properties and fetch named properties after the GetProps call is not really convenient:
1. MS-OXCPROPS refers named properties with a canonical name which we don't have. 2. With the current API we must create the SPropTagArray with the mapi_nameid API, then use SPropTagArray_add. 3. When we fetch properties from the SRowSet we need to look back into mapi-named-properties and use the common property tag hexadecimal value. The idea would be to add: 1. Add a canonical name to each MAPI named properties 2. use a unique set_SPropTagArray to create the full property tag array 3. Do the magic in GetProps: retrieve the effective named properties ID on Exchange, then map it back to the common property tag at the end of the call. 4. When we fetch the property data (using one of the property.c convenient function), we can simply use the canonical name. The remaining case is how to deal with custom named properties, such as those implementors may add or possibly named properties we don't yet support in mapi-nameid-properties. For this last case, we could probably a custom list maintained statically within the mapi_nameid API and with add/delete/fetch/check semantics. Finally, this approach doesn't really match with libmapi philosophy: "libmapi is wire level", but the scope of these changes is imho limited and would make life much easier for developers. Ideas/Suggestions Welcome. Cheers, Julien. -- Julien Kerihuel [EMAIL PROTECTED] OpenChange Project Manager GPG Fingerprint: 0B55 783D A781 6329 108A B609 7EF6 FE11 A35F 1F79
signature.asc
Description: This is a digitally signed message part
_______________________________________________ devel mailing list devel@openchange.org http://mailman.openchange.org/listinfo/devel