ObjFW
Loading...
Searching...
No Matches
OFString+PathAdditions.h
1/*
2 * Copyright (c) 2008-2024 Jonathan Schleifer <js@nil.im>
3 *
4 * All rights reserved.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License version 3.0 only,
8 * as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13 * version 3.0 for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * version 3.0 along with this program. If not, see
17 * <https://www.gnu.org/licenses/>.
18 */
19
20#import "OFString.h"
21
22OF_ASSUME_NONNULL_BEGIN
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27extern int _OFString_PathAdditions_reference OF_VISIBILITY_HIDDEN;
28#ifdef __cplusplus
29}
30#endif
31
32@interface OFString (PathAdditions)
36@property (readonly, nonatomic, getter=isAbsolutePath) bool absolutePath;
37
41@property (readonly, nonatomic) OFArray OF_GENERIC(OFString *) *pathComponents;
42
46@property (readonly, nonatomic) OFString *lastPathComponent;
47
51@property (readonly, nonatomic) OFString *pathExtension;
52
56@property (readonly, nonatomic) OFString *stringByDeletingLastPathComponent;
57
61@property (readonly, nonatomic) OFString *stringByDeletingPathExtension;
62
66@property (readonly, nonatomic) OFString *stringByStandardizingPath;
67
74+ (OFString *)pathWithComponents: (OFArray OF_GENERIC(OFString *) *)components;
75
82- (OFString *)stringByAppendingPathComponent: (OFString *)component;
83
90- (OFString *)stringByAppendingPathExtension: (OFString *)extension;
91
92- (bool)of_isDirectoryPath;
93- (OFString *)of_pathToIRIPathWithPercentEncodedHost:
94 (OFString *__autoreleasing _Nullable *_Nonnull)percentEncodedHost;
95- (OFString *)of_IRIPathToPathWithPercentEncodedHost:
96 (nullable OFString *)percentEncodedHost;
97- (OFString *)of_pathComponentToIRIPathComponent;
98@end
99
100OF_ASSUME_NONNULL_END
An abstract class for storing objects in an array.
Definition OFArray.h:109
A class for handling strings.
Definition OFString.h:143
OFArray * pathComponents
The components of the string when interpreted as a path.
Definition OFString+PathAdditions.h:41