le_pathIter.h
Go to the documentation of this file.
2 //--------------------------------------------------------------------------------------------------86 * Absolute paths begin with one or more separators. Relative paths do not begin with a separator.92 * you can iterate to a node in the path and use @c le_pathIter_Truncate() to truncate everything at93 * and after that point. While you can use @c le_pathIter_Append() to add new path nodes at the end141 //--------------------------------------------------------------------------------------------------149 //--------------------------------------------------------------------------------------------------155 //--------------------------------------------------------------------------------------------------159 //--------------------------------------------------------------------------------------------------163 //--------------------------------------------------------------------------------------------------165 * Create a new path iterator object. On creation, the default position of the iterator is at the170 //--------------------------------------------------------------------------------------------------184 //--------------------------------------------------------------------------------------------------197 //--------------------------------------------------------------------------------------------------205 //--------------------------------------------------------------------------------------------------211 //--------------------------------------------------------------------------------------------------218 //--------------------------------------------------------------------------------------------------222 //--------------------------------------------------------------------------------------------------229 //--------------------------------------------------------------------------------------------------233 //--------------------------------------------------------------------------------------------------242 //--------------------------------------------------------------------------------------------------244 * Read the string that represents parent nodes in a path string. By for Unix style paths this is248 //--------------------------------------------------------------------------------------------------257 //--------------------------------------------------------------------------------------------------259 * Read the iterators string for the current node specifier. For Unix style paths for this is ".".260 * If an empty string is used, then this is ignored for the purposes of appending and normalizing263 //--------------------------------------------------------------------------------------------------272 //--------------------------------------------------------------------------------------------------279 //--------------------------------------------------------------------------------------------------288 //--------------------------------------------------------------------------------------------------295 //--------------------------------------------------------------------------------------------------302 //--------------------------------------------------------------------------------------------------309 //--------------------------------------------------------------------------------------------------316 //--------------------------------------------------------------------------------------------------323 //--------------------------------------------------------------------------------------------------330 //--------------------------------------------------------------------------------------------------334 * @return LE_OK if the iterator was successfuly moved, LE_NOT_FOUND if there are no prior nodes to337 //--------------------------------------------------------------------------------------------------344 //--------------------------------------------------------------------------------------------------354 //--------------------------------------------------------------------------------------------------363 //--------------------------------------------------------------------------------------------------371 //--------------------------------------------------------------------------------------------------378 //--------------------------------------------------------------------------------------------------386 * @note Appending a non-relative path onto an existing path effectivly replaces the current path,390 * @note This will automatically reset the internal iterator to point at the end of the newly formed401 //--------------------------------------------------------------------------------------------------409 //--------------------------------------------------------------------------------------------------413 * @return True if the path is absolute, that is that it begins with a separator. False if the path416 //--------------------------------------------------------------------------------------------------423 //--------------------------------------------------------------------------------------------------429 //--------------------------------------------------------------------------------------------------LE_FULL_API void le_pathIter_Delete(le_pathIter_Ref_t iterRef)LE_FULL_API le_result_t le_pathIter_GetSeparator(le_pathIter_Ref_t iterRef, char *bufferPtr, size_t bufferSize)LE_FULL_API le_result_t le_pathIter_GetPath(le_pathIter_Ref_t iterRef, char *bufferPtr, size_t bufferSize)LE_FULL_API le_result_t le_pathIter_GoToEnd(le_pathIter_Ref_t iterRef)LE_FULL_API bool le_pathIter_IsAbsolute(le_pathIter_Ref_t iterRef)LE_FULL_API le_pathIter_Ref_t le_pathIter_Clone(le_pathIter_Ref_t originalRef)LE_FULL_API le_result_t le_pathIter_GetCurrentSpecifier(le_pathIter_Ref_t iterRef, char *bufferPtr, size_t bufferSize)LE_FULL_API le_result_t le_pathIter_GetParentSpecifier(le_pathIter_Ref_t iterRef, char *bufferPtr, size_t bufferSize)LE_FULL_API le_result_t le_pathIter_GoToNext(le_pathIter_Ref_t iterRef)LE_FULL_API le_result_t le_pathIter_GoToPrev(le_pathIter_Ref_t iterRef)LE_FULL_API le_pathIter_Ref_t le_pathIter_Create(const char *pathPtr, const char *separatorPtr, const char *parentSpecPtr, const char *currentSpecPtr)LE_FULL_API bool le_pathIter_IsEmpty(le_pathIter_Ref_t iterRef)LE_FULL_API le_pathIter_Ref_t le_pathIter_CreateForUnix(const char *pathPtr)LE_FULL_API le_result_t le_pathIter_Append(le_pathIter_Ref_t iterRef, const char *pathStr)LE_FULL_API le_result_t le_pathIter_GoToStart(le_pathIter_Ref_t iterRef)LE_FULL_API le_result_t le_pathIter_GetCurrentNode(le_pathIter_Ref_t iterRef, char *bufferPtr, size_t bufferSize)LE_FULL_API void le_pathIter_Truncate(le_pathIter_Ref_t iterRef)