bump product version to 6.3.0.0.beta1
[LibreOffice.git] / include / unotools / pathoptions.hxx
blob74a408a7c9efeef258da23b38f5386da59c67010
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
19 #ifndef INCLUDED_UNOTOOLS_PATHOPTIONS_HXX
20 #define INCLUDED_UNOTOOLS_PATHOPTIONS_HXX
22 #include <rtl/ustring.hxx>
23 #include <unotools/unotoolsdllapi.h>
24 #include <unotools/options.hxx>
26 #define SVT_SEARCHPATH_DELIMITER ';'
28 class SvtPathOptions_Impl;
30 /*! Handle various defined paths
32 All path functions return URLs!
34 class SAL_WARN_UNUSED UNOTOOLS_DLLPUBLIC SvtPathOptions : public utl::detail::Options
36 private:
37 std::shared_ptr<SvtPathOptions_Impl> pImpl;
39 public:
40 enum Paths
42 PATH_ADDIN,
43 PATH_AUTOCORRECT,
44 PATH_AUTOTEXT,
45 PATH_BACKUP,
46 PATH_BASIC,
47 PATH_BITMAP,
48 PATH_CONFIG,
49 PATH_DICTIONARY,
50 PATH_FAVORITES,
51 PATH_FILTER,
52 PATH_GALLERY,
53 PATH_GRAPHIC,
54 PATH_HELP,
55 PATH_ICONSET,
56 PATH_LINGUISTIC,
57 PATH_MODULE,
58 PATH_PALETTE,
59 PATH_PLUGIN,
60 PATH_STORAGE,
61 PATH_TEMP,
62 PATH_TEMPLATE,
63 PATH_USERCONFIG,
64 PATH_WORK,
65 PATH_CLASSIFICATION,
66 PATH_UICONFIG,
67 PATH_FINGERPRINT,
68 PATH_NUMBERTEXT,
69 PATH_COUNT // should always be the last element
72 SvtPathOptions();
73 virtual ~SvtPathOptions() override;
75 // get the paths, not const because of using a mutex
76 const OUString& GetAddinPath() const;
77 const OUString& GetAutoCorrectPath() const;
78 const OUString& GetAutoTextPath() const;
79 const OUString& GetBackupPath() const;
80 const OUString& GetBasicPath() const;
81 const OUString& GetBitmapPath() const;
82 const OUString& GetConfigPath() const;
83 const OUString& GetDictionaryPath() const;
84 const OUString& GetFavoritesPath() const;
85 const OUString& GetFilterPath() const;
86 const OUString& GetGalleryPath() const;
87 const OUString& GetGraphicPath() const;
88 const OUString& GetHelpPath() const;
89 const OUString& GetLinguisticPath() const;
90 const OUString& GetModulePath() const;
91 const OUString& GetIconsetPath() const;
92 const OUString& GetPalettePath() const;
93 const OUString& GetPluginPath() const;
94 const OUString& GetStoragePath() const;
95 const OUString& GetTempPath() const;
96 const OUString& GetTemplatePath() const;
97 const OUString& GetUserConfigPath() const;
98 const OUString& GetWorkPath() const;
99 const OUString& GetFingerprintPath() const;
100 const OUString& GetNumbertextPath() const;
101 const OUString& GetClassificationPath() const;
103 // set the paths
104 void SetAddinPath( const OUString& rPath );
105 void SetAutoCorrectPath( const OUString& rPath );
106 void SetAutoTextPath( const OUString& rPath );
107 void SetBackupPath( const OUString& rPath );
108 void SetBasicPath( const OUString& rPath );
109 void SetBitmapPath( const OUString& rPath );
110 void SetConfigPath( const OUString& rPath );
111 void SetDictionaryPath( const OUString& rPath );
112 void SetFavoritesPath( const OUString& rPath );
113 void SetFilterPath( const OUString& rPath );
114 void SetGalleryPath( const OUString& rPath );
115 void SetGraphicPath( const OUString& rPath );
116 void SetHelpPath( const OUString& rPath );
117 void SetLinguisticPath( const OUString& rPath );
118 void SetModulePath( const OUString& rPath );
119 void SetPalettePath( const OUString& rPath );
120 void SetPluginPath( const OUString& rPath );
121 void SetStoragePath( const OUString& rPath );
122 void SetTempPath( const OUString& rPath );
123 void SetTemplatePath( const OUString& rPath );
124 void SetUserConfigPath( const OUString& rPath );
125 void SetWorkPath( const OUString& rPath );
127 OUString SubstituteVariable( const OUString& rVar ) const;
128 OUString ExpandMacros( const OUString& rPath ) const;
129 OUString UseVariable( const OUString& rVar ) const;
130 bool SearchFile( OUString& rIniFile, Paths ePath = PATH_USERCONFIG );
133 #endif // INCLUDED_UNOTOOLS_PATHOPTIONS_HXX
135 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */