1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>Oscl_FileFind class Reference</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.2.18 --> 7<center> 8<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9<hr><h1>Oscl_FileFind Class Reference<br> 10<small> 11[<a class="el" href="group__osclio.html">OSCL IO</a>]</small> 12</h1><code>#include <<a class="el" href="oscl__file__find_8h-source.html">oscl_file_find.h</a>></code> 13<p> 14<table border=0 cellpadding=0 cellspacing=0> 15<tr><td></td></tr> 16<tr><td colspan=2><br><h2>Public Types</h2></td></tr> 17<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#s13">error_type</a> { <br> 18 <a class="el" href="classOscl__FileFind.html#s13s0">E_OK</a> = 0, 19<a class="el" href="classOscl__FileFind.html#s13s1">E_INVALID_STATE</a>, 20<a class="el" href="classOscl__FileFind.html#s13s2">E_INVALID_ARG</a>, 21<a class="el" href="classOscl__FileFind.html#s13s3">E_PATH_TOO_LONG</a>, 22<br> 23 <a class="el" href="classOscl__FileFind.html#s13s4">E_PATH_NOT_FOUND</a>, 24<a class="el" href="classOscl__FileFind.html#s13s5">E_NO_MATCH</a>, 25<a class="el" href="classOscl__FileFind.html#s13s6">E_BUFFER_TOO_SMALL</a>, 26<a class="el" href="classOscl__FileFind.html#s13s7">E_NOT_IMPLEMENTED</a>, 27<br> 28 <a class="el" href="classOscl__FileFind.html#s13s8">E_MEMORY_ERROR</a>, 29<a class="el" href="classOscl__FileFind.html#s13s9">E_OTHER</a> 30<br> 31 }</td></tr> 32<tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#s14">element_type</a> { <a class="el" href="classOscl__FileFind.html#s14s10">FILE_TYPE</a> = 0, 33<a class="el" href="classOscl__FileFind.html#s14s11">DIR_TYPE</a>, 34<a class="el" href="classOscl__FileFind.html#s14s12">INVALID_TYPE</a> 35 }</td></tr> 36<tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 37<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const char * </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a0">FindFirst</a> (const char *directory, const char *pattern, char *buf, uint32 buflen)</td></tr> 38<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a1">FindFirst</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *directory, const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *pattern, <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *buf, uint32 buflen)</td></tr> 39<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF char * </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a2">FindNext</a> (char *buf, uint32 buflen)</td></tr> 40<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a3">FindNext</a> (<a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *buf, uint32 buflen)</td></tr> 41<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a4">Close</a> ()</td></tr> 42<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOscl__FileFind.html#s14">element_type</a> </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a5">GetElementType</a> ()</td></tr> 43<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOscl__FileFind.html#s13">error_type</a> </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a6">GetLastError</a> ()</td></tr> 44<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a7">Oscl_FileFind</a> ()</td></tr> 45<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classOscl__FileFind.html#a8">~Oscl_FileFind</a> ()</td></tr> 46</table> 47<hr><a name="_details"></a><h2>Detailed Description</h2> 48Oscl_FileFind class defines the generic way of finding filesystem elements that match a pattern within a directory 49<p> 50<hr><h2>Member Enumeration Documentation</h2> 51<a name="s14" doxytag="Oscl_FileFind::element_type"></a><p> 52<table width="100%" cellpadding="2" cellspacing="0" border="0"> 53 <tr> 54 <td class="md"> 55 <table cellpadding="0" cellspacing="0" border="0"> 56 <tr> 57 <td class="md" nowrap valign="top"> enum Oscl_FileFind::element_type 58 </table> 59 </td> 60 </tr> 61</table> 62<table cellspacing=5 cellpadding=0 border=0> 63 <tr> 64 <td> 65 66 </td> 67 <td> 68 69<p> 70<dl compact><dt><b>Enumeration values: </b></dt><dd> 71<table border=0 cellspacing=2 cellpadding=0> 72<tr><td valign=top><em><a name="s14s10" doxytag="FILE_TYPE"></a><em>FILE_TYPE</em></em> </td><td> 73</td></tr> 74<tr><td valign=top><em><a name="s14s11" doxytag="DIR_TYPE"></a><em>DIR_TYPE</em></em> </td><td> 75</td></tr> 76<tr><td valign=top><em><a name="s14s12" doxytag="INVALID_TYPE"></a><em>INVALID_TYPE</em></em> </td><td> 77</td></tr> 78</table> 79</dl> 80 </td> 81 </tr> 82</table> 83<a name="s13" doxytag="Oscl_FileFind::error_type"></a><p> 84<table width="100%" cellpadding="2" cellspacing="0" border="0"> 85 <tr> 86 <td class="md"> 87 <table cellpadding="0" cellspacing="0" border="0"> 88 <tr> 89 <td class="md" nowrap valign="top"> enum Oscl_FileFind::error_type 90 </table> 91 </td> 92 </tr> 93</table> 94<table cellspacing=5 cellpadding=0 border=0> 95 <tr> 96 <td> 97 98 </td> 99 <td> 100 101<p> 102<dl compact><dt><b>Enumeration values: </b></dt><dd> 103<table border=0 cellspacing=2 cellpadding=0> 104<tr><td valign=top><em><a name="s13s0" doxytag="E_OK"></a><em>E_OK</em></em> </td><td> 105</td></tr> 106<tr><td valign=top><em><a name="s13s1" doxytag="E_INVALID_STATE"></a><em>E_INVALID_STATE</em></em> </td><td> 107</td></tr> 108<tr><td valign=top><em><a name="s13s2" doxytag="E_INVALID_ARG"></a><em>E_INVALID_ARG</em></em> </td><td> 109</td></tr> 110<tr><td valign=top><em><a name="s13s3" doxytag="E_PATH_TOO_LONG"></a><em>E_PATH_TOO_LONG</em></em> </td><td> 111</td></tr> 112<tr><td valign=top><em><a name="s13s4" doxytag="E_PATH_NOT_FOUND"></a><em>E_PATH_NOT_FOUND</em></em> </td><td> 113</td></tr> 114<tr><td valign=top><em><a name="s13s5" doxytag="E_NO_MATCH"></a><em>E_NO_MATCH</em></em> </td><td> 115</td></tr> 116<tr><td valign=top><em><a name="s13s6" doxytag="E_BUFFER_TOO_SMALL"></a><em>E_BUFFER_TOO_SMALL</em></em> </td><td> 117</td></tr> 118<tr><td valign=top><em><a name="s13s7" doxytag="E_NOT_IMPLEMENTED"></a><em>E_NOT_IMPLEMENTED</em></em> </td><td> 119</td></tr> 120<tr><td valign=top><em><a name="s13s8" doxytag="E_MEMORY_ERROR"></a><em>E_MEMORY_ERROR</em></em> </td><td> 121</td></tr> 122<tr><td valign=top><em><a name="s13s9" doxytag="E_OTHER"></a><em>E_OTHER</em></em> </td><td> 123</td></tr> 124</table> 125</dl> 126 </td> 127 </tr> 128</table> 129<hr><h2>Constructor & Destructor Documentation</h2> 130<a name="a7" doxytag="Oscl_FileFind::Oscl_FileFind"></a><p> 131<table width="100%" cellpadding="2" cellspacing="0" border="0"> 132 <tr> 133 <td class="md"> 134 <table cellpadding="0" cellspacing="0" border="0"> 135 <tr> 136 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_FileFind::Oscl_FileFind </td> 137 <td class="md" valign="top">( </td> 138 <td class="mdname1" valign="top" nowrap> </td> 139 <td class="md" valign="top">) </td> 140 <td class="md" nowrap></td> 141 </tr> 142 143 </table> 144 </td> 145 </tr> 146</table> 147<table cellspacing=5 cellpadding=0 border=0> 148 <tr> 149 <td> 150 151 </td> 152 <td> 153 154<p> 155constructor. <dl compact><dt><b>Returns: </b></dt><dd> 156none </dl> </td> 157 </tr> 158</table> 159<a name="a8" doxytag="Oscl_FileFind::~Oscl_FileFind"></a><p> 160<table width="100%" cellpadding="2" cellspacing="0" border="0"> 161 <tr> 162 <td class="md"> 163 <table cellpadding="0" cellspacing="0" border="0"> 164 <tr> 165 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_FileFind::~Oscl_FileFind </td> 166 <td class="md" valign="top">( </td> 167 <td class="mdname1" valign="top" nowrap> </td> 168 <td class="md" valign="top">) </td> 169 <td class="md" nowrap></td> 170 </tr> 171 172 </table> 173 </td> 174 </tr> 175</table> 176<table cellspacing=5 cellpadding=0 border=0> 177 <tr> 178 <td> 179 180 </td> 181 <td> 182 183<p> 184destructor. will deallocate open handles if necessary 185<p> 186<dl compact><dt><b>Returns: </b></dt><dd> 187none </dl> </td> 188 </tr> 189</table> 190<hr><h2>Member Function Documentation</h2> 191<a name="a4" doxytag="Oscl_FileFind::Close"></a><p> 192<table width="100%" cellpadding="2" cellspacing="0" border="0"> 193 <tr> 194 <td class="md"> 195 <table cellpadding="0" cellspacing="0" border="0"> 196 <tr> 197 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_FileFind::Close </td> 198 <td class="md" valign="top">( </td> 199 <td class="mdname1" valign="top" nowrap> </td> 200 <td class="md" valign="top">) </td> 201 <td class="md" nowrap></td> 202 </tr> 203 204 </table> 205 </td> 206 </tr> 207</table> 208<table cellspacing=5 cellpadding=0 border=0> 209 <tr> 210 <td> 211 212 </td> 213 <td> 214 215<p> 216closes the handle to directory. <dl compact><dt><b>Returns: </b></dt><dd> 217none </dl> </td> 218 </tr> 219</table> 220<a name="a1" doxytag="Oscl_FileFind::FindFirst"></a><p> 221<table width="100%" cellpadding="2" cellspacing="0" border="0"> 222 <tr> 223 <td class="md"> 224 <table cellpadding="0" cellspacing="0" border="0"> 225 <tr> 226 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* Oscl_FileFind::FindFirst </td> 227 <td class="md" valign="top">( </td> 228 <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td> 229 <td class="mdname" nowrap> <em>directory</em>, </td> 230 </tr> 231 <tr> 232 <td></td> 233 <td></td> 234 <td class="md" nowrap>const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td> 235 <td class="mdname" nowrap> <em>pattern</em>, </td> 236 </tr> 237 <tr> 238 <td></td> 239 <td></td> 240 <td class="md" nowrap><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td> 241 <td class="mdname" nowrap> <em>buf</em>, </td> 242 </tr> 243 <tr> 244 <td></td> 245 <td></td> 246 <td class="md" nowrap>uint32 </td> 247 <td class="mdname" nowrap> <em>buflen</em></td> 248 </tr> 249 <tr> 250 <td></td> 251 <td class="md">) </td> 252 <td class="md" colspan="2"></td> 253 </tr> 254 255 </table> 256 </td> 257 </tr> 258</table> 259<table cellspacing=5 cellpadding=0 border=0> 260 <tr> 261 <td> 262 263 </td> 264 <td> 265 266<p> 267Opens a directory for reading.<dl compact><dt><b>Parameters: </b></dt><dd> 268<table border=0 cellspacing=2 cellpadding=0> 269<tr><td valign=top><em>directory</em> </td><td> 270directory to search (utf16). </td></tr> 271<tr><td valign=top><em>pattern</em> </td><td> 272wildcard pattern filter (utf16). passing NULL, results in a universal match. </td></tr> 273<tr><td valign=top><em>buf</em> </td><td> 274buffer for returned pathname (utf16). </td></tr> 275<tr><td valign=top><em>buflen</em> </td><td> 276size in wide characters of buf. If buf is not large enough to hold the returned string, NULL is returned, and GetLastError is set to E_BUFFER_TOO_SMALL.</td></tr> 277</table> 278</dl><dl compact><dt><b>Returns: </b></dt><dd> 279returns a pointer to buffer supplied, which contains the pathname of the next found element, or NULL otherwise. On a NULL return value, <a class="el" href="classOscl__FileFind.html#a6">GetLastError()</a> returns a more detailed error. </dl> </td> 280 </tr> 281</table> 282<a name="a0" doxytag="Oscl_FileFind::FindFirst"></a><p> 283<table width="100%" cellpadding="2" cellspacing="0" border="0"> 284 <tr> 285 <td class="md"> 286 <table cellpadding="0" cellspacing="0" border="0"> 287 <tr> 288 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const char* Oscl_FileFind::FindFirst </td> 289 <td class="md" valign="top">( </td> 290 <td class="md" nowrap valign="top">const char * </td> 291 <td class="mdname" nowrap> <em>directory</em>, </td> 292 </tr> 293 <tr> 294 <td></td> 295 <td></td> 296 <td class="md" nowrap>const char * </td> 297 <td class="mdname" nowrap> <em>pattern</em>, </td> 298 </tr> 299 <tr> 300 <td></td> 301 <td></td> 302 <td class="md" nowrap>char * </td> 303 <td class="mdname" nowrap> <em>buf</em>, </td> 304 </tr> 305 <tr> 306 <td></td> 307 <td></td> 308 <td class="md" nowrap>uint32 </td> 309 <td class="mdname" nowrap> <em>buflen</em></td> 310 </tr> 311 <tr> 312 <td></td> 313 <td class="md">) </td> 314 <td class="md" colspan="2"></td> 315 </tr> 316 317 </table> 318 </td> 319 </tr> 320</table> 321<table cellspacing=5 cellpadding=0 border=0> 322 <tr> 323 <td> 324 325 </td> 326 <td> 327 328<p> 329Finds first element matching the pattern.<dl compact><dt><b>Parameters: </b></dt><dd> 330<table border=0 cellspacing=2 cellpadding=0> 331<tr><td valign=top><em>directory</em> </td><td> 332directory to search (utf8). </td></tr> 333<tr><td valign=top><em>pattern</em> </td><td> 334wildcard pattern filter (utf8). passing NULL, results in a universal match. </td></tr> 335<tr><td valign=top><em>buf</em> </td><td> 336buffer for returned pathname (utf8). </td></tr> 337<tr><td valign=top><em>buflen</em> </td><td> 338size in wide characters of buf. If buf is not large enough to hold the returned string, NULL is returned, and GetLastError is set to E_BUFFER_TOO_SMALL.</td></tr> 339</table> 340</dl><dl compact><dt><b>Returns: </b></dt><dd> 341returns a pointer to buffer supplied, which contains the pathname of the next found element, or NULL otherwise.On a NULL return value, <a class="el" href="classOscl__FileFind.html#a6">GetLastError()</a> returns a more detailed error. </dl> </td> 342 </tr> 343</table> 344<a name="a3" doxytag="Oscl_FileFind::FindNext"></a><p> 345<table width="100%" cellpadding="2" cellspacing="0" border="0"> 346 <tr> 347 <td class="md"> 348 <table cellpadding="0" cellspacing="0" border="0"> 349 <tr> 350 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="group__osclbase.html#a32">oscl_wchar</a>* Oscl_FileFind::FindNext </td> 351 <td class="md" valign="top">( </td> 352 <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a32">oscl_wchar</a> * </td> 353 <td class="mdname" nowrap> <em>buf</em>, </td> 354 </tr> 355 <tr> 356 <td></td> 357 <td></td> 358 <td class="md" nowrap>uint32 </td> 359 <td class="mdname" nowrap> <em>buflen</em></td> 360 </tr> 361 <tr> 362 <td></td> 363 <td class="md">) </td> 364 <td class="md" colspan="2"></td> 365 </tr> 366 367 </table> 368 </td> 369 </tr> 370</table> 371<table cellspacing=5 cellpadding=0 border=0> 372 <tr> 373 <td> 374 375 </td> 376 <td> 377 378<p> 379Reads the next element in a directory. Note: the pointer returned by this function is not persistent and should be stored. Its scope is limited to the lifetime of the class. <dl compact><dt><b>Parameters: </b></dt><dd> 380<table border=0 cellspacing=2 cellpadding=0> 381<tr><td valign=top><em>buf</em> </td><td> 382buffer to hold directory name(utf16) </td></tr> 383<tr><td valign=top><em>buflen</em> </td><td> 384size in wide characters of buf. If buf is not large enough to hold the returned string, NULL is returned, and GetLastError is set to E_BUFFER_TOO_SMALL. </td></tr> 385</table> 386</dl><dl compact><dt><b>Returns: </b></dt><dd> 387returns a pointer to buffer supplied, which contains the pathname of the next found element, or NULL otherwise. On a NULL return value, <a class="el" href="classOscl__FileFind.html#a6">GetLastError()</a> returns a more detailed error. </dl> </td> 388 </tr> 389</table> 390<a name="a2" doxytag="Oscl_FileFind::FindNext"></a><p> 391<table width="100%" cellpadding="2" cellspacing="0" border="0"> 392 <tr> 393 <td class="md"> 394 <table cellpadding="0" cellspacing="0" border="0"> 395 <tr> 396 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF char* Oscl_FileFind::FindNext </td> 397 <td class="md" valign="top">( </td> 398 <td class="md" nowrap valign="top">char * </td> 399 <td class="mdname" nowrap> <em>buf</em>, </td> 400 </tr> 401 <tr> 402 <td></td> 403 <td></td> 404 <td class="md" nowrap>uint32 </td> 405 <td class="mdname" nowrap> <em>buflen</em></td> 406 </tr> 407 <tr> 408 <td></td> 409 <td class="md">) </td> 410 <td class="md" colspan="2"></td> 411 </tr> 412 413 </table> 414 </td> 415 </tr> 416</table> 417<table cellspacing=5 cellpadding=0 border=0> 418 <tr> 419 <td> 420 421 </td> 422 <td> 423 424<p> 425Reads the next element in the directory. Note: the pointer returned by this function is not persistent and should be stored. Its scope is limited to the lifetime of the class. <dl compact><dt><b>Parameters: </b></dt><dd> 426<table border=0 cellspacing=2 cellpadding=0> 427<tr><td valign=top><em>buf</em> </td><td> 428buffer to hold directory name(utf8) </td></tr> 429<tr><td valign=top><em>buflen</em> </td><td> 430size in wide characters of buf. If buf is not large enough to hold the returned string, NULL is returned, and GetLastError is set to E_BUFFER_TOO_SMALL. </td></tr> 431</table> 432</dl><dl compact><dt><b>Returns: </b></dt><dd> 433returns a pointer to buffer supplied, which contains the pathname of the next found element, or NULL otherwise. On a NULL return value, <a class="el" href="classOscl__FileFind.html#a6">GetLastError()</a> returns a more detailed error. </dl> </td> 434 </tr> 435</table> 436<a name="a5" doxytag="Oscl_FileFind::GetElementType"></a><p> 437<table width="100%" cellpadding="2" cellspacing="0" border="0"> 438 <tr> 439 <td class="md"> 440 <table cellpadding="0" cellspacing="0" border="0"> 441 <tr> 442 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOscl__FileFind.html#s14">element_type</a> Oscl_FileFind::GetElementType </td> 443 <td class="md" valign="top">( </td> 444 <td class="mdname1" valign="top" nowrap> </td> 445 <td class="md" valign="top">) </td> 446 <td class="md" nowrap></td> 447 </tr> 448 449 </table> 450 </td> 451 </tr> 452</table> 453<table cellspacing=5 cellpadding=0 border=0> 454 <tr> 455 <td> 456 457 </td> 458 <td> 459 460<p> 461Returns the element type for the last element returned <dl compact><dt><b>Returns: </b></dt><dd> 462see enumeration above for more info. </dl> </td> 463 </tr> 464</table> 465<a name="a6" doxytag="Oscl_FileFind::GetLastError"></a><p> 466<table width="100%" cellpadding="2" cellspacing="0" border="0"> 467 <tr> 468 <td class="md"> 469 <table cellpadding="0" cellspacing="0" border="0"> 470 <tr> 471 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOscl__FileFind.html#s13">error_type</a> Oscl_FileFind::GetLastError </td> 472 <td class="md" valign="top">( </td> 473 <td class="mdname1" valign="top" nowrap> </td> 474 <td class="md" valign="top">) </td> 475 <td class="md" nowrap></td> 476 </tr> 477 478 </table> 479 </td> 480 </tr> 481</table> 482<table cellspacing=5 cellpadding=0 border=0> 483 <tr> 484 <td> 485 486 </td> 487 <td> 488 489<p> 490Returns the error code for the last operation. <dl compact><dt><b>Returns: </b></dt><dd> 491see enumeration above for more info. </dl> </td> 492 </tr> 493</table> 494<hr>The documentation for this class was generated from the following file:<ul> 495<li><a class="el" href="oscl__file__find_8h-source.html">oscl_file_find.h</a></ul> 496<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 497<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 498</small></address> 499</body> 500</html> 501