Huw Davies : inetcomm: Implement IMimeBody_GetProp for the primary context type.

Alexandre Julliard julliard at winehq.org
Wed Feb 13 10:40:07 CST 2008


Module: wine
Branch: master
Commit: 3f92c5b73494729193ce677668b09b9b5650a61b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3f92c5b73494729193ce677668b09b9b5650a61b

Author: Huw Davies <huw at 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);




More information about the wine-cvs mailing list