LibreOffice Module xmlhelp (master) 1
databases.hxx
Go to the documentation of this file.
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#pragma once
21
22#include <sal/config.h>
23
24#include <memory>
25#include <mutex>
26#include <string_view>
27#include <unordered_map>
28#include <unordered_set>
29#include <utility>
30#include <vector>
31#include <rtl/ustring.hxx>
32#include <rtl/strbuf.hxx>
33#include <o3tl/string_view.hxx>
34#include <com/sun/star/uno/Sequence.hxx>
35#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
36#include <com/sun/star/lang/XMultiComponentFactory.hpp>
37#include <com/sun/star/uno/XComponentContext.hpp>
38#include <com/sun/star/i18n/XCollator.hpp>
39#include <com/sun/star/deployment/XPackage.hpp>
40#include <com/sun/star/ucb/XSimpleFileAccess3.hpp>
41
42// Forward declaration
43
45
46 class Hdf;
47
48}
49
50namespace chelp {
51
52 class Databases;
53 class URLParameter;
54
56 {
57 private:
58
59 OUString m_aStartId;
61 OUString m_aTitle;
63
64 public:
65
66 StaticModuleInformation( OUString aTitle,
67 OUString aStartId,
68 OUString aProgramSwitch,
69 std::u16string_view aOrder )
70 : m_aStartId(std::move( aStartId )),
71 m_aProgramSwitch(std::move( aProgramSwitch )),
72 m_aTitle(std::move( aTitle )),
73 m_nOrder( o3tl::toInt32(aOrder) )
74 {
75 }
76
77 const OUString& get_title() const { return m_aTitle; }
78 const OUString& get_id() const { return m_aStartId; }
79 const OUString& get_program() const { return m_aProgramSwitch; }
80 int get_order() const { return m_nOrder; }
81 }; // end class StaticModuleInformation
82
84 {
85 public:
86
88 {
90 friend class KeywordInfo;
91
92 public:
93
94 KeywordElement( Databases const * pDatabases,
96 OUString key,
97 std::u16string_view ids );
98
99 private:
100
101 OUString key;
102 css::uno::Sequence< OUString > listId;
103 css::uno::Sequence< OUString > listAnchor;
104 css::uno::Sequence< OUString > listTitle;
105
106 void init( Databases const *pDatabases,helpdatafileproxy::Hdf* pHdf, std::u16string_view ids );
107 };
108
109 explicit KeywordInfo( const std::vector< KeywordElement >& aVector );
110
111 css::uno::Sequence< OUString >&
113
114 css::uno::Sequence< css::uno::Sequence< OUString > >&
115 getIdList() { return listId; }
116
117 css::uno::Sequence< css::uno::Sequence< OUString > >&
119
120 css::uno::Sequence< css::uno::Sequence< OUString > >&
122
123 private:
124
125 css::uno::Sequence< OUString > listKey;
126 css::uno::Sequence< css::uno::Sequence< OUString > > listId,listAnchor,listTitle;
127 }; // end class KeywordInfo
128
130 {
131 public:
132
137 Databases( bool showBasic,
138 const OUString& instPath,
139 const OUString& productName,
140 const OUString& productVersion,
141 const OUString& styleSheet,
142 css::uno::Reference< css::uno::XComponentContext > const & xContext );
143
144 ~Databases();
145
146 OString getImageTheme() const;
147
148 OUString getInstallPathAsURL();
149 OUString getInstallPathAsURL(std::unique_lock<std::mutex>& rGuard);
150
151 const std::vector< OUString >& getModuleList( const OUString& Language );
152
154 const OUString& Language );
155
156 bool checkModuleMatchForExtension( std::u16string_view Database, const OUString& doclist );
157 KeywordInfo* getKeyword( const OUString& Module,
158 const OUString& Language );
159
160 helpdatafileproxy::Hdf* getHelpDataFile( std::u16string_view Module,
161 const OUString& Language, bool helpText = false,
162 const OUString* pExtensionPath = nullptr );
163 helpdatafileproxy::Hdf* getHelpDataFile(std::unique_lock<std::mutex>& rGuard,
164 std::u16string_view Module,
165 const OUString& Language, bool helpText = false,
166 const OUString* pExtensionPath = nullptr );
167
168
172 css::uno::Reference< css::i18n::XCollator >
173 getCollator(std::unique_lock<std::mutex>& rGuard, const OUString& Language);
174
180 void cascadingStylesheet( const OUString& Language,
181 OStringBuffer& buffer );
182
187 void changeCSS(const OUString& newStyleSheet);
188
193 void setActiveText( const OUString& Module,
194 const OUString& Language,
195 std::u16string_view Id,
196 OStringBuffer& buffer );
197
202 css::uno::Reference< css::container::XHierarchicalNameAccess >
203 jarFile(std::unique_lock<std::mutex>& rGuard, std::u16string_view jar,
204 const OUString& Language );
205
206 css::uno::Reference< css::container::XHierarchicalNameAccess >
207 findJarFileForPath( const OUString& jar, const OUString& Language,
208 const OUString& path, OUString* o_pExtensionPath = nullptr,
209 OUString* o_pExtensionRegistryPath = nullptr );
210
214 OUString processLang( const OUString& Language );
215 OUString processLang( std::unique_lock<std::mutex>& rGuard, const OUString& Language );
216
217 void replaceName( OUString& oustring ) const;
218
219 const OUString& getProductName() const { return m_vReplacement[0]; }
220 const OUString& getProductVersion() const { return m_vReplacement[1]; }
221
222 OUString expandURL( const OUString& aURL );
223 OUString expandURL( std::unique_lock<std::mutex>& rGuard, const OUString& aURL );
224
225 static OUString expandURL( const OUString& aURL,
226 const css::uno::Reference< css::uno::XComponentContext >& xContext );
227
228 private:
229
230 std::mutex m_aMutex;
231 css::uno::Reference< css::uno::XComponentContext > m_xContext;
232 css::uno::Reference< css::lang::XMultiComponentFactory > m_xSMgr;
233 css::uno::Reference< css::ucb::XSimpleFileAccess3 > m_xSFA;
234
236
237 std::vector<char> m_vCustomCSSDoc;
238 OUString m_aCSS;
239
240 enum {
248 };
249
250 int m_vAdd[7];
251 OUString m_vReplacement[7];
252
253 OUString m_aInstallDirectory; // Installation directory
254
255 std::vector< OUString > m_avModules;
256
257 typedef std::unordered_map< OUString, std::unique_ptr<helpdatafileproxy::Hdf> > DatabasesTable;
258 DatabasesTable m_aDatabases; // Language and module dependent databases
259
260 typedef std::unordered_map< OUString,OUString > LangSetTable;
261 LangSetTable m_aLangSet; // Mapping to of lang-country to lang
262
263 typedef std::unordered_map< OUString, std::unique_ptr<StaticModuleInformation> > ModInfoTable;
264 ModInfoTable m_aModInfo; // Module information
265
266 typedef std::unordered_map< OUString, std::unique_ptr<KeywordInfo> > KeywordInfoTable;
267 KeywordInfoTable m_aKeywordInfo; // Module information
268
269 typedef
270 std::unordered_map<
271 OUString,
272 css::uno::Reference< css::container::XHierarchicalNameAccess > > ZipFileTable;
273 ZipFileTable m_aZipFileTable; // No closing of an once opened jarfile
274
275 typedef
276 std::unordered_map<
277 OUString,
278 css::uno::Reference< css::i18n::XCollator > > CollatorTable;
280
281
282 typedef
283 std::unordered_set<
286
287 // methods
288
289 void setInstallPath( const OUString& aInstallDirectory );
290
291 }; // end class Databases
292
293 enum class IteratorState
294 {
296 //SHARED_MODULE, // Later, avoids redundancies in help compiling
297 UserExtensions,
298 SharedExtensions,
299 BundledExtensions,
300 EndReached
301 };
302
303 // Hashtable to cache extension help status
304 typedef std::unordered_map
305 <
306 OUString,
307 bool
308 >
310
312 {
314
315 public:
316 ExtensionIteratorBase( css::uno::Reference< css::uno::XComponentContext > const & xContext,
317 Databases& rDatabases, OUString aInitialModule, OUString aLanguage );
318 ExtensionIteratorBase( Databases& rDatabases, OUString aInitialModule,
319 OUString aLanguage );
320 void init();
321
322 private:
323 static css::uno::Reference< css::deployment::XPackage > implGetHelpPackageFromPackage
324 ( const css::uno::Reference< css::deployment::XPackage >& xPackage,
325 css::uno::Reference< css::deployment::XPackage >& o_xParentPackageBundle );
326
327 protected:
328 css::uno::Reference< css::deployment::XPackage > implGetNextUserHelpPackage
329 ( css::uno::Reference< css::deployment::XPackage >& o_xParentPackageBundle );
330 css::uno::Reference< css::deployment::XPackage > implGetNextSharedHelpPackage
331 ( css::uno::Reference< css::deployment::XPackage >& o_xParentPackageBundle );
332 css::uno::Reference< css::deployment::XPackage > implGetNextBundledHelpPackage
333 ( css::uno::Reference< css::deployment::XPackage >& o_xParentPackageBundle );
334 OUString implGetFileFromPackage( std::u16string_view rFileExtension,
335 const css::uno::Reference< css::deployment::XPackage >& xPackage );
336 OUString implGetFileFromPackage(std::unique_lock<std::mutex>& rGuard,
337 std::u16string_view rFileExtension,
338 const css::uno::Reference< css::deployment::XPackage >& xPackage );
339 void implGetLanguageVectorFromPackage( ::std::vector< OUString > &rv,
340 const css::uno::Reference< css::deployment::XPackage >& xPackage );
341
342 css::uno::Reference< css::uno::XComponentContext > m_xContext;
343 css::uno::Reference< css::ucb::XSimpleFileAccess3 > m_xSFA;
345
347
349 OUString m_aLanguage;
350
351 css::uno::Sequence< css::uno::Reference
352 < css::deployment::XPackage > > m_aUserPackagesSeq;
354
355 css::uno::Sequence< css::uno::Reference
356 < css::deployment::XPackage > > m_aSharedPackagesSeq;
358
359 css::uno::Sequence< css::uno::Reference
360 < css::deployment::XPackage > > m_aBundledPackagesSeq;
362
366
367 }; // end class ExtensionIteratorBase
368
370 {
371 public:
372 DataBaseIterator( css::uno::Reference< css::uno::XComponentContext > const & xContext,
373 Databases& rDatabases, const OUString& aInitialModule, const OUString& aLanguage, bool bHelpText )
374 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
375 , m_bHelpText( bHelpText )
376 {}
377 DataBaseIterator( Databases& rDatabases, const OUString& aInitialModule,
378 const OUString& aLanguage, bool bHelpText )
379 : ExtensionIteratorBase( rDatabases, aInitialModule, aLanguage )
380 , m_bHelpText( bHelpText )
381 {}
382
383 helpdatafileproxy::Hdf* nextHdf( OUString* o_pExtensionPath = nullptr, OUString* o_pExtensionRegistryPath = nullptr );
384
385 private:
387 const css::uno::Reference< css::deployment::XPackage >& xPackage,
388 OUString* o_pExtensionPath, OUString* o_pExtensionRegistryPath );
389
391
392 }; // end class DataBaseIterator
393
395 {
396 public:
397 KeyDataBaseFileIterator( css::uno::Reference< css::uno::XComponentContext > const & xContext,
398 Databases& rDatabases, const OUString& aInitialModule, const OUString& aLanguage )
399 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
400 {}
401 //Returns a file URL
402 OUString nextDbFile(std::unique_lock<std::mutex>& rGuard, bool& o_rbExtension);
403
404 private:
405 OUString implGetDbFileFromPackage(std::unique_lock<std::mutex>& rGuard,
406 const css::uno::Reference< css::deployment::XPackage >& xPackage );
407
408 }; // end class KeyDataBaseFileIterator
409
411 {
412 public:
413 JarFileIterator( css::uno::Reference< css::uno::XComponentContext > const & xContext,
414 Databases& rDatabases, const OUString& aInitialModule, const OUString& aLanguage )
415 : ExtensionIteratorBase( xContext, rDatabases, aInitialModule, aLanguage )
416 {}
417
418 css::uno::Reference< css::container::XHierarchicalNameAccess >
419 nextJarFile(std::unique_lock<std::mutex>& rGuard,
420 css::uno::Reference<css::deployment::XPackage>& o_xParentPackageBundle,
421 OUString* o_pExtensionPath, OUString* o_pExtensionRegistryPath );
422
423 private:
424 css::uno::Reference< css::container::XHierarchicalNameAccess >
425 implGetJarFromPackage(std::unique_lock<std::mutex>& rGuard,
426 const css::uno::Reference< css::deployment::XPackage >& xPackage,
427 OUString* o_pExtensionPath, OUString* o_pExtensionRegistryPath );
428
429 }; // end class JarFileIterator
430
432 {
433 public:
434 IndexFolderIterator( Databases& rDatabases, const OUString& aInitialModule, const OUString& aLanguage )
435 : ExtensionIteratorBase( rDatabases, aInitialModule, aLanguage )
436 {}
437
438 OUString nextIndexFolder( bool& o_rbExtension, bool& o_rbTemporary );
439 void deleteTempIndexFolder( std::u16string_view aIndexFolder );
440
441 private:
442 OUString implGetIndexFolderFromPackage( bool& o_rbTemporary,
443 const css::uno::Reference< css::deployment::XPackage >& xPackage );
444
445 }; // end class KeyDataBaseFileIterator
446
447} // end namespace chelp
448
449/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
DataBaseIterator(css::uno::Reference< css::uno::XComponentContext > const &xContext, Databases &rDatabases, const OUString &aInitialModule, const OUString &aLanguage, bool bHelpText)
Definition: databases.hxx:372
DataBaseIterator(Databases &rDatabases, const OUString &aInitialModule, const OUString &aLanguage, bool bHelpText)
Definition: databases.hxx:377
helpdatafileproxy::Hdf * nextHdf(OUString *o_pExtensionPath=nullptr, OUString *o_pExtensionRegistryPath=nullptr)
Definition: databases.cxx:1408
helpdatafileproxy::Hdf * implGetHdfFromPackage(const css::uno::Reference< css::deployment::XPackage > &xPackage, OUString *o_pExtensionPath, OUString *o_pExtensionRegistryPath)
Definition: databases.cxx:1466
css::uno::Reference< css::container::XHierarchicalNameAccess > findJarFileForPath(const OUString &jar, const OUString &Language, const OUString &path, OUString *o_pExtensionPath=nullptr, OUString *o_pExtensionRegistryPath=nullptr)
Definition: databases.cxx:882
KeywordInfo * getKeyword(const OUString &Module, const OUString &Language)
Definition: databases.cxx:722
OString getImageTheme() const
Definition: databases.cxx:179
const OUString & getProductName() const
Definition: databases.hxx:219
void cascadingStylesheet(const OUString &Language, OStringBuffer &buffer)
Returns the cascading style sheet used to format the HTML-output.
Definition: databases.cxx:949
OUString m_aInstallDirectory
Definition: databases.hxx:253
std::mutex m_aMutex
Definition: databases.hxx:230
KeywordInfoTable m_aKeywordInfo
Definition: databases.hxx:267
helpdatafileproxy::Hdf * getHelpDataFile(std::u16string_view Module, const OUString &Language, bool helpText=false, const OUString *pExtensionPath=nullptr)
Definition: databases.cxx:438
OUString getInstallPathAsURL()
Definition: databases.cxx:273
ZipFileTable m_aZipFileTable
Definition: databases.hxx:273
std::vector< char > m_vCustomCSSDoc
Definition: databases.hxx:237
StaticModuleInformation * getStaticInformationForModule(std::u16string_view Module, const OUString &Language)
Definition: databases.cxx:323
css::uno::Reference< css::i18n::XCollator > getCollator(std::unique_lock< std::mutex > &rGuard, const OUString &Language)
The following method returns the Collator for the given language-country combination.
Definition: databases.cxx:497
OUString m_vReplacement[7]
Definition: databases.hxx:251
std::unordered_map< OUString, OUString > LangSetTable
Definition: databases.hxx:260
std::unordered_map< OUString, std::unique_ptr< helpdatafileproxy::Hdf > > DatabasesTable
Definition: databases.hxx:257
css::uno::Reference< css::lang::XMultiComponentFactory > m_xSMgr
Definition: databases.hxx:232
std::vector< OUString > m_avModules
Definition: databases.hxx:255
void changeCSS(const OUString &newStyleSheet)
Changes the stylesheet for further reads.
Definition: databases.cxx:943
const std::vector< OUString > & getModuleList(const OUString &Language)
Definition: databases.cxx:285
css::uno::Reference< css::container::XHierarchicalNameAccess > jarFile(std::unique_lock< std::mutex > &rGuard, std::u16string_view jar, const OUString &Language)
Has the purpose of forcing the jarfile to stay open.
Definition: databases.cxx:801
void replaceName(OUString &oustring) const
Definition: databases.cxx:207
Databases(bool showBasic, const OUString &instPath, const OUString &productName, const OUString &productVersion, const OUString &styleSheet, css::uno::Reference< css::uno::XComponentContext > const &xContext)
Input is the installdirectory in system dependent notation.
Definition: databases.cxx:134
std::unordered_map< OUString, css::uno::Reference< css::i18n::XCollator > > CollatorTable
Definition: databases.hxx:278
std::unordered_set< OString > EmptyActiveTextSet
Definition: databases.hxx:284
DatabasesTable m_aDatabases
Definition: databases.hxx:258
LangSetTable m_aLangSet
Definition: databases.hxx:261
css::uno::Reference< css::ucb::XSimpleFileAccess3 > m_xSFA
Definition: databases.hxx:233
CollatorTable m_aCollatorTable
Definition: databases.hxx:279
std::unordered_map< OUString, std::unique_ptr< KeywordInfo > > KeywordInfoTable
Definition: databases.hxx:266
static OUString expandURL(const OUString &aURL, const css::uno::Reference< css::uno::XComponentContext > &xContext)
css::uno::Reference< css::uno::XComponentContext > m_xContext
Definition: databases.hxx:231
void setActiveText(const OUString &Module, const OUString &Language, std::u16string_view Id, OStringBuffer &buffer)
Returns the active help text for the given module, language and id.
Definition: databases.cxx:1055
void setInstallPath(const OUString &aInstallDirectory)
Definition: databases.cxx:1112
OUString expandURL(const OUString &aURL)
Definition: databases.cxx:82
EmptyActiveTextSet m_aEmptyActiveTextSet
Definition: databases.hxx:285
const OUString & getProductVersion() const
Definition: databases.hxx:220
std::unordered_map< OUString, std::unique_ptr< StaticModuleInformation > > ModInfoTable
Definition: databases.hxx:263
ModInfoTable m_aModInfo
Definition: databases.hxx:264
bool checkModuleMatchForExtension(std::u16string_view Database, const OUString &doclist)
Definition: databases.cxx:675
std::unordered_map< OUString, css::uno::Reference< css::container::XHierarchicalNameAccess > > ZipFileTable
Definition: databases.hxx:272
OUString processLang(const OUString &Language)
Maps a given language-locale combination to language or locale.
Definition: databases.cxx:400
css::uno::Sequence< css::uno::Reference< css::deployment::XPackage > > m_aUserPackagesSeq
Definition: databases.hxx:352
css::uno::Reference< css::deployment::XPackage > implGetNextUserHelpPackage(css::uno::Reference< css::deployment::XPackage > &o_xParentPackageBundle)
Definition: databases.cxx:1223
css::uno::Reference< css::deployment::XPackage > implGetNextSharedHelpPackage(css::uno::Reference< css::deployment::XPackage > &o_xParentPackageBundle)
Definition: databases.cxx:1251
css::uno::Reference< css::ucb::XSimpleFileAccess3 > m_xSFA
Definition: databases.hxx:343
css::uno::Reference< css::uno::XComponentContext > m_xContext
Definition: databases.hxx:342
static css::uno::Reference< css::deployment::XPackage > implGetHelpPackageFromPackage(const css::uno::Reference< css::deployment::XPackage > &xPackage, css::uno::Reference< css::deployment::XPackage > &o_xParentPackageBundle)
Definition: databases.cxx:1162
css::uno::Sequence< css::uno::Reference< css::deployment::XPackage > > m_aBundledPackagesSeq
Definition: databases.hxx:360
OUString implGetFileFromPackage(std::u16string_view rFileExtension, const css::uno::Reference< css::deployment::XPackage > &xPackage)
css::uno::Sequence< css::uno::Reference< css::deployment::XPackage > > m_aSharedPackagesSeq
Definition: databases.hxx:356
ExtensionIteratorBase(css::uno::Reference< css::uno::XComponentContext > const &xContext, Databases &rDatabases, OUString aInitialModule, OUString aLanguage)
OUString implGetFileFromPackage(std::unique_lock< std::mutex > &rGuard, std::u16string_view rFileExtension, const css::uno::Reference< css::deployment::XPackage > &xPackage)
void implGetLanguageVectorFromPackage(::std::vector< OUString > &rv, const css::uno::Reference< css::deployment::XPackage > &xPackage)
Definition: databases.cxx:1378
css::uno::Reference< css::deployment::XPackage > implGetNextBundledHelpPackage(css::uno::Reference< css::deployment::XPackage > &o_xParentPackageBundle)
Definition: databases.cxx:1279
static ExtensionHelpExistenceMap aHelpExistenceMap
Definition: databases.hxx:313
void deleteTempIndexFolder(std::u16string_view aIndexFolder)
Definition: databases.cxx:1860
OUString nextIndexFolder(bool &o_rbExtension, bool &o_rbTemporary)
Definition: databases.cxx:1715
IndexFolderIterator(Databases &rDatabases, const OUString &aInitialModule, const OUString &aLanguage)
Definition: databases.hxx:434
OUString implGetIndexFolderFromPackage(bool &o_rbTemporary, const css::uno::Reference< css::deployment::XPackage > &xPackage)
Definition: databases.cxx:1783
css::uno::Reference< css::container::XHierarchicalNameAccess > nextJarFile(std::unique_lock< std::mutex > &rGuard, css::uno::Reference< css::deployment::XPackage > &o_xParentPackageBundle, OUString *o_pExtensionPath, OUString *o_pExtensionRegistryPath)
Definition: databases.cxx:1597
JarFileIterator(css::uno::Reference< css::uno::XComponentContext > const &xContext, Databases &rDatabases, const OUString &aInitialModule, const OUString &aLanguage)
Definition: databases.hxx:413
css::uno::Reference< css::container::XHierarchicalNameAccess > implGetJarFromPackage(std::unique_lock< std::mutex > &rGuard, const css::uno::Reference< css::deployment::XPackage > &xPackage, OUString *o_pExtensionPath, OUString *o_pExtensionRegistryPath)
Definition: databases.cxx:1656
OUString implGetDbFileFromPackage(std::unique_lock< std::mutex > &rGuard, const css::uno::Reference< css::deployment::XPackage > &xPackage)
Definition: databases.cxx:1586
KeyDataBaseFileIterator(css::uno::Reference< css::uno::XComponentContext > const &xContext, Databases &rDatabases, const OUString &aInitialModule, const OUString &aLanguage)
Definition: databases.hxx:397
OUString nextDbFile(std::unique_lock< std::mutex > &rGuard, bool &o_rbExtension)
Definition: databases.cxx:1517
KeywordElement(Databases const *pDatabases, helpdatafileproxy::Hdf *pHdf, OUString key, std::u16string_view ids)
Definition: databases.cxx:589
css::uno::Sequence< OUString > listAnchor
Definition: databases.hxx:103
css::uno::Sequence< OUString > listId
Definition: databases.hxx:102
void init(Databases const *pDatabases, helpdatafileproxy::Hdf *pHdf, std::u16string_view ids)
Definition: databases.cxx:599
css::uno::Sequence< OUString > listTitle
Definition: databases.hxx:104
css::uno::Sequence< css::uno::Sequence< OUString > > & getIdList()
Definition: databases.hxx:115
css::uno::Sequence< css::uno::Sequence< OUString > > & getAnchorList()
Definition: databases.hxx:118
css::uno::Sequence< css::uno::Sequence< OUString > > & getTitleList()
Definition: databases.hxx:121
css::uno::Sequence< css::uno::Sequence< OUString > > listId
Definition: databases.hxx:126
css::uno::Sequence< css::uno::Sequence< OUString > > listAnchor
Definition: databases.hxx:126
css::uno::Sequence< css::uno::Sequence< OUString > > listTitle
Definition: databases.hxx:126
KeywordInfo(const std::vector< KeywordElement > &aVector)
Definition: databases.cxx:655
css::uno::Sequence< OUString > & getKeywordList()
Definition: databases.hxx:112
css::uno::Sequence< OUString > listKey
Definition: databases.hxx:125
StaticModuleInformation(OUString aTitle, OUString aStartId, OUString aProgramSwitch, std::u16string_view aOrder)
Definition: databases.hxx:66
const OUString & get_program() const
Definition: databases.hxx:79
const OUString & get_id() const
Definition: databases.hxx:78
const OUString & get_title() const
Definition: databases.hxx:77
std::unordered_map< OUString, bool > ExtensionHelpExistenceMap
Definition: databases.hxx:309
IteratorState
Definition: databases.hxx:294
sal_Int32 toInt32(std::u16string_view rStr)
sal_uInt32 Id