Sample code for 30+ languages & platforms
Unicode C

Transition from Imap.Sort to Imap.QueryMbx

Provides instructions for replacing deprecated Sort method calls with QueryMbx.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkImapW.h>
#include <C_CkMessageSetW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkImapW imap;
    const wchar_t *searchCriteria;
    BOOL bUid;
    const wchar_t *sortCriteria;
    HCkMessageSetW msgSetObj;
    HCkMessageSetW mset;

    success = FALSE;

    imap = CkImapW_Create();

    // ...
    // ...

    searchCriteria = L"FROM bob@example.com";
    bUid = TRUE;
    sortCriteria = L"DATE SUBJECT";

    // ------------------------------------------------------------------------
    // The Sort method is deprecated:

    msgSetObj = CkImapW_Sort(imap,sortCriteria,L"UTF-8",searchCriteria,bUid);
    if (CkImapW_getLastMethodSuccess(imap) == FALSE) {
        wprintf(L"%s\n",CkImapW_lastErrorText(imap));
        CkImapW_Dispose(imap);
        return;
    }

    // ...
    // ...

    CkMessageSetW_Dispose(msgSetObj);

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

    // The following properties are used instead of function arguments.
    CkImapW_putSortCriteria(imap,L"DATE SUBJECT");
    CkImapW_putSearchCharset(imap,L"UTF-8");

    mset = CkMessageSetW_Create();
    success = CkImapW_QueryMbx(imap,searchCriteria,bUid,mset);
    if (success == FALSE) {
        wprintf(L"%s\n",CkImapW_lastErrorText(imap));
        CkImapW_Dispose(imap);
        CkMessageSetW_Dispose(mset);
        return;
    }



    CkImapW_Dispose(imap);
    CkMessageSetW_Dispose(mset);

    }