Module: wine Branch: master Commit: 44784356cc63630abbc063b48127ba1b99a87c1d URL: http://source.winehq.org/git/wine.git/?a=commit;h=44784356cc63630abbc063b481...
Author: Owen Rudge orudge@codeweavers.com Date: Wed Dec 16 11:22:34 2009 -0600
winemapi: Add Simple MAPI functions.
---
dlls/winemapi/Makefile.in | 3 +- dlls/winemapi/main.c | 72 +++++++++++++++++++++++++++++++++++++++++++ dlls/winemapi/sendmail.c | 71 ++++++++++++++++++++++++++++++++++++++++++ dlls/winemapi/winemapi.spec | 22 ++++++------ 4 files changed, 156 insertions(+), 12 deletions(-)
diff --git a/dlls/winemapi/Makefile.in b/dlls/winemapi/Makefile.in index 6a4ec21..7cde1ff 100644 --- a/dlls/winemapi/Makefile.in +++ b/dlls/winemapi/Makefile.in @@ -6,7 +6,8 @@ MODULE = winemapi.dll IMPORTS = shlwapi shell32 kernel32
C_SRCS = \ - main.c + main.c \ + sendmail.c
@MAKE_DLL_RULES@
diff --git a/dlls/winemapi/main.c b/dlls/winemapi/main.c index e4d4e55..5b6faef 100644 --- a/dlls/winemapi/main.c +++ b/dlls/winemapi/main.c @@ -24,6 +24,7 @@ #include "winbase.h" #include "winerror.h" #include "objbase.h" +#include "mapidefs.h" #include "mapi.h" #include "wine/debug.h"
@@ -37,3 +38,74 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) TRACE("(%p,%d,%p)\n", hinstDLL, fdwReason, fImpLoad); return TRUE; } + +ULONG WINAPI MAPIAddress(LHANDLE session, ULONG_PTR uiparam, LPSTR caption, + ULONG editfields, LPSTR labels, ULONG nRecips, lpMapiRecipDesc lpRecips, + FLAGS flags, ULONG reserved, LPULONG newRecips, lpMapiRecipDesc * lppNewRecips) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPIDeleteMail(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_id, + FLAGS flags, ULONG reserved) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPIDetails(LHANDLE session, ULONG_PTR uiparam, lpMapiRecipDesc recip, + FLAGS flags, ULONG reserved) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPIFindNext(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_type, + LPSTR seed_msg_id, FLAGS flags, ULONG reserved, LPSTR msg_id) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPILogon(ULONG_PTR uiparam, LPSTR profile, LPSTR password, + FLAGS flags, ULONG reserved, LPLHANDLE session) +{ + TRACE("(0x%08lx %s %p 0x%08x 0x%08x %p)\n", uiparam, + debugstr_a(profile), password, flags, reserved, session); + + if (session) + *session = 1; + + return SUCCESS_SUCCESS; +} + +ULONG WINAPI MAPILogoff(LHANDLE session, ULONG_PTR uiparam, FLAGS flags, + ULONG reserved) +{ + TRACE("(0x%08lx 0x%08lx 0x%08x 0x%08x)\n", session, + uiparam, flags, reserved); + + return SUCCESS_SUCCESS; +} + +ULONG WINAPI MAPIReadMail(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_id, + FLAGS flags, ULONG reserved, lpMapiMessage msg) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPIResolveName(LHANDLE session, ULONG_PTR uiparam, LPSTR name, + FLAGS flags, ULONG reserved, lpMapiRecipDesc *recip) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPISaveMail(LHANDLE session, ULONG_PTR uiparam, lpMapiMessage msg, + FLAGS flags, ULONG reserved, LPSTR msg_id) +{ + FIXME("(stub)"); + return MAPI_E_NOT_SUPPORTED; +} diff --git a/dlls/winemapi/sendmail.c b/dlls/winemapi/sendmail.c new file mode 100644 index 0000000..3acc2fc --- /dev/null +++ b/dlls/winemapi/sendmail.c @@ -0,0 +1,71 @@ +/* + * MAPISendMail implementation + * + * Copyright 2005 Hans Leidekker + * Copyright 2009 Owen Rudge for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" +#include "wine/port.h" + +#include <stdio.h> +#include <stdarg.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "winerror.h" +#include "mapi.h" +#include "winreg.h" +#include "shellapi.h" +#include "shlwapi.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(winemapi); + +/************************************************************************** + * MAPISendMail + * + * Send a mail. + * + * PARAMS + * session [I] Handle to a MAPI session. + * uiparam [I] Parent window handle. + * message [I] Pointer to a MAPIMessage structure. + * flags [I] Flags. + * reserved [I] Reserved, pass 0. + * + * RETURNS + * Success: SUCCESS_SUCCESS + * Failure: MAPI_E_FAILURE + * + */ +ULONG WINAPI MAPISendMail(LHANDLE session, ULONG_PTR uiparam, + lpMapiMessage message, FLAGS flags, ULONG reserved) +{ + FIXME("(0x%08x 0x%08lx %p 0x%08x 0x%08x): stub\n", session, uiparam, + message, flags, reserved); + + return MAPI_E_NOT_SUPPORTED; +} + +ULONG WINAPI MAPISendDocuments(ULONG_PTR uiparam, LPSTR delim, LPSTR paths, + LPSTR filenames, ULONG reserved) +{ + return MAPI_E_NOT_SUPPORTED; +} diff --git a/dlls/winemapi/winemapi.spec b/dlls/winemapi/winemapi.spec index 7091f72..83de280 100644 --- a/dlls/winemapi/winemapi.spec +++ b/dlls/winemapi/winemapi.spec @@ -1,11 +1,11 @@ -@ stub MAPIAddress -@ stub MAPIDeleteMail -@ stub MAPIDetails -@ stub MAPIFindNext -@ stub MAPILogon -@ stub MAPILogoff -@ stub MAPIReadMail -@ stub MAPIResolveName -@ stub MAPISaveMail -@ stub MAPISendDocuments -@ stub MAPISendMail +@ stdcall MAPIAddress(ptr ptr str long str long ptr long long ptr ptr) +@ stdcall MAPIDeleteMail(ptr ptr str long long) +@ stdcall MAPIDetails(ptr ptr ptr long long) +@ stdcall MAPIFindNext(ptr ptr str str long long ptr) +@ stdcall MAPILogon(ptr str str long long ptr) +@ stdcall MAPILogoff(ptr ptr long long) +@ stdcall MAPIReadMail(ptr ptr str long long ptr) +@ stdcall MAPIResolveName(ptr ptr str long long ptr) +@ stdcall MAPISaveMail(ptr ptr ptr long long str) +@ stdcall MAPISendDocuments(ptr str str str long) +@ stdcall MAPISendMail(ptr ptr ptr long long)