1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 // YD #pragma warning (disable : 4800)
25
26 #ifndef _PATH_HELPER_HXX_
27 #define _PATH_HELPER_HXX_
28
29 #include "path_helper.h"
30 #include <rtl/ustring.hxx>
31
32 namespace osl
33 {
34
35 /*******************************************************************
36 osl_systemPathEnsureSeparator
37 Adds a trailing path separator to the given system path if not
38 already there and if the path is not the root path or a logical
39 drive alone
40 ******************************************************************/
41
systemPathEnsureSeparator(rtl::OUString & Path)42 inline void systemPathEnsureSeparator(/*inout*/ rtl::OUString& Path)
43 {
44 osl_systemPathEnsureSeparator(&Path.pData);
45 }
46
47 /*******************************************************************
48 osl_systemPathRemoveSeparator
49 Removes the last separator from the given system path if any and
50 if the path is not the root path '\'
51 ******************************************************************/
52
systemPathRemoveSeparator(rtl::OUString & Path)53 inline void systemPathRemoveSeparator(/*inout*/ rtl::OUString& Path)
54 {
55 osl_systemPathRemoveSeparator(&Path.pData);
56 }
57
58 /*******************************************************************
59 osl_systemPathIsLogicalDrivePattern
60 ******************************************************************/
61
systemPathIsLogicalDrivePattern(const rtl::OUString & path)62 inline bool systemPathIsLogicalDrivePattern(/*in*/ const rtl::OUString& path)
63 {
64 return osl_systemPathIsLogicalDrivePattern(path.pData);
65 }
66
67 } // end namespace osl
68
69 #endif
70