xref: /aoo41x/main/sal/osl/w32/path_helper.h (revision 9eab2a37)
1*9eab2a37SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*9eab2a37SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*9eab2a37SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*9eab2a37SAndrew Rist  * distributed with this work for additional information
6*9eab2a37SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*9eab2a37SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*9eab2a37SAndrew Rist  * "License"); you may not use this file except in compliance
9*9eab2a37SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*9eab2a37SAndrew Rist  *
11*9eab2a37SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*9eab2a37SAndrew Rist  *
13*9eab2a37SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*9eab2a37SAndrew Rist  * software distributed under the License is distributed on an
15*9eab2a37SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*9eab2a37SAndrew Rist  * KIND, either express or implied.  See the License for the
17*9eab2a37SAndrew Rist  * specific language governing permissions and limitations
18*9eab2a37SAndrew Rist  * under the License.
19*9eab2a37SAndrew Rist  *
20*9eab2a37SAndrew Rist  *************************************************************/
21*9eab2a37SAndrew Rist 
22*9eab2a37SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _PATH_HELPER_H_
25cdf0e10cSrcweir #define _PATH_HELPER_H_
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <sal/types.h>
28cdf0e10cSrcweir #include <rtl/ustring.h>
29cdf0e10cSrcweir #include <osl/file.h>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #ifdef __cplusplus
32cdf0e10cSrcweir extern "C"
33cdf0e10cSrcweir {
34cdf0e10cSrcweir #endif
35cdf0e10cSrcweir 
36cdf0e10cSrcweir /*******************************************************************
37cdf0e10cSrcweir  osl_systemPathEnsureSeparator
38cdf0e10cSrcweir  Adds a trailing path separator to the given system path if not
39cdf0e10cSrcweir  already there and if the path is not the root path or a logical
40cdf0e10cSrcweir  drive alone
41cdf0e10cSrcweir  ******************************************************************/
42cdf0e10cSrcweir 
43cdf0e10cSrcweir void osl_systemPathEnsureSeparator(/*inout*/ rtl_uString** ppustrPath);
44cdf0e10cSrcweir 
45cdf0e10cSrcweir /*******************************************************************
46cdf0e10cSrcweir  osl_systemPathRemoveSeparator
47cdf0e10cSrcweir  Removes the last separator from the given system path if any and
48cdf0e10cSrcweir  if the path is not the root path '\'
49cdf0e10cSrcweir  ******************************************************************/
50cdf0e10cSrcweir 
51cdf0e10cSrcweir void SAL_CALL osl_systemPathRemoveSeparator(/*inout*/ rtl_uString** ppustrPath);
52cdf0e10cSrcweir 
53cdf0e10cSrcweir /*******************************************************************
54cdf0e10cSrcweir  osl_is_logical_drive_pattern
55cdf0e10cSrcweir  Returns whether a given path is only a logical drive pattern or not.
56cdf0e10cSrcweir  A logical drive pattern is something like "a:\", "c:\".
57cdf0e10cSrcweir  No logical drive pattern is something like "c:\test"
58cdf0e10cSrcweir  ******************************************************************/
59cdf0e10cSrcweir 
60cdf0e10cSrcweir sal_Int32 osl_systemPathIsLogicalDrivePattern(/*in*/ const rtl_uString* pustrPath);
61cdf0e10cSrcweir 
62cdf0e10cSrcweir #ifdef __cplusplus
63cdf0e10cSrcweir }
64cdf0e10cSrcweir #endif
65cdf0e10cSrcweir 
66cdf0e10cSrcweir #endif
67