1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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
37 std::shared_ptr
<SvtPathOptions_Impl
> pImpl
;
69 PATH_COUNT
// should always be the last element
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;
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: */