This is the documentation for Enlighten.

namespace Geo PathUtils

Geo::PathUtils

Functions to handle file path creation and modification.

Functions

Name Description
AppendFileSeparator(GeoFileString &)

This will append a \ (or /) to the end of the string if one isn't already there.

Canonicalize(const char *)

This will standardise a filename to the appropriate platform.

Canonicalize(const Geo::GeoFileString &)

This will standardise a filename to the appropriate platform.

CropAfterFileExtension(GeoFileString &)

This will remove the string beyond and including the last .

CropAfterLastFileSeparator(GeoFileString &)

This will remove the string beyond and including the last file separator if there is one.

CropBeforeFileExtension(GeoFileString &)

This will remove the string upto and including the last .

CropBeforeLastFileSeparator(GeoFileString &)

This will remove the string up to and including the last file separator if there is one.

ExtractArguments(GeoFileString, GeoArray< GeoFileString >)

This function breaks arguments up into tokens and handles filenames with spaces by using quotes.

ExtractDirectories(const GeoFileString &, GeoFileString)

Splits a given path into an array of directory names.

GetApplicationPath()

Returns the path to the application being executed. May not be available outside Windows platform.

GetCurrentPath()

Returns the current working folder. May not be available outside Windows platform.

GetDirectoryName(const GeoFileString &)

This will remove the string beyond and including the last file separator if there is one.

GetDriveName(const GeoFileString &)

Extracts the drive letter of a given path. Valid only on platforms with multiple filesystem roots.

GetEnvString(const char *)

Retrieves the value of an Environment variable. May not be available outside Windows platform.

GetFileName(const GeoFileString &)

This will remove the string before and including the last file separator if there is one.

GetFileNameWithoutExtension(const GeoFileString &)

This will remove the string before and including the last file separator if there is one.

GetSandboxDataPath()

Returns the path to the application's data path, for platforms that provide application sandboxes.

GetTemporaryPath()

Returns the temporary folder (e.g. C:\Windows\Temp). May not be available outside Windows platform.

GetWindowsPath()

Returns the path to the Windows folder. Not available outside Windows platform.

IsAbsoluteFilePath(const char *)

Returns the true if file string is an absolute path to a file, and false if it is relative.

MakePathRelative(GeoFileString &, const GeoFileString &)

Make path relative wrt.

NormalizeFileSeparators(GeoFileString &, char)

This will normalize file separators to the system default, or the given slash character if provided.

RemoveTrailingFileSeparators(GeoFileString &)

This will remove \ (or /) characters from the end of the string if present.

SetSandboxDataPath(const char *)

Sets the path to the application's data path, for platforms that provide application sandboxes.


bool Geo::PathUtils::AppendFileSeparator


public: bool AppendFileSeparator
(
    GeoFileString & path
)


This will append a \ (or /) to the end of the string if one isn't already there.


GeoFileString Geo::PathUtils::Canonicalize


public: GeoFileString Canonicalize
(
    const char * in
)


This will standardise a filename to the appropriate platform.


GeoFileString Geo::PathUtils::Canonicalize


public: GeoFileString Canonicalize
(
    const Geo::GeoFileString & in
)


This will standardise a filename to the appropriate platform.


bool Geo::PathUtils::CropAfterFileExtension


public: bool CropAfterFileExtension
(
    GeoFileString & path
)


This will remove the string beyond and including the last .

if there is one. If there isn't one it won't do anything.

Returns

True if the string was cropped.


bool Geo::PathUtils::CropAfterLastFileSeparator


public: bool CropAfterLastFileSeparator
(
    GeoFileString & path
)


This will remove the string beyond and including the last file separator if there is one.

If there isn't one it won't do anything.

Returns

True if the string was cropped.


bool Geo::PathUtils::CropBeforeFileExtension


public: bool CropBeforeFileExtension
(
    GeoFileString & path
)


This will remove the string upto and including the last .

if there is one. If there isn't one it won't do anything.

Returns

True if the string was cropped.


bool Geo::PathUtils::CropBeforeLastFileSeparator


public: bool CropBeforeLastFileSeparator
(
    GeoFileString & path
)


This will remove the string up to and including the last file separator if there is one.

If there isn't one it won't do anything.

Returns

True if the string was cropped.


GeoArray<GeoFileString> Geo::PathUtils::ExtractArguments


public: GeoArray< GeoFileString > ExtractArguments
(
    GeoFileString commandlineParams,
    GeoArray< GeoFileString > argArray
)


This function breaks arguments up into tokens and handles filenames with spaces by using quotes.


Geo::s32 Geo::PathUtils::ExtractDirectories


public: Geo::s32 ExtractDirectories
(
    const GeoFileString & path,
    GeoFileString dirs
)


Splits a given path into an array of directory names.

Parameters
[in] path

The path to split.

[inout] dirs

The resulting directory names. The final filename section is discarded.

Returns

The number of entries in the dirs array.

Note

This function is extremely dangerous as it makes no attempt to range check before adding to the dirs array. As a consequence, if the dirs array is too short, it will trash memory. The function should be modified to add a maxDirs parameter.


GeoFileString Geo::PathUtils::GetApplicationPath


public: GeoFileString GetApplicationPath()


Returns the path to the application being executed. May not be available outside Windows platform.


GeoFileString Geo::PathUtils::GetCurrentPath


public: GeoFileString GetCurrentPath()


Returns the current working folder. May not be available outside Windows platform.


GeoFileString Geo::PathUtils::GetDirectoryName


public: GeoFileString GetDirectoryName
(
    const GeoFileString & path
)


This will remove the string beyond and including the last file separator if there is one.

If there isn't one it won't do anything.


GeoFileString Geo::PathUtils::GetDriveName


public: GeoFileString GetDriveName
(
    const GeoFileString & path
)


Extracts the drive letter of a given path. Valid only on platforms with multiple filesystem roots.


GeoFileString Geo::PathUtils::GetEnvString


public: GeoFileString GetEnvString
(
    const char * envName
)


Retrieves the value of an Environment variable. May not be available outside Windows platform.


GeoFileString Geo::PathUtils::GetFileName


public: GeoFileString GetFileName
(
    const GeoFileString & path
)


This will remove the string before and including the last file separator if there is one.

If there isn't one it won't do anything.


GeoFileString Geo::PathUtils::GetFileNameWithoutExtension


public: GeoFileString GetFileNameWithoutExtension
(
    const GeoFileString & path
)


This will remove the string before and including the last file separator if there is one.

This will remove the string beyond and including the last . if there is one. If there isn't one it won't do anything.


GeoFileString Geo::PathUtils::GetSandboxDataPath


public: GeoFileString GetSandboxDataPath()


Returns the path to the application's data path, for platforms that provide application sandboxes.


GeoFileString Geo::PathUtils::GetTemporaryPath


public: GeoFileString GetTemporaryPath()


Returns the temporary folder (e.g. C:\Windows\Temp). May not be available outside Windows platform.


GeoFileString Geo::PathUtils::GetWindowsPath


public: GeoFileString GetWindowsPath()


Returns the path to the Windows folder. Not available outside Windows platform.


bool Geo::PathUtils::IsAbsoluteFilePath


public: bool IsAbsoluteFilePath
(
    const char * path
)


Returns the true if file string is an absolute path to a file, and false if it is relative.


bool Geo::PathUtils::MakePathRelative


public: bool MakePathRelative
(
    GeoFileString & path,
    const GeoFileString & relativeTo
)


Make path relative wrt.

relativeTo.

Note

relativeTo must be an absolute path.


void Geo::PathUtils::NormalizeFileSeparators


public: void NormalizeFileSeparators
(
    GeoFileString & path,
    char slash
)


This will normalize file separators to the system default, or the given slash character if provided.


bool Geo::PathUtils::RemoveTrailingFileSeparators


public: bool RemoveTrailingFileSeparators
(
    GeoFileString & path
)


This will remove \ (or /) characters from the end of the string if present.


void Geo::PathUtils::SetSandboxDataPath


public: void SetSandboxDataPath
(
    const char * appDataPath
)


Sets the path to the application's data path, for platforms that provide application sandboxes.

Should be called at application start, before client code queries it.