Sample code for 30+ languages & platforms
C

Transition from Imap.ThreadCmd to Imap.QueryThread

Provides instructions for replacing deprecated ThreadCmd method calls with QueryThread.

Chilkat C Downloads

C
#include <C_CkImap.h>
#include <C_CkJsonObject.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkImap imap;
    const char *threadAlg;
    const char *charset;
    const char *searchCriteria;
    BOOL bUid;
    HCkJsonObject jsonObj;
    HCkJsonObject json;

    success = FALSE;

    imap = CkImap_Create();

    //  ...
    //  ...

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

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

    jsonObj = CkImap_ThreadCmd(imap,threadAlg,charset,searchCriteria,bUid);
    if (CkImap_getLastMethodSuccess(imap) == FALSE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        CkImap_Dispose(imap);
        return;
    }

    //  ...
    //  ...

    CkJsonObject_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.

    CkImap_putSearchCharset(imap,"UTF-8");

    json = CkJsonObject_Create();
    success = CkImap_QueryThread(imap,threadAlg,searchCriteria,bUid,json);
    if (success == FALSE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        CkImap_Dispose(imap);
        CkJsonObject_Dispose(json);
        return;
    }



    CkImap_Dispose(imap);
    CkJsonObject_Dispose(json);

    }