ObjFW
 All Classes Functions Variables
OFURL.h
1 /*
2  * Copyright (c) 2008, 2009, 2010, 2011, 2012
3  * Jonathan Schleifer <js@webkeks.org>
4  *
5  * All rights reserved.
6  *
7  * This file is part of ObjFW. It may be distributed under the terms of the
8  * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
9  * the packaging of this file.
10  *
11  * Alternatively, it may be distributed under the terms of the GNU General
12  * Public License, either version 2 or 3, which can be found in the file
13  * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
14  * file.
15  */
16 
17 #import "OFObject.h"
18 #import "OFSerialization.h"
19 
20 @class OFString;
21 
26 {
28  OFString *host;
29  uint16_t port;
30  OFString *user;
32  OFString *path;
34  OFString *query;
36 }
37 
38 #ifdef OF_HAVE_PROPERTIES
39 @property (copy) OFString *scheme;
40 @property (copy) OFString *host;
41 @property uint16_t port;
42 @property (copy) OFString *user;
43 @property (copy) OFString *password;
44 @property (copy) OFString *path;
45 @property (copy) OFString *parameters;
46 @property (copy) OFString *query;
47 @property (copy) OFString *fragment;
48 #endif
49 
56 + (instancetype)URLWithString: (OFString*)string;
57 
65 + (instancetype)URLWithString: (OFString*)string
66  relativeToURL: (OFURL*)URL;
67 
74 - initWithString: (OFString*)string;
75 
84 - initWithString: (OFString*)string
85  relativeToURL: (OFURL*)url;
86 
92 - (OFString*)scheme;
93 
99 - (void)setScheme: (OFString*)scheme;
100 
106 - (OFString*)host;
107 
113 - (void)setHost: (OFString*)host;
114 
120 - (uint16_t)port;
121 
127 - (void)setPort: (uint16_t)port;
128 
134 - (OFString*)user;
135 
141 - (void)setUser: (OFString*)user;
142 
148 - (OFString*)password;
149 
155 - (void)setPassword: (OFString*)password;
156 
162 - (OFString*)path;
163 
169 - (void)setPath: (OFString*)path;
170 
176 - (OFString*)parameters;
177 
183 - (void)setParameters: (OFString*)parameters;
184 
190 - (OFString*)query;
191 
197 - (void)setQuery: (OFString*)query;
198 
204 - (OFString*)fragment;
205 
211 - (void)setFragment: (OFString*)fragment;
212 
218 - (OFString*)string;
219 @end