Sample code for 30+ languages & platforms
Unicode C

Transition from MailMan.FetchMultiple to MailMan.FetchUidlSet

Provides instructions for replacing deprecated FetchMultiple method calls with FetchUidlSet.

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailManW mailman;
    HCkStringArrayW saUidls;
    HCkStringTableW stUidls;
    HCkEmailBundleW bundleObj;
    BOOL headersOnly;
    int numBodyLines;
    HCkEmailBundleW bundleOut;

    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 FetchMultiple method is deprecated:

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

    //  ...
    //  ...

    CkEmailBundleW_Dispose(bundleObj);

    //  ------------------------------------------------------------------------
    //  Do the equivalent using FetchUidlSet.
    //  Your application creates a new, empty EmailBundle object which is passed 
    //  in the last argument and filled upon success.

    headersOnly = FALSE;
    //  Irrelevant because we are not downloading headers-only.
    numBodyLines = 0;

    bundleOut = CkEmailBundleW_Create();
    success = CkMailManW_FetchUidlSet(mailman,stUidls,headersOnly,numBodyLines,bundleOut);
    if (success == FALSE) {
        wprintf(L"%s\n",CkMailManW_lastErrorText(mailman));
        CkMailManW_Dispose(mailman);
        CkStringArrayW_Dispose(saUidls);
        CkStringTableW_Dispose(stUidls);
        CkEmailBundleW_Dispose(bundleOut);
        return;
    }



    CkMailManW_Dispose(mailman);
    CkStringArrayW_Dispose(saUidls);
    CkStringTableW_Dispose(stUidls);
    CkEmailBundleW_Dispose(bundleOut);

    }