Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6dir.h
Go to the documentation of this file.
1 
9 #if !defined(P6DIR_H__)
10 #define P6DIR_H__ 1
11 
12 #include "p6filetypes.h"
13 #include "p6random.h"
14 
15 
16 #ifdef __cplusplus
17 namespace P6R {
18 extern "C" {
19 #endif
20 
29 #undef INTERFACE
30 #define INTERFACE p6IEnumDirents
32 {
34  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements,P6DIRENT *parElements,P6UINT32 *pcReturned) P6PURE;
36 };
37 
38 // {8D5B1742-F0B9-498A-BE9B-C26E32C482DD}
39 #define IF_p6IEnumDirents {0x8D5B1742,0xF0B9,0x498A,{0xBE,0x9B,0xC2,0x6E,0x32,0xC4,0x82,0xDD}}
40 
49 #undef INTERFACE
50 #define INTERFACE p6IDir
52 {
64  P6DECLCOMMETHOD(initialize)(P6THIS) P6PURE;
65 
66 
89  P6DECLCOMMETHOD(enumerate)(P6THIS_ const P6WCHAR *pszDirectory,P6DIRFLAGS fFlags,p6IEnumDirents **ppEnum) P6PURE;
90 
109  P6DECLCOMMETHOD(stat)(P6THIS_ const P6WCHAR *pszFilename,P6DIRENT *pDirent) P6PURE;
110 
129  P6DECLCOMMETHOD(access)(P6THIS_ const P6WCHAR *pszFilename,P6FACCESS nAccess) P6PURE;
130 
145  P6DECLCOMMETHOD(rename)(P6THIS_ const P6WCHAR *pszFrom,const P6WCHAR *pszTo) P6PURE;
146 
161  P6DECLCOMMETHOD(unlink)(P6THIS_ const P6WCHAR *pszPathname) P6PURE;
162 
181  P6DECLCOMMETHOD(mkdir)(P6THIS_ const P6WCHAR *pszPathname,P6FILEMODE nMode) P6PURE;
182 
201  P6DECLCOMMETHOD(mkpath)(P6THIS_ const P6WCHAR *pszPathname,P6FILEMODE nMode) P6PURE;
202 
203 
218  P6DECLCOMMETHOD(rmdir)(P6THIS_ const P6WCHAR *pszPathname) P6PURE;
219 
233  P6DECLCOMMETHOD(rmpath)(P6THIS_ const P6WCHAR *pszPathname) P6PURE;
234 
254  P6DECLCOMMETHOD(normalizePath)(P6THIS_ P6WCHAR *pszFilename) P6PURE;
255 
277  P6DECLCOMMETHOD(appendPathElement)(P6THIS_ P6WCHAR *pBuffer,P6SIZE cBuffer,const P6WCHAR *pszElement,P6SIZE *pcWritten) P6PURE;
278 
299  P6DECLCOMMETHOD(getTempDir)(P6THIS_ P6WCHAR *pBuffer,P6UINT32 cBuffer) P6PURE;
300 
331  P6DECLCOMMETHOD(getTempFile)(P6THIS_ p6IRandom *pRandom,P6WCHAR *pBuffer,P6UINT32 cBuffer) P6PURE;
332 
358  P6DECLCOMMETHOD(searchPath)(P6THIS_ const P6WCHAR *pszPath,const P6WCHAR *pszFilename,P6WCHAR *pBuffer,P6SIZE cBuffer) P6PURE;
359 
385  P6DECLCOMMETHOD(searchPathbstr)(P6THIS_ const P6WCHAR *pszPath,const P6BWCSTR *pbsFilename,P6WCHAR *pBuffer,P6SIZE cBuffer) P6PURE;
386 };
387 
388 // {15E33328-C34D-431B-9804-3588EAF3D89E}
389 #define IF_p6IDir {0x15E33328,0xC34D,0x431B,{0x98,0x04,0x35,0x88,0xEA,0xF3,0xD8,0x9E}}
390 
391 // {272B33A1-5325-4874-B0C3-93FAD7FA4C5D}
392 #define COMP_p6Dir {0x272B33A1,0x5325,0x4874,{0xB0,0xC3,0x93,0xFA,0xD7,0xFA,0x4C,0x5D}}
393 
394 #ifdef __cplusplus
395 }
396 } // namespace
397 #endif
398 
399 
400 #endif
401 
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
An interface for the management of file system directory entries.
Definition: p6dir.h:51
Used to describe a directory entry by various methods such as p6IDir::stat() and p6IDir::enumerate()...
Definition: p6filetypes.h:210
Wide Const binary string.
Definition: p6types.h:231
[p6]COM Cryptographic Random Number Generator.
File and directory type definitions.
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
Provides a cryptographically strong random number generator.
Definition: p6random.h:99
P6UINT32 P6FACCESS
Describes the type containing the possible values for access to a filesystem resource.
Definition: p6filetypes.h:117
This interface is used to enumerate diretory entries.
Definition: p6dir.h:31
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
P6UINT32 P6FILEMODE
Definition: p6filetypes.h:75
#define P6THIS_
Definition: p6defs.h:193
#define P6THIS
Definition: p6defs.h:194
P6UINT32 P6DIRFLAGS
Defines a type which describes the control flags for use with the p6IDir::enumerate() method to contr...
Definition: p6filetypes.h:152
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188