source: trunk/foundation/idl/nomfilepath.idl@ 225

Last change on this file since 225 was 225, checked in by cinc, 19 years ago

Added doxygen documentation.

File size: 4.9 KB
Line 
1/* ***** BEGIN LICENSE BLOCK *****
2* Version: CDDL 1.0/LGPL 2.1
3*
4* The contents of this file are subject to the COMMON DEVELOPMENT AND
5* DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
6* this file except in compliance with the License. You may obtain a copy of
7* the License at http://www.sun.com/cddl/
8*
9* Software distributed under the License is distributed on an "AS IS" basis,
10* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11* for the specific language governing rights and limitations under the
12* License.
13*
14* The Original Code is "NOM" Netlabs Object Model
15*
16* The Initial Developer of the Original Code is
17* netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
18* Portions created by the Initial Developer are Copyright (C) 2005-2006
19* the Initial Developer. All Rights Reserved.
20*
21* Contributor(s):
22*
23* Alternatively, the contents of this file may be used under the terms of
24* the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
25* case the provisions of the LGPL are applicable instead of those above. If
26* you wish to allow use of your version of this file only under the terms of
27* the LGPL, and not to allow others to use your version of this file under
28* the terms of the CDDL, indicate your decision by deleting the provisions
29* above and replace them with the notice and other provisions required by the
30* LGPL. If you do not delete the provisions above, a recipient may use your
31* version of this file under the terms of any one of the CDDL or the LGPL.
32*
33* ***** END LICENSE BLOCK ***** */
34
35#ifndef NOMPATH_IDL_INCLUDED
36#define NOMPATH_IDL_INCLUDED
37
38#include "nomstring.idl"
39#include "nomfoundation.idl"
40
41NOMCLASSNAME(NOMPath);
42
43/** \class NOMPath
44 NOMPath is a specialized string class for dealing with file or directory paths.
45 As with NOMString the NOMPath class is always working on copies.
46 */
47interface NOMPath : NOMString
48{
49 /**
50 The current version of this class is 1.0
51 */
52 NOMCLASSVERSION(1, 0);
53
54 /**
55 Append a path to the string. A path separator will be added to the current path
56 if necessary and the given string appended. If the given string starts with a separator
57 no additional separator will be added to the path prior to appending. If the given string
58 starts with a separator and the current path ends with a separator the ending separator
59 will be removed before appending.
60
61 \remark
62 Note that there's no check if the input string is an absolute path. So if an absolute path
63 is given as input the resulting path may not be valid.
64
65 \return
66 The method returns a new NOMPath instance after appending.
67
68 \sa append(), appendCString()
69 */
70 PNOMPath appendPath(in PNOMPath nomPath);
71
72 /**
73 Append a separator to the path. If the path already has a separator at the end this method
74 does nothing other than returning a new path object. If the given path has zero length
75 a path object only holding a separator is returned.
76
77 \return
78 This method always returns a new instance of a NOMPath owned by the caller.
79
80 \sa append(), appendPath()
81 */
82 PNOMPath appendSeparator();
83
84 /**
85 Strips the path separator from the end of a path if there's one.
86
87 \return
88 This method always returns a new instance of a NOMPath owned by the caller.
89
90 \sa appendSeparator()
91 */
92 PNOMPath stripSeparator();
93
94 /**
95
96 \remark This method is only implemented for OS/2.
97
98 \return
99 Returns TRUE if the given path is absolute. On OS/2 this means it starts with a letter
100 followed by a colon.
101 */
102 boolean pathIsAbsolute();
103
104 /**
105 Returns the root of the current path. On OS/2 that is a letter followed by a colon.
106
107 \remark This method is only implemented for OS/2.
108
109 \return
110 This method always returns a new instance of a NOMPath owned by the caller.
111 */
112 PNOMPath queryRoot();
113
114 /**
115 This method strips all characters from the beginning of a path till the first
116 directory separator and also this first separator. If there's no separator in
117 the path a zero length path is returned.
118
119 \return
120 This method always returns a new instance of a NOMPath owned by the caller.
121
122 \sa queryPathBegin()
123 */
124 PNOMPath erasePathBegin();
125
126 /**
127 Returns the part of the path up to the first directory separator ('\' on OS/2).
128 If there's no directory separator the whole path is returned. This method does
129 not remove the part from the given path. Use erasePathBegin() to do that.
130
131 \remark This method only works for null terminated string.
132
133 \return
134 A new NOMString object holding the first part of a path.
135
136 \sa erasePathBegin()
137 */
138 PNOMPath queryPathBegin();
139};
140
141#endif /* NOMPATH_IDL_INCLUDED */
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
Note: See TracBrowser for help on using the repository browser.