aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/main.cpp
blob: 1b1a57739b04dfd84b08418ae5affc006b9341c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//
//  main.m
//  tests
//
//  Created by DINH Viêt Hoà on 1/10/13.
//  Copyright (c) 2013 MailCore. All rights reserved.
//

#include <MailCore/MailCore.h>
#include <glib.h>

using namespace mailcore;

class MyCallback : public OperationCallback {
  virtual void operationFinished(Operation * op) {
    fprintf(stderr, "operation finished\n");
    IMAPFetchFoldersOperation * folderOp = (IMAPFetchFoldersOperation *) op;
    fprintf(stderr, "result %s", MCUTF8(folderOp->folders()));
  }
};

int main(int argc, const char * argv[])
{

    GMainLoop * main_loop = g_main_loop_new (NULL, FALSE);

	IMAPAsyncSession * session = new IMAPAsyncSession();
    session->setHostname(MCSTR("imap.gmail.com"));
    session->setPort(993);
    session->setUsername(MCSTR("johndoe@gmail.com"));
    session->setPassword(MCSTR("blah"));
    session->setConnectionType(ConnectionTypeTLS);
    MyCallback * callback = new MyCallback();
    IMAPFetchFoldersOperation * op = session->fetchAllFoldersOperation();
    op->setCallback(callback);
    op->start();
    fprintf(stderr, "started op\n");

    g_main_loop_run(main_loop);

    return 0;
}