diff -r 000000000000 -r 1f04cf54edd8 symhelp/helpmodel/inc/HLPDB.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symhelp/helpmodel/inc/HLPDB.H Tue Jan 26 15:15:23 2010 +0200 @@ -0,0 +1,133 @@ +// Copyright (c) 1999-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 __HLPDB_H__ +#define __HLPDB_H__ + +// System includes +#include +#include +#include +#include + +// User includes +#include "hlpconstants.h" +#include "HLPMODEL.H" + +// Classes referenced +class CFbsBitmap; + + +// +// ----> CHlpDatabase (container class for the help database) +// +class CHlpDatabase : public CBase + { +public: + static CHlpDatabase* NewLC(RFs& aFs); + static CHlpDatabase* NewLC(RFs& aFs, const TDesC& aFileName); + ~CHlpDatabase(); + +public: + void OpenL(const TDesC& aFileName); + void Close(); + +public: // new + void AppendCategoryListL(CDesCArray& aList); + TInt TopicIdSearchL(const TUid aCategoryUid, const TUint aTopicId); + TInt ContextSearchL(const TDesC& aContext); + CFbsBitmap* ImageForIdLC(TInt aImageId, THlpZoomState aZoomState); + TInt ImageCountForIdL(TInt iImageId); + +private: + inline void CloseView(); + +public: + TBool MatchUidL(TUid aUid); + inline TInt ViewHasRecordsL() const; + inline RDbStoreDatabase& Database() const; + inline RDbView& View() const; + inline CStreamStore& StreamStore() const; + inline const TDesC& FileName() const; + inline void SetViewReady(TBool aReady); + inline TBool ViewReady() const; + inline TUid HelpFileUid() const; + +private: + CHlpDatabase(RFs& aFs); + void ConstructL(); + +private: + TUid iHelpFileUid; + TFileName iFileName; + TBool iViewReady; + + /** + * Identifies whether the help file being accessed + * is of the old format or not. + */ + TBool iOldHelpFileFormat; + + RFs& iFs; + RDbView* iView; + RDbStoreDatabase* iDatabase; + CArrayFixFlat* iUids; + RDbTable iImageTable; + + CPermanentFileStore* iStore; + }; + + +// +// ----> CHlpDatabase (inlines) +// +inline TInt CHlpDatabase::ViewHasRecordsL() const + { + return iView->CountL(); + } +inline RDbStoreDatabase& CHlpDatabase::Database() const + { + return *iDatabase; + } +inline RDbView& CHlpDatabase::View() const + { + return *iView; + } +inline CStreamStore& CHlpDatabase::StreamStore() const + { + return *iStore; + } +inline const TDesC& CHlpDatabase::FileName() const + { + return iFileName; + } +inline void CHlpDatabase::SetViewReady(TBool aReady) + { + iViewReady = aReady; + } +inline TBool CHlpDatabase::ViewReady() const + { + return iViewReady; + } +inline void CHlpDatabase::CloseView() + { + View().Close(); + } +inline TUid CHlpDatabase::HelpFileUid() const + { + return iHelpFileUid; + } + +#endif