--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/nmclientapi/src/nmapifolderlisting_p.cpp Fri Apr 16 14:51:52 2010 +0300
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+#include "nmapiengine.h"
+#include "nmapifolderlisting_p.h"
+
+namespace EmailClientApi
+{
+NmFolderListingPrivate::NmFolderListingPrivate(QObject* parent) :
+ QObject(parent), mEngine(NULL)
+{
+
+}
+
+NmFolderListingPrivate::~NmFolderListingPrivate()
+{
+ releaseEngine();
+}
+
+/*!
+ * \brief It initialize engine for email operations.
+ *
+ * When use initializeEngine need to remember release it.
+ * It return value if initialization go good.
+ * \sa releaseEngine
+ */
+bool NmFolderListingPrivate::initializeEngine()
+{
+ if (!mEngine) {
+ mEngine = NmEngine::instance();
+ }
+
+ return mEngine ? true : false;
+}
+
+/*!
+ * \brief It release engine for email operations.
+ *
+ * It release Engine and return value if release go good.
+ *
+ * \arg engine Is used to get info if engine was released, if yes, then argument have value 0.
+ *
+ * \sa initializeEngine
+ */
+void NmFolderListingPrivate::releaseEngine()
+{
+ NmEngine::releaseInstance(mEngine);
+}
+
+/*!
+ * \brief It grab folders from engine.
+ *
+ * When it start grabing, it release all old.
+ * Because it uses NmFolder with sharedData we don't need care about release memory.
+ *
+ * \return Count of folders
+ */
+qint32 NmFolderListingPrivate::grabFolders()
+{
+ mFolders.clear();
+ mEngine->listFolders(mMailboxId, mFolders);
+ return mFolders.count();
+}
+
+}
+