Module: wine Branch: master Commit: 3f92c5b73494729193ce677668b09b9b5650a61b URL: http://source.winehq.org/git/wine.git/?a=commit;h=3f92c5b73494729193ce677668...
Author: Huw Davies huw@codeweavers.com Date: Tue Feb 12 14:11:34 2008 +0000
inetcomm: Implement IMimeBody_GetProp for the primary context type.
---
dlls/inetcomm/mimeole.c | 15 +++++++++++++-- dlls/inetcomm/tests/mimeole.c | 11 +++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/inetcomm/mimeole.c b/dlls/inetcomm/mimeole.c index cf0e85b..6f24f69 100644 --- a/dlls/inetcomm/mimeole.c +++ b/dlls/inetcomm/mimeole.c @@ -627,8 +627,19 @@ static HRESULT WINAPI MimeBody_GetProp( DWORD dwFlags, LPPROPVARIANT pValue) { - FIXME("stub\n"); - return E_NOTIMPL; + MimeBody *This = impl_from_IMimeBody(iface); + TRACE("(%p)->(%s, %d, %p)\n", This, pszName, dwFlags, pValue); + + if(!strcasecmp(pszName, "att:pri-content-type")) + { + PropVariantClear(pValue); + pValue->vt = VT_LPSTR; + pValue->u.pszVal = strdupA(This->content_pri_type); + return S_OK; + } + + FIXME("stub!\n"); + return E_FAIL; }
static HRESULT WINAPI MimeBody_SetProp( diff --git a/dlls/inetcomm/tests/mimeole.c b/dlls/inetcomm/tests/mimeole.c index f5f8a90..d268e9d 100644 --- a/dlls/inetcomm/tests/mimeole.c +++ b/dlls/inetcomm/tests/mimeole.c @@ -19,6 +19,7 @@ */
#define COBJMACROS +#define NONAMELESSUNION
#include "windows.h" #include "ole2.h" @@ -216,6 +217,8 @@ static void test_CreateMessage(void) FINDBODY find_struct; char text[] = "text"; HBODY *body_list; + PROPVARIANT prop; + static char att_pritype[] = "att:pri-content-type";
hr = MimeOleCreateMessage(NULL, &msg); ok(hr == S_OK, "ret %08x\n", hr); @@ -247,6 +250,14 @@ static void test_CreateMessage(void) IMimeBody_Release(body);
hr = IMimeMessage_GetBody(msg, IBL_ROOT, NULL, &hbody); + + PropVariantInit(&prop); + hr = IMimeMessage_GetBodyProp(msg, hbody, att_pritype, 0, &prop); + ok(hr == S_OK, "ret %08x\n", hr); + ok(prop.vt == VT_LPSTR, "vt %08x\n", prop.vt); + ok(!strcasecmp(prop.u.pszVal, "multipart"), "got %s\n", prop.u.pszVal); + PropVariantClear(&prop); + hr = IMimeMessage_GetBody(msg, IBL_FIRST, hbody, &hbody); ok(hr == S_OK, "ret %08x\n", hr); hr = IMimeMessage_BindToObject(msg, hbody, &IID_IMimeBody, (void**)&body);