codepretty


MailChecker::MailChecker(PsiCon *psi) 

//: QThread()

{

    d = new MailChecker::Private(this, psi);

    QLibrary lib("mail.dll");

    lib.setAutoUnload(false);

    pMailOpen = (pFuncMailOpen)lib.resolve("mailOpen");

    pMailSearch = (pFuncMailSearch)lib.resolve("mailSearch");

    pMailFetchOverview = (pFuncMailFetchOverview)lib.resolve("mailFetchOverview");

    pMailClose = (pFuncMailClose)lib.resolve("mailClose");

    pMailGetNmsgs = (pFuncMailGetNmsgs)lib.resolve("mailGetNmsgs");

    pMailGetUnreads = (pFuncMailGetUnreads)lib.resolve("mailGetUnreads");

    pMailSync = (pFuncMailSync)lib.resolve("mailSync");

    //

} // MailChecker

MailChecker::~MailChecker()

{

    stop();

    delete d;

}

//============================= OPERATIONS ===================================

void MailChecker::stop(bool bTernimate)

{

    if (d->m_timer)

    {

        d->m_timer->stop();

    }

    if ( bTernimate)

    {

        d->m_mutex.lock();

        d->m_abort = true;

        d->m_condition.wakeOne();

        d->m_mutex.unlock();

        if (wait(3000)) 

        {

            terminate();

            wait();

        }

    }

}