Sample code for 30+ languages & platforms
Unicode C

Transition from MailMan.FetchMultipleHeaders to MailMan.FetchUidlSet

Provides instructions for replacing deprecated FetchMultipleHeaders 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;
    int numBodyLines;
    HCkEmailBundleW bundleObj;
    BOOL headersOnly;
    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");

    numBodyLines = 5;

    //  ------------------------------------------------------------------------
    //  The FetchMultipleHeaders method is deprecated:

    bundleObj = CkMailManW_FetchMultipleHeaders(mailman,saUidls,numBodyLines);
    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 = TRUE;

    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);

    }