00001 00002 //-------------------------------------------------------------------------------------------------- 00146 //-------------------------------------------------------------------------------------------------- 00154 //-------------------------------------------------------------------------------------------------- 00155 00156 #ifndef LEGATO_PATH_ITER_INCLUDE_GUARD 00157 #define LEGATO_PATH_ITER_INCLUDE_GUARD 00158 00159 00160 //-------------------------------------------------------------------------------------------------- 00164 //-------------------------------------------------------------------------------------------------- 00165 typedef struct le_pathIter_t* le_pathIter_Ref_t; 00166 00167 00168 //-------------------------------------------------------------------------------------------------- 00175 //-------------------------------------------------------------------------------------------------- 00176 le_pathIter_Ref_t le_pathIter_Create 00177 ( 00178 const char* pathPtr, 00179 const char* separatorPtr, 00180 00181 const char* parentSpecPtr, 00182 00183 00184 const char* currentSpecPtr 00185 00186 ); 00187 00188 00189 //-------------------------------------------------------------------------------------------------- 00202 //-------------------------------------------------------------------------------------------------- 00203 le_pathIter_Ref_t le_pathIter_CreateForUnix 00204 ( 00205 const char* pathPtr 00206 00207 ); 00208 00209 00210 //-------------------------------------------------------------------------------------------------- 00216 //-------------------------------------------------------------------------------------------------- 00217 le_pathIter_Ref_t le_pathIter_Clone 00218 ( 00219 le_pathIter_Ref_t originalRef 00220 ); 00221 00222 00223 //-------------------------------------------------------------------------------------------------- 00227 //-------------------------------------------------------------------------------------------------- 00228 void le_pathIter_Delete 00229 ( 00230 le_pathIter_Ref_t iterRef 00231 ); 00232 00233 00234 //-------------------------------------------------------------------------------------------------- 00238 //-------------------------------------------------------------------------------------------------- 00239 le_result_t le_pathIter_GetSeparator 00240 ( 00241 le_pathIter_Ref_t iterRef, 00242 char* bufferPtr, 00243 size_t bufferSize 00244 ); 00245 00246 00247 //-------------------------------------------------------------------------------------------------- 00253 //-------------------------------------------------------------------------------------------------- 00254 le_result_t le_pathIter_GetParentSpecifier 00255 ( 00256 le_pathIter_Ref_t iterRef, 00257 char* bufferPtr, 00258 size_t bufferSize 00259 ); 00260 00261 00262 //-------------------------------------------------------------------------------------------------- 00268 //-------------------------------------------------------------------------------------------------- 00269 le_result_t le_pathIter_GetCurrentSpecifier 00270 ( 00271 le_pathIter_Ref_t iterRef, 00272 char* bufferPtr, 00273 size_t bufferSize 00274 ); 00275 00276 00277 //-------------------------------------------------------------------------------------------------- 00284 //-------------------------------------------------------------------------------------------------- 00285 le_result_t le_pathIter_GetPath 00286 ( 00287 le_pathIter_Ref_t iterRef, 00288 char* bufferPtr, 00289 size_t bufferSize 00290 ); 00291 00292 00293 //-------------------------------------------------------------------------------------------------- 00300 //-------------------------------------------------------------------------------------------------- 00301 le_result_t le_pathIter_GoToStart 00302 ( 00303 le_pathIter_Ref_t iterRef 00304 ); 00305 00306 00307 //-------------------------------------------------------------------------------------------------- 00314 //-------------------------------------------------------------------------------------------------- 00315 le_result_t le_pathIter_GoToEnd 00316 ( 00317 le_pathIter_Ref_t iterRef 00318 ); 00319 00320 00321 //-------------------------------------------------------------------------------------------------- 00328 //-------------------------------------------------------------------------------------------------- 00329 le_result_t le_pathIter_GoToNext 00330 ( 00331 le_pathIter_Ref_t iterRef 00332 ); 00333 00334 00335 //-------------------------------------------------------------------------------------------------- 00342 //-------------------------------------------------------------------------------------------------- 00343 le_result_t le_pathIter_GoToPrev 00344 ( 00345 le_pathIter_Ref_t iterRef 00346 ); 00347 00348 00349 //-------------------------------------------------------------------------------------------------- 00359 //-------------------------------------------------------------------------------------------------- 00360 le_result_t le_pathIter_GetCurrentNode 00361 ( 00362 le_pathIter_Ref_t iterRef, 00363 char* bufferPtr, 00364 size_t bufferSize 00365 ); 00366 00367 00368 //-------------------------------------------------------------------------------------------------- 00376 //-------------------------------------------------------------------------------------------------- 00377 void le_pathIter_Truncate 00378 ( 00379 le_pathIter_Ref_t iterRef 00380 ); 00381 00382 00383 //-------------------------------------------------------------------------------------------------- 00406 //-------------------------------------------------------------------------------------------------- 00407 le_result_t le_pathIter_Append 00408 ( 00409 le_pathIter_Ref_t iterRef, 00410 const char* pathStr 00411 ); 00412 00413 00414 //-------------------------------------------------------------------------------------------------- 00421 //-------------------------------------------------------------------------------------------------- 00422 bool le_pathIter_IsAbsolute 00423 ( 00424 le_pathIter_Ref_t iterRef 00425 ); 00426 00427 00428 //-------------------------------------------------------------------------------------------------- 00434 //-------------------------------------------------------------------------------------------------- 00435 bool le_pathIter_IsEmpty 00436 ( 00437 le_pathIter_Ref_t iterRef 00438 ); 00439 00440 00441 #endif // LEGATO_PATH_ITER_INCLUDE_GUARD