Sample code for 30+ languages & platforms
Unicode C

Transition from Imap.ThreadCmd to Imap.QueryThread

Provides instructions for replacing deprecated ThreadCmd method calls with QueryThread.

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    HCkImapW imap;
    const wchar_t *threadAlg;
    const wchar_t *charset;
    const wchar_t *searchCriteria;
    BOOL bUid;
    HCkJsonObjectW jsonObj;
    HCkJsonObjectW json;

    success = FALSE;

    imap = CkImapW_Create();

    // ...
    // ...

    threadAlg = L"REFERENCES";
    charset = L"UTF-8";
    searchCriteria = L"SUBJECT a";
    bUid = TRUE;

    // ------------------------------------------------------------------------
    // The ThreadCmd method is deprecated:

    jsonObj = CkImapW_ThreadCmd(imap,threadAlg,charset,searchCriteria,bUid);
    if (CkImapW_getLastMethodSuccess(imap) == FALSE) {
        wprintf(L"%s\n",CkImapW_lastErrorText(imap));
        CkImapW_Dispose(imap);
        return;
    }

    // ...
    // ...

    CkJsonObjectW_Dispose(jsonObj);

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

    CkImapW_putSearchCharset(imap,L"UTF-8");

    json = CkJsonObjectW_Create();
    success = CkImapW_QueryThread(imap,threadAlg,searchCriteria,bUid,json);
    if (success == FALSE) {
        wprintf(L"%s\n",CkImapW_lastErrorText(imap));
        CkImapW_Dispose(imap);
        CkJsonObjectW_Dispose(json);
        return;
    }



    CkImapW_Dispose(imap);
    CkJsonObjectW_Dispose(json);

    }