Sample code for 30+ languages & platforms
Unicode C

Transition from MailMan.FetchMultipleMime to MailMan.FetchMimeBd

Provides instructions for replacing deprecated FetchMultipleMime method calls with FetchMimeBd.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkMailManW.h>
#include <C_CkStringArrayW.h>
#include <C_CkStringTableW.h>
#include <C_CkBinDataW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailManW mailman;
    HCkStringArrayW saUidls;
    HCkStringTableW stUidls;
    HCkStringArrayW saMime;
    HCkBinDataW bdMime;
    int numUidls;
    int i;

    success = FALSE;

    mailman = CkMailManW_Create();

    //  ...
    //  ...

    saUidls = CkStringArrayW_Create();
    CkStringArrayW_Append(saUidls,L"aaa");
    CkStringArrayW_Append(saUidls,L"bbb");
    CkStringArrayW_Append(saUidls,L"ccc");

    stUidls = CkStringTableW_Create();
    CkStringTableW_Append(stUidls,L"aaa");
    CkStringTableW_Append(stUidls,L"bbb");
    CkStringTableW_Append(stUidls,L"ccc");

    //  ------------------------------------------------------------------------
    //  The FetchMultipleMime method is deprecated:

    saMime = CkMailManW_FetchMultipleMime(mailman,saUidls);
    if (CkMailManW_getLastMethodSuccess(mailman) == FALSE) {
        wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
        CkMailManW_Dispose(mailman);
        CkStringArrayW_Dispose(saUidls);
        CkStringTableW_Dispose(stUidls);
        return;
    }

    //  ...
    //  ...

    CkStringArrayW_Dispose(saMime);

    //  ------------------------------------------------------------------------
    //  Do the equivalent using FetchMimeBd.

    success = FALSE;
    bdMime = CkBinDataW_Create();
    numUidls = CkStringTableW_getCount(stUidls);
    i = 0;
    while (i < numUidls) {
        success = CkMailManW_FetchMimeBd(mailman,CkStringTableW_stringAt(stUidls,i),bdMime);
        //  ...
        //  ...

        i = i + 1;
    }



    CkMailManW_Dispose(mailman);
    CkStringArrayW_Dispose(saUidls);
    CkStringTableW_Dispose(stUidls);
    CkBinDataW_Dispose(bdMime);

    }