LCOV - code coverage report
Current view: top level - libreoffice/xmlhelp/source/cxxhelp/provider - databases.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 44 0.0 %
Date: 2012-12-27 Functions: 0 30 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef _DATABASES_HXX_
      21             : #define _DATABASES_HXX_
      22             : 
      23             : #include <set>
      24             : #include <vector>
      25             : #ifndef HAVE_CXX0X
      26             : #define BOOST_NO_0X_HDR_TYPEINDEX
      27             : #endif
      28             : #include <boost/unordered_map.hpp>
      29             : #include <boost/unordered_set.hpp>
      30             : #include <osl/mutex.hxx>
      31             : #include <rtl/ustring.hxx>
      32             : #include <rtl/string.hxx>
      33             : #include <com/sun/star/uno/Sequence.hxx>
      34             : #include <com/sun/star/ucb/XContent.hpp>
      35             : #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
      36             : #include <com/sun/star/io/XInputStream.hpp>
      37             : #include <com/sun/star/lang/XMultiComponentFactory.hpp>
      38             : #include <com/sun/star/uno/XComponentContext.hpp>
      39             : #include <com/sun/star/i18n/XCollator.hpp>
      40             : #include <com/sun/star/deployment/XPackage.hpp>
      41             : #include "com/sun/star/ucb/XSimpleFileAccess3.hpp"
      42             : 
      43             : // Forward declaration
      44             : 
      45             : 
      46             : namespace helpdatafileproxy {
      47             : 
      48             :     class Hdf;
      49             : 
      50             : }
      51             : 
      52             : 
      53             : namespace chelp {
      54             : 
      55             : 
      56             :     class Databases;
      57             :     class URLParameter;
      58             : 
      59             :     class StaticModuleInformation
      60             :     {
      61             :     private:
      62             : 
      63             :         rtl::OUString m_aStartId;
      64             :         rtl::OUString m_aProgramSwitch;
      65             :         rtl::OUString m_aTitle;
      66             :         rtl::OUString m_aHeading;
      67             :         rtl::OUString m_aFulltext;
      68             :         int m_nOrder;
      69             : 
      70             : 
      71             :     public:
      72             : 
      73           0 :         StaticModuleInformation( rtl::OUString aTitle,
      74             :                                  rtl::OUString aStartId,
      75             :                                  rtl::OUString aProgramSwitch,
      76             :                                  rtl::OUString aHeading,
      77             :                                  rtl::OUString aFulltext,
      78             :                                  rtl::OUString aOrder )
      79             :             : m_aStartId( aStartId ),
      80             :               m_aProgramSwitch( aProgramSwitch ),
      81             :               m_aTitle( aTitle ),
      82             :               m_aHeading( aHeading ),
      83             :               m_aFulltext( aFulltext ),
      84           0 :               m_nOrder( aOrder.toInt32() )
      85             :         {
      86           0 :         }
      87             : 
      88           0 :         ~StaticModuleInformation() { }
      89             : 
      90           0 :         rtl::OUString get_title() const { return m_aTitle; }
      91           0 :         rtl::OUString get_id() const { return m_aStartId; }
      92           0 :         rtl::OUString get_program() const { return m_aProgramSwitch; }
      93             :         rtl::OUString get_heading() const { return m_aHeading; }
      94             :         rtl::OUString get_fulltext() const { return m_aFulltext; }
      95           0 :         int get_order() const { return m_nOrder; }
      96             :     };  // end class StaticModuleInformation
      97             : 
      98             : 
      99             : 
     100             :     class KeywordInfo
     101             :     {
     102             :     public:
     103             : 
     104           0 :         class KeywordElement
     105             :         {
     106             :             friend struct KeywordElementComparator;
     107             :             friend class KeywordInfo;
     108             : 
     109             :         public:
     110             : 
     111             :             KeywordElement( Databases* pDatabases,
     112             :                             helpdatafileproxy::Hdf* pHdf,
     113             :                             rtl::OUString& key,
     114             :                             rtl::OUString& ids );
     115             : 
     116             :         private:
     117             : 
     118             :             rtl::OUString key;
     119             :             com::sun::star::uno::Sequence< rtl::OUString > listId;
     120             :             com::sun::star::uno::Sequence< rtl::OUString > listAnchor;
     121             :             com::sun::star::uno::Sequence< rtl::OUString > listTitle;
     122             : 
     123             :             void init( Databases *pDatabases,helpdatafileproxy::Hdf* pHdf,const rtl::OUString& ids );
     124             :         };
     125             : 
     126             : 
     127             :         KeywordInfo( const std::vector< KeywordElement >& aVector );
     128             : 
     129           0 :         ~KeywordInfo() { };
     130             : 
     131             :         com::sun::star::uno::Sequence< rtl::OUString >&
     132           0 :         getKeywordList() { return listKey; }
     133             : 
     134             :         com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< rtl::OUString > >&
     135           0 :         getIdList() { return listId; }
     136             : 
     137             :         com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< rtl::OUString > >&
     138           0 :         getAnchorList() { return listAnchor; }
     139             : 
     140             :         com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< rtl::OUString > >&
     141           0 :         getTitleList() { return listTitle; }
     142             : 
     143             :     private:
     144             : 
     145             :         com::sun::star::uno::Sequence< rtl::OUString > listKey;
     146             :         com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< rtl::OUString > > listId,listAnchor,listTitle;
     147             :     };  // end class KeywordInfo
     148             : 
     149             : 
     150             : 
     151             :     class Databases
     152             :     {
     153             :     public:
     154             : 
     155             :         struct eq
     156             :         {
     157           0 :             bool operator()( const rtl::OUString& rKey1, const rtl::OUString& rKey2 ) const
     158             :             {
     159           0 :                 return rKey1.compareTo( rKey2 ) == 0;
     160             :             }
     161             :         };
     162             : 
     163             :         struct ha
     164             :         {
     165           0 :             size_t operator()( const rtl::OUString& rName ) const
     166             :             {
     167           0 :                 return rName.hashCode();
     168             :             }
     169             :         };
     170             : 
     171             : 
     172             :         /**
     173             :          *  Input is the installdirectory in system dependent notation
     174             :          */
     175             : 
     176             :         Databases( sal_Bool showBasic,
     177             :                  const rtl::OUString& instPath,
     178             :                  const com::sun::star::uno::Sequence< rtl::OUString >& imagesZipPaths,
     179             :                  const rtl::OUString& productName,
     180             :                  const rtl::OUString& productVersion,
     181             :                  const rtl::OUString& styleSheet,
     182             :                  com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext );
     183             : 
     184             :         ~Databases();
     185             : 
     186             :         rtl::OString getImagesZipFileURL();
     187             : 
     188             :         rtl::OUString getInstallPathAsURL();
     189             : 
     190             :         const std::vector< rtl::OUString >& getModuleList( const rtl::OUString& Language );
     191             : 
     192             :         StaticModuleInformation* getStaticInformationForModule( const rtl::OUString& Module,
     193             :                                                                 const rtl::OUString& Language );
     194             : 
     195             :         bool checkModuleMatchForExtension( const rtl::OUString& Database, const rtl::OUString& doclist );
     196             :         KeywordInfo* getKeyword( const rtl::OUString& Module,
     197             :                                  const rtl::OUString& Language );
     198             : 
     199             :         helpdatafileproxy::Hdf* getHelpDataFile( const rtl::OUString& Module,
     200             :                          const rtl::OUString& Language, bool helpText = false,
     201             :                          const rtl::OUString* pExtensionPath = NULL );
     202             : 
     203             : 
     204             :         /**
     205             :          *  The following method returns the Collator for the given language-country combination
     206             :          */
     207             : 
     208             :         com::sun::star::uno::Reference< com::sun::star::i18n::XCollator >
     209             :         getCollator( const rtl::OUString& Language,
     210             :                      const rtl::OUString& System );   // System not used by current implementation
     211             :         //                                            // of XCollator
     212             : 
     213             :         /**
     214             :          *  Returns a copy of the popupfile
     215             :          */
     216             : 
     217             :         void popupDocument( URLParameter* urlPar,char **buffer,int *byteCount );
     218             : 
     219             : 
     220             :         /**
     221             :          *  Returns the cascading stlye sheet used to format the HTML-output.
     222             :          *  First try is language directory, second try is main installation directory.
     223             :          */
     224             : 
     225             :         void cascadingStylesheet( const rtl::OUString& Language,
     226             :                                   char** buffer,
     227             :                                   int* byteCount );
     228             : 
     229             : 
     230             :         /**
     231             :          *  Changes the the stylesheet for further reads.
     232             :          */
     233             : 
     234             :         void changeCSS(const rtl::OUString& newStyleSheet);
     235             : 
     236             : 
     237             :         /**
     238             :          *  Returns the active help text for the given module, language and id.
     239             :          */
     240             : 
     241             :         void setActiveText( const rtl::OUString& Module,
     242             :                             const rtl::OUString& Language,
     243             :                             const rtl::OUString& Id,
     244             :                             char** buffer,
     245             :                             int* byteCount );
     246             : 
     247             :         /**
     248             :          *  Has the purpose of forcing the the jarfile to stay open
     249             :          */
     250             : 
     251             :         com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >
     252             :         jarFile( const rtl::OUString& jar,
     253             :                  const rtl::OUString& Language );
     254             : 
     255             :         com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >
     256             :         findJarFileForPath( const rtl::OUString& jar, const rtl::OUString& Language,
     257             :             const rtl::OUString& path, rtl::OUString* o_pExtensionPath = NULL,
     258             :             rtl::OUString* o_pExtensionRegistryPath = NULL );
     259             : 
     260             :         /**
     261             :          *  Maps a given language-locale combination to language.
     262             :          */
     263             : 
     264             :         rtl::OUString processLang( const rtl::OUString& Language );
     265             : 
     266             : 
     267             :         /**
     268             :          *  Maps a given language-locale combination to locale.
     269             :          *  The returned string maybe empty
     270             :          */
     271             : 
     272             :         rtl::OUString country( const rtl::OUString& Language );
     273             : 
     274             : 
     275             :         void replaceName( rtl::OUString& oustring ) const;
     276             : 
     277           0 :         rtl::OUString getProductName() const { return m_vReplacement[0]; }
     278           0 :         rtl::OUString getProductVersion() const { return m_vReplacement[1]; }
     279             : 
     280             :         rtl::OUString expandURL( const rtl::OUString& aURL );
     281             : 
     282             :         static rtl::OUString expandURL( const rtl::OUString& aURL,
     283             :             com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext );
     284             : 
     285             :     private:
     286             : 
     287             :         osl::Mutex                                                                     m_aMutex;
     288             :         com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >       m_xContext;
     289             :         com::sun::star::uno::Reference< com::sun::star::lang::XMultiComponentFactory > m_xSMgr;
     290             :         com::sun::star::uno::Reference< com::sun::star::ucb::XSimpleFileAccess3 >      m_xSFA;
     291             : 
     292             :         bool   m_bShowBasic;
     293             :         char*  m_pErrorDoc;
     294             : 
     295             :         int    m_nCustomCSSDocLength;
     296             :         char*  m_pCustomCSSDoc;
     297             :         rtl::OUString m_aCSS;
     298             : 
     299             :         enum {
     300             :             PRODUCTNAME = 0,
     301             :             PRODUCTVERSION,
     302             :             VENDORNAME,
     303             :             VENDORVERSION,
     304             :             VENDORSHORT,
     305             :             NEWPRODUCTNAME,
     306             :             NEWPRODUCTVERSION
     307             :         };
     308             : 
     309             :         int                    m_vAdd[7];
     310             :         rtl::OUString          m_vReplacement[7];
     311             :         rtl::OUString          newProdName,newProdVersion,
     312             :             prodName,prodVersion,vendName,vendVersion,vendShort;
     313             : 
     314             :         rtl::OUString          m_aInstallDirectory;                // Installation directory
     315             :         com::sun::star::uno::Sequence< rtl::OUString > m_aImagesZipPaths;
     316             :         rtl::OString           m_aImagesZipFileURL;
     317             :         sal_Int16              m_nSymbolsStyle;
     318             : 
     319             :         std::vector< rtl::OUString >    m_avModules;
     320             : 
     321             :         typedef boost::unordered_map< rtl::OUString,helpdatafileproxy::Hdf*,ha,eq >   DatabasesTable;
     322             :         DatabasesTable m_aDatabases;         // Language and module dependent databases
     323             : 
     324             :         typedef  boost::unordered_map< rtl::OUString,rtl::OUString,ha,eq > LangSetTable;
     325             :         LangSetTable m_aLangSet;   // Mapping to of lang-country to lang
     326             : 
     327             :         typedef boost::unordered_map< rtl::OUString,StaticModuleInformation*,ha,eq > ModInfoTable;
     328             :         ModInfoTable m_aModInfo;   // Module information
     329             : 
     330             :         typedef boost::unordered_map< rtl::OUString,KeywordInfo*,ha,eq > KeywordInfoTable;
     331             :         KeywordInfoTable m_aKeywordInfo;   // Module information
     332             : 
     333             :         typedef
     334             :         boost::unordered_map<
     335             :         rtl::OUString,
     336             :              ::com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >,
     337             :             ha,
     338             :             eq >         ZipFileTable;
     339             :         ZipFileTable m_aZipFileTable;   // No closing of an once opened jarfile
     340             : 
     341             :         typedef
     342             :         boost::unordered_map<
     343             :         rtl::OUString,
     344             :              ::com::sun::star::uno::Reference< com::sun::star::i18n::XCollator >,
     345             :             ha,
     346             :             eq >      CollatorTable;
     347             :         CollatorTable    m_aCollatorTable;
     348             : 
     349             : 
     350             :         struct ostring_eq
     351             :         {
     352           0 :             bool operator()( const rtl::OString& rKey1, const rtl::OString& rKey2 ) const
     353             :             {
     354           0 :                 return rKey1.compareTo( rKey2 ) == 0;
     355             :             }
     356             :         };
     357             : 
     358             :         struct ostring_ha
     359             :         {
     360           0 :             size_t operator()( const rtl::OString& rName ) const
     361             :             {
     362           0 :                 return rName.hashCode();
     363             :             }
     364             :         };
     365             : 
     366             :         typedef
     367             :         boost::unordered_set<
     368             :             rtl::OString,
     369             :             ostring_ha,
     370             :             ostring_eq >      EmptyActiveTextSet;
     371             :         EmptyActiveTextSet  m_aEmptyActiveTextSet;
     372             : 
     373             : 
     374             :         // methods
     375             : 
     376             :         void setInstallPath( const rtl::OUString& aInstallDirectory );
     377             : 
     378             :     }; // end class Databases
     379             : 
     380             : 
     381             :     //===================================================================
     382             :     enum IteratorState
     383             :     {
     384             :         INITIAL_MODULE,
     385             :         //SHARED_MODULE,        // Later, avoids redundancies in help compiling
     386             :         USER_EXTENSIONS,
     387             :         SHARED_EXTENSIONS,
     388             :         BUNDLED_EXTENSIONS,
     389             :         END_REACHED
     390             :     };
     391             : 
     392             :     // Hashtable to cache extension help status
     393             :     typedef boost::unordered_map
     394             :     <
     395             :         ::rtl::OUString,
     396             :         bool,
     397             :         Databases::ha,
     398             :         Databases::eq
     399             :     >
     400             :     ExtensionHelpExistanceMap;
     401             : 
     402             : 
     403           0 :     class ExtensionIteratorBase
     404             :     {
     405             :         static ExtensionHelpExistanceMap    aHelpExistanceMap;
     406             : 
     407             :     public:
     408             :         ExtensionIteratorBase( com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext,
     409             :             Databases& rDatabases, const rtl::OUString& aInitialModule, const rtl::OUString& aLanguage );
     410             :         ExtensionIteratorBase( Databases& rDatabases, const rtl::OUString& aInitialModule,
     411             :             const rtl::OUString& aLanguage );
     412             :         void init( void );
     413             : 
     414             :     private:
     415             :         com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetHelpPackageFromPackage
     416             :             ( const com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage,
     417             :               com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle );
     418             : 
     419             :     protected:
     420             :         com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextUserHelpPackage
     421             :             ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle );
     422             :         com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextSharedHelpPackage
     423             :             ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle );
     424             :         com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > implGetNextBundledHelpPackage
     425             :         ( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle );
     426             :         rtl::OUString implGetFileFromPackage( const rtl::OUString& rFileExtension,
     427             :             com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage );
     428             :         void implGetLanguageVectorFromPackage( ::std::vector< ::rtl::OUString > &rv,
     429             :             com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage );
     430             : 
     431             :         com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >    m_xContext;
     432             :         com::sun::star::uno::Reference< com::sun::star::ucb::XSimpleFileAccess3 >   m_xSFA;
     433             :         Databases&                                                                  m_rDatabases;
     434             : 
     435             :         IteratorState                                                               m_eState;
     436             :         rtl::OUString                                                               m_aExtensionPath;
     437             : 
     438             :         rtl::OUString                                                               m_aInitialModule;
     439             :         rtl::OUString                                                               m_aLanguage;
     440             : 
     441             :         com::sun::star::uno::Sequence< com::sun::star::uno::Reference
     442             :             < com::sun::star::deployment::XPackage > >                              m_aUserPackagesSeq;
     443             :         bool                                                                        m_bUserPackagesLoaded;
     444             : 
     445             :         com::sun::star::uno::Sequence< com::sun::star::uno::Reference
     446             :             < com::sun::star::deployment::XPackage > >                              m_aSharedPackagesSeq;
     447             :         bool                                                                        m_bSharedPackagesLoaded;
     448             : 
     449             :         com::sun::star::uno::Sequence< com::sun::star::uno::Reference
     450             :             < com::sun::star::deployment::XPackage > >                              m_aBundledPackagesSeq;
     451             :         bool                                                                        m_bBundledPackagesLoaded;
     452             : 
     453             :         int                                                                         m_iUserPackage;
     454             :         int                                                                         m_iSharedPackage;
     455             :         int                                                                         m_iBundledPackage;
     456             : 
     457             :     }; // end class ExtensionIteratorBase
     458             : 
     459             : 
     460             :     //===================================================================
     461           0 :     class DataBaseIterator : public ExtensionIteratorBase
     462             :     {
     463             :     public:
     464           0 :         DataBaseIterator( com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext,
     465             :             Databases& rDatabases, const rtl::OUString& aInitialModule, const rtl::OUString& aLanguage, bool bHelpText )
     466             :                 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
     467           0 :                 , m_bHelpText( bHelpText )
     468           0 :         {}
     469           0 :         DataBaseIterator( Databases& rDatabases, const rtl::OUString& aInitialModule,
     470             :             const rtl::OUString& aLanguage, bool bHelpText )
     471             :                 : ExtensionIteratorBase( rDatabases, aInitialModule, aLanguage )
     472           0 :                 , m_bHelpText( bHelpText )
     473           0 :         {}
     474             : 
     475             :         helpdatafileproxy::Hdf* nextHdf( rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL );
     476             : 
     477             : 
     478             :     private:
     479             :         helpdatafileproxy::Hdf* implGetHdfFromPackage(
     480             :             com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage,
     481             :             rtl::OUString* o_pExtensionPath, rtl::OUString* o_pExtensionRegistryPath );
     482             : 
     483             :         bool                                                                        m_bHelpText;
     484             : 
     485             :     }; // end class DataBaseIterator
     486             : 
     487             :     //===================================================================
     488           0 :     class KeyDataBaseFileIterator : public ExtensionIteratorBase
     489             :     {
     490             :     public:
     491           0 :         KeyDataBaseFileIterator( com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext,
     492             :             Databases& rDatabases, const rtl::OUString& aInitialModule, const rtl::OUString& aLanguage )
     493           0 :                 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
     494           0 :         {}
     495             :         //Returns a file URL
     496             :         rtl::OUString nextDbFile( bool& o_rbExtension );
     497             : 
     498             :     private:
     499             :         rtl::OUString implGetDbFileFromPackage(
     500             :             com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage );
     501             : 
     502             :     }; // end class KeyDataBaseFileIterator
     503             : 
     504             :     //===================================================================
     505           0 :     class JarFileIterator : public ExtensionIteratorBase
     506             :     {
     507             :     public:
     508           0 :         JarFileIterator( com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xContext,
     509             :             Databases& rDatabases, const rtl::OUString& aInitialModule, const rtl::OUString& aLanguage )
     510           0 :                 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
     511           0 :         {}
     512             : 
     513             :         com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >
     514             :             nextJarFile( com::sun::star::uno::Reference< com::sun::star::deployment::XPackage >& o_xParentPackageBundle,
     515             :                             rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL );
     516             : 
     517             :     private:
     518             :         com::sun::star::uno::Reference< com::sun::star::container::XHierarchicalNameAccess >
     519             :             implGetJarFromPackage(com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage,
     520             :                 rtl::OUString* o_pExtensionPath = NULL, rtl::OUString* o_pExtensionRegistryPath = NULL );
     521             : 
     522             :     }; // end class JarFileIterator
     523             : 
     524             :     //===================================================================
     525           0 :     class IndexFolderIterator : public ExtensionIteratorBase
     526             :     {
     527             :     public:
     528           0 :         IndexFolderIterator( Databases& rDatabases, const rtl::OUString& aInitialModule, const rtl::OUString& aLanguage )
     529           0 :             : ExtensionIteratorBase( rDatabases, aInitialModule, aLanguage )
     530           0 :         {}
     531             : 
     532             :         rtl::OUString nextIndexFolder( bool& o_rbExtension, bool& o_rbTemporary );
     533             :         void deleteTempIndexFolder( const rtl::OUString& aIndexFolder );
     534             : 
     535             :     private:
     536             :         rtl::OUString implGetIndexFolderFromPackage( bool& o_rbTemporary,
     537             :             com::sun::star::uno::Reference< com::sun::star::deployment::XPackage > xPackage );
     538             : 
     539             :     }; // end class KeyDataBaseFileIterator
     540             : 
     541             :     //===================================================================
     542             : 
     543             : }      // end namespace chelp
     544             : 
     545             : 
     546             : #endif
     547             : 
     548             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10