Zen API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kPath Class Reference

Description

Collection of path manipulation functions.

Most of the functions in this class expect paths to be in normal form (canonical separator character, no trailing slashes). The kPath_ToNormal function can be used to normalize paths prior to calling other kPath functions.

The kPath_ToNative function can be used to transform a path in normal form to a form suitable for the underlying system (native separator).

Inheritance diagram for kPath:
Inheritance graph

Public Member Functions

kStatus kPath_Application (const kChar *appName, kChar *appPath, kSize capacity)
 Given a application name (e.g. More...
 
kStatus kPath_ApplicationName (const kChar *appName, kChar *fileName, kSize capacity)
 Given a application name (e.g. More...
 
kStatus kPath_BaseName (const kChar *path, kChar *baseName, kSize capacity)
 Given a file path, returns the base name by stripping the parent directory portion. More...
 
kStatus kPath_Combine (const kChar *segment1, const kChar *segment2, kChar *path, kSize capacity)
 Combines two path segments using the normalized path separator character. More...
 
kStatus kPath_Directory (const kChar *path, kChar *directory, kSize capacity)
 Returns the parent directory for a given file or directory path. More...
 
kStatus kPath_Extension (const kChar *path, kChar *extension, kSize capacity)
 Given a file path, returns the portion of the path containing the file extension. More...
 
kStatus kPath_FileName (const kChar *path, kChar *fileName, kSize capacity)
 Given a file path, returns the portion of the path containing the file name. More...
 
kBool kPath_IsAbsolute (const kChar *path)
 Determines whether the provided path in an absolute path. More...
 
kBool kPath_IsFileNameValid (const kChar *fileName)
 Reports whether the provided file name is valid. More...
 
kBool kPath_IsSeparator (kChar ch)
 Determines if the given character is equal to the normalized path separator. More...
 
kStatus kPath_LibraryName (const kChar *libraryName, kChar *fileName, kSize capacity)
 Given a library name (e.g. More...
 
kStatus kPath_Plugin (const kChar *pluginName, kChar *pluginPath, kSize capacity)
 Given a plugin name (e.g. More...
 
kChar kPath_Separator ()
 Returns the normalized path separator character. More...
 
kStatus kPath_StripExtension (const kChar *path, kChar *strippedPath, kSize capacity)
 Given a file path, returns the portion of the path excluding the file extension. More...
 
kStatus kPath_ToAbsolute (const kChar *pathA, const kChar *bRelativeToA, kChar *pathB, kSize capacity)
 Finds the absolute path expressed by the combination of an absolute path and a relative path. More...
 
kStatus kPath_ToCanonical (const kChar *path, kChar *normalized, kSize capacity)
 Transforms all path separators to normal form, canonicalizes the path by collapsing redundant separators and removes trailing slashes. More...
 
kStatus kPath_ToNative (const kChar *path, kChar *native, kSize capacity)
 Transforms all path separators to native form. More...
 
kStatus kPath_ToNormal (const kChar *path, kChar *normalized, kSize capacity)
 Transforms all path separators to normal form and removes trailing slashes. More...
 
kStatus kPath_ToRelative (const kChar *pathA, const kChar *pathB, kChar *bRelativeToA, kSize capacity)
 Expresses an absolute path in relative form, in relation to a reference path. More...
 
- Public Member Functions inherited from kObject
kAlloc kObject_Alloc (kObject object)
 Gets the memory allocator associated with this object. More...
 
kAllocTrait kObject_AllocTraits (kObject object)
 Gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More...
 
kStatus kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator)
 Constructs a new object by copying an existing object, including any aggregated child elements. More...
 
kStatus kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator, kAlloc valueAllocator, kObject context=kNULL)
 Constructs a new object by copying an existing object, including any aggregated child elements. More...
 
kStatus kObject_Destroy (kObject object)
 Destroys the object. More...
 
kStatus kObject_Dispose (kObject object)
 Destroys the object and any aggregated child elements. More...
 
kBool kObject_Equals (kObject object, kObject other)
 Determines whether the object is equal to another object. More...
 
kBool kObject_HasForeignData (kObject object)
 Reports whether the object, including aggregated child elements, contains any foreign memory references. More...
 
kSize kObject_HashCode (kObject object)
 Gets a hash code representing the state of this object. More...
 
kBool kObject_HasShared (kObject object)
 Reports whether an object or any of its aggregated child elements has a reference count greater than one. More...
 
kBool kObject_Is (kObject object, kType type)
 Determines whether this object is an instance of the specified type. More...
 
kBool kObject_IsShared (kObject object)
 Reports whether the object is currently shared (reference count greater than one). More...
 
kStatus kObject_SetPool (kObject object, kObjectPool pool)
 Sets the object pool associated with this object. More...
 
kStatus kObject_Share (kObject object)
 Increments the reference count associated with this object. More...
 
kSize kObject_Size (kObject object)
 Estimates the memory consumed by this object, including any aggregated child elements. More...
 
kType kObject_Type (kObject object)
 Returns the type of the object. More...
 

Related

#define kPATH_MAX
 Maximum supported path length.
 

Additional Inherited Members

- Protected Member Functions inherited from kObject
kStatus kObject_FreeMem (kObject object, void *mem)
 Protected method called by derived classes to free memory using the object's allocator. More...
 
kStatus kObject_FreeMemRef (kObject object, void *mem)
 Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More...
 
kStatus kObject_GetMem (kObject object, kSize size, void *mem)
 Protected method called by derived classes to allocate memory using the object's allocator. More...
 
kStatus kObject_GetMemZero (kObject object, kSize size, void *mem)
 Protected method called by derived classes to allocate and zero memory using the object's allocator. More...
 
kStatus kObject_Init (kObject object, kType type, kAlloc alloc)
 Protected method called by derived classes to initialize the kObject base class. More...
 
kAllocTrait kObject_VAllocTraits (kObject object)
 Protected virtual method that gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More...
 
kStatus kObject_VClone (kObject object, kObject source, kAlloc valueAllocator, kObject context)
 Protected virtual method that clones (makes a deep copy of) the specified source object. More...
 
kStatus kObject_VDisposeItems (kObject object)
 Protected virtual method that destroys any aggregated child objects associated with a collection. More...
 
kBool kObject_VEquals (kObject object, kObject other)
 Protected virtual method that compares two objects for equality. More...
 
kSize kObject_VHashCode (kObject object)
 Protected virtual method that calculates a hash code representing the object instance. More...
 
kBool kObject_VHasShared (kObject object)
 Protected virtual method that reports whether an object or any of its aggregated child elements has a reference count greater than one. More...
 
kStatus kObject_VRelease (kObject object)
 Protected virtual method that deallocates any resources owned by the object. More...
 
kSize kObject_VSize (kObject object)
 Protected virtual method that calculates the total size (in bytes) of the object instance. More...
 

The documentation for this class was generated from the following file: