Sample code for 30+ languages & platforms
C

Transition from Imap.FetchBundleAsMime to Imap.FetchSingleBd

Provides instructions for replacing deprecated FetchBundleAsMime method calls with FetchSingleBd.

Chilkat C Downloads

C
#include <C_CkImap.h>
#include <C_CkMessageSet.h>
#include <C_CkStringArray.h>
#include <C_CkBinData.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkImap imap;
    HCkMessageSet mset;
    HCkStringArray saObj;
    HCkBinData bdMime;
    BOOL bUid;
    int numEmails;
    int i;

    success = FALSE;

    imap = CkImap_Create();

    //  ...
    //  ...

    mset = CkMessageSet_Create();
    success = CkImap_QueryMbx(imap,"FROM joe@example.com",TRUE,mset);
    //  ...
    //  ...

    //  ------------------------------------------------------------------------
    //  The FetchBundleAsMime method is deprecated:

    saObj = CkImap_FetchBundleAsMime(imap,mset);
    if (CkImap_getLastMethodSuccess(imap) == FALSE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        CkImap_Dispose(imap);
        CkMessageSet_Dispose(mset);
        return;
    }

    //  ...
    //  ...

    CkStringArray_Dispose(saObj);

    //  ------------------------------------------------------------------------
    //  Do the equivalent using FetchSingleBd.

    CkImap_putAutoDownloadAttachments(imap,TRUE);

    bdMime = CkBinData_Create();
    bUid = CkMessageSet_getHasUids(mset);
    numEmails = CkMessageSet_getCount(mset);
    i = 0;
    while (i < numEmails) {
        success = CkImap_FetchSingleBd(imap,CkMessageSet_GetId(mset,i),bUid,bdMime);
        //  ...
        //  ...

        i = i + 1;
    }



    CkImap_Dispose(imap);
    CkMessageSet_Dispose(mset);
    CkBinData_Dispose(bdMime);

    }