emailservices/nmclientapi/src/nmapifolderlisting.cpp
changeset 49 00c7ae862740
parent 48 10eaf342f539
child 76 38bf5461e270
--- a/emailservices/nmclientapi/src/nmapifolderlisting.cpp	Tue Jun 29 17:12:28 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapifolderlisting.cpp	Fri Jul 02 15:55:16 2010 +0300
@@ -28,14 +28,11 @@
 /*!
    Constructor of class. It set start values.
  */
-NmApiFolderListing::NmApiFolderListing(QObject *parent, const quint64 &nmMailboxId) :
+NmApiFolderListing::NmApiFolderListing(QObject *parent, const quint64 &mailboxId) :
     NmApiMessageTask(parent)
 {
     NM_FUNCTION;
-    
-    mFolderListing = new NmApiFolderListingPrivate(this);
-    mFolderListing->mIsRunning = false;
-    mFolderListing->mMailboxId = nmMailboxId;
+    mFolderListing = new NmApiFolderListingPrivate(mailboxId, this);
 }
 
 /*!
@@ -44,10 +41,6 @@
 NmApiFolderListing::~NmApiFolderListing()
 {
     NM_FUNCTION;
-    
-    if (mFolderListing->mIsRunning) {
-        mFolderListing->releaseEngine();
-    }
 }
 
 /*! 
@@ -60,14 +53,7 @@
 bool NmApiFolderListing::getFolders(QList<EmailClientApi::NmApiFolder> &folders)
 {
     NM_FUNCTION;
-    
-    folders.clear();
-    if (!mFolderListing->mIsRunning || mFolderListing->mFolders.isEmpty()) {
-        return false;
-    }
-    folders = mFolderListing->mFolders;
-    mFolderListing->mFolders.clear();
-    return true;
+    return mFolderListing->folders(folders);
 }
 
 /*!
@@ -86,20 +72,7 @@
 bool NmApiFolderListing::start()
 {
     NM_FUNCTION;
-    
-    if (mFolderListing->mIsRunning) {
-        return true;
-    }
-
-    if (!mFolderListing->initializeEngine()) {
-        QMetaObject::invokeMethod(this, "foldersListed", Qt::QueuedConnection, Q_ARG(qint32,
-            (qint32) FolderListingFailed));
-        return false;
-    }
-
-    qint32 folderCount = mFolderListing->grabFolders();
-
-    mFolderListing->mIsRunning = true;
+    qint32 folderCount = mFolderListing->listFolders();
     QMetaObject::invokeMethod(this, "foldersListed", Qt::QueuedConnection,
         Q_ARG(qint32, folderCount));
 
@@ -117,14 +90,7 @@
 {
     NM_FUNCTION;
     
-    if (!mFolderListing->mIsRunning) {
-        return;
-    }
-
-    mFolderListing->mIsRunning = false;
-    mFolderListing->releaseEngine();
-    mFolderListing->mFolders.clear();
-
+    mFolderListing->cancel(); 
     emit canceled();
 }
 
@@ -134,8 +100,7 @@
 bool NmApiFolderListing::isRunning() const
 {
     NM_FUNCTION;
-    
-    return mFolderListing->mIsRunning;
+    return mFolderListing->isRunning();
 }
 
 }