userguide/inc/HelpDataProvider.h
branchRCL_3
changeset 44 12f60d9a73b3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/userguide/inc/HelpDataProvider.h	Tue Aug 31 15:06:12 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* 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: 
+*
+*/
+
+#ifndef HELPDATAPROVIDER_H
+#define HELPDATAPROVIDER_H
+
+class HelpModel;
+class HelpItems;
+class HelpProxyModel;
+class QStandardItemModel;
+class HelpStandardItem;
+
+class HelpDataProvider
+{	
+private:
+    HelpDataProvider();
+    ~HelpDataProvider();
+    
+public:
+    static HelpDataProvider* instance();
+    static void destroyInstance();
+
+public:
+	void createHelpCategory();
+	QAbstractItemModel* getCategoryData();
+	QAbstractItemModel* getSearchData(const QString& key=QString());
+	void setHelpContentUrl(const QString& uid, const QString& href);
+	void getHelpContentData(QString& content, QString& url);
+
+private:
+	//construct 1st category
+	void constructCategory();
+	//construct help category in rom
+	void constructBuiltInCategory(const QString& path, const QStringList& uidList, const QStringList& titleList);
+	//construct help category for 3rd party application
+	void constructAppCategory(const QString& path, QStringList& uidList);
+	void constructBuiltInCategoryItem(const QString& uid, const QString& title);
+
+	//construct 2nd category
+	void constructCategory2(HelpStandardItem* itemParent);
+	void constructCategory2Item(HelpStandardItem* itemParent);
+
+	//construct keyword list
+	void constructKeywordModel(const QString& title, const QString& uid, const QString& href);
+
+	//parse xml
+	void parseCategoryIndexXml(const QString& path, QStringList& uidList, QStringList& titleList);
+	void parseCategory2IndexXml(const QString& path, QStringList& hrefList, QStringList& titleList);
+	void parseBuiltInMetaxml(const QString& path, int& priority);
+	void parseAppMetaxml(const QString& path, QString& title);	
+
+private:
+	QStandardItemModel*		mHelpModel;         //category tree model
+	QStandardItemModel*		mKeywordModel;      //keyword list model
+	HelpProxyModel*			mSearhResultModel;  //search result proxy model of keyword model	
+	HelpStandardItem*		mAppItem;
+	QString					mHelpContentRoot;
+	QString					mLastSrhKey;
+	QStringList				mUpdateUidList;
+
+};
+
+#endif //HELPDATAPROVIDER_H