Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6path.h
Go to the documentation of this file.
1 
9 #if !defined(P6PATH_H__)
10 #define P6PATH_H__ 1
11 
12 #ifdef __cplusplus
13 namespace P6R {
14 extern "C" {
15 #endif
16 
18 static const P6PPFLAGS P6PPF_NOFLAGS = 0x00000000;
19 static const P6PPFLAGS P6PPF_NORMALIZE = 0x00000001;
20 static const P6PPFLAGS P6PPF_CREATEABSOLUTE = 0x00000002;
23 #undef INTERFACE
24 #define INTERFACE p6IPath
26 {
45  P6DECLCOMMETHOD(initialize)(P6THIS_ const P6WCHAR *pszPath,P6PPFLAGS fFlags) P6PURE;
46 
57  P6DECLCOMMETHOD(isAbsolute)(P6THIS) P6PURE;
58 
70  P6DECLCOMMETHOD(isPathSeparator)(P6THIS_ P6WCHAR c) P6PURE;
71 
80  P6DECLCOMMETHOD(append)(P6THIS_ const P6WCHAR *pszElement) P6PURE;
81 
90  P6DECLCOMMETHOD(appendBWCSTR)(P6THIS_ P6BWCSTR *pElement) P6PURE;
91 
107  P6DECLCOMMETHOD(trim)(P6THIS_ P6WCHAR *pBuffer,P6SIZE cBuffer,P6SIZE *pcWritten) P6PURE;
108 
121  P6DECLCOMMETHOD(first)(P6THIS_ P6BWCSTR *pFirst) P6PURE;
122 
134  P6DECLCOMMETHOD(next)(P6THIS_ P6BWCSTR *pNext) P6PURE;
135 
146  P6DECLCOMMETHOD(last)(P6THIS_ P6BWCSTR *pLast) P6PURE;
147 
159  P6DECLCOMMETHOD(basename)(P6THIS_ P6BWCSTR *pBasename) P6PURE;
160 
170  P6DECLCOMMETHOD(parent)(P6THIS_ P6BWCSTR *pParent) P6PURE;
171 
180  P6DECLCOMMETHOD(get)(P6THIS_ P6BWCSTR *pPath) P6PURE;
181 
197  P6DECLCOMMETHOD(compare)(P6THIS_ p6IPath *pRhs,P6INT32 *pVal) P6PURE;
198 };
199 
200 // {6FF23E90-4525-41AB-91EE-9B29A2C96100}
201 #define IF_p6IPath {0x6FF23E90,0x4525,0x41AB,{0x91,0xEE,0x9B,0x29,0xA2,0xC9,0x61,0x00}}
202 
203 // {D3B9FF86-6059-44CD-84F8-BCA8AC1334E9}
204 #define COMP_p6Path {0xD3B9FF86,0x6059,0x44CD,{0x84,0xF8,0xBC,0xA8,0xAC,0x13,0x34,0xE9}}
205 
206 #ifdef __cplusplus
207 }
208 } // namespace
209 #endif
210 
211 
212 #endif
213 
214 
size_t P6SIZE
Definition: p6types.h:90
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
Wide Const binary string.
Definition: p6types.h:231
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
P6UINT32 P6PPFLAGS
Definition: p6path.h:17
#define P6THIS_
Definition: p6defs.h:193
int32_t P6INT32
Definition: p6types.h:76
#define P6THIS
Definition: p6defs.h:194
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188