On Tue, Feb 01, 2005 at 04:45:41AM -0800, Jon Griffiths wrote:
Hi Luke,
i noticed that Wine has a mapi32.dll.so.
The current MAPI code is very, very far from complete. I have been implementing it in a bottom up manner (i.e. starting with the lower level/utility functions and working up toward constructing the higher order functions/objects). For example, there is no table support at present (I have an IMAPITable implemenation of sorts, but its not ready to be committed yet, pending cleanup, tests and thread safety checks). Providing the message stores etc must then be built on top of these objects.
I believe Crossover Office runs MS Outlook so you may have more success using the native dlls at this moment in time.
ah ha, you're going to like this: i'm implementing exchange 5.5 server so the native dlls don't help :)
[hm, if crossover office runs ms outlook, that would mean that codeweavers enhanced the mapi code, hm...]
what i am looking to do is to actually _implement_ a MAPI database, such that tables can be read etc.
i haven't a clue what i'm doing, so am just copying the data from off-the-wire.
but it will look very strangely familiar to anyone who has been working for some time with MAPI.
i spent two hours yesterday mapping the data structures in mapidefs.h into emsabp.idl.
they're identical (idl file sent to wine-devel list yesterday).
For the functions that are complete there is documentation in the source: "make htmlpages" from the base Wine dir will format these into readable html starting at documentation/html/index.html.
thank you.
If your tests will rely on an exchange server being present it is unlikely that you will be able to put them in the main wine tree, so a stand alone program is likely the best solution.
ha ha - i am _replacing_ exchange 5.5 server :)
As for sample programs, a quick google for "mapi sample program" and you will get a bunch of links, including some freely downloadable MS samples.
... i am kinda looking for something with a Makefile, compiles and links against Wine directly - under linux not windows.
i am inclined to rip bits of code out of Wine (parts of header files so far) until i can get to grips with it.
the thing is that by the time i am done, there will be some code that should just... integrate in a _very_ obvious manner into Wine's MAPI32.dll implementation, providing an interface to Nspi (emsabp.idl) and EcMapi (emsmdb.idl).
... it's just that at the moment i haven't really got a handle on this stuff: all i can say is i appear to be implementing MAPI tables and MAPI properties etc. but don't know what those really are.
l.