# FoundationClasses
TKernel
OSD

# OSD_Path Class Reference

`#include <OSD_Path.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | OSD_Path ()
| Creates a Path object initialized to an empty string. i.e. current directory. .
Standard_EXPORT | OSD_Path (const TCollection_AsciiString &aDependentName, const OSD_SysType aSysType=OSD_Default)

Creates a Path object initialized by dependant path.
ex: OSD_Path me ("/usr/bin/myprog.sh",OSD_UnixBSD);
OSD_Path me ("sys$common:[syslib]cc.exe",OSD_OSF) will
raise a ProgramError due to invalid name for this
type of system.
In order to avoid a 'ProgramError' , use IsValid(...)
to ensure you the validity of <adependentname>.
Raises ConstructionError when the path is either null
or contains characters not in range of ' '...'~'.
.

Standard_EXPORT | OSD_Path (const TCollection_AsciiString &aNode, const TCollection_AsciiString &aUsername, const TCollection_AsciiString &aPassword, const TCollection_AsciiString &aDisk, const TCollection_AsciiString &aTrek, const TCollection_AsciiString &aName, const TCollection_AsciiString &anExtension)
| Initializes a system independent path. By default , the Path conversion will be assumed using currently used system. A special syntax is used to specify a "aTrek" in an independent manner : a "|" represents directory separator a "^" means directory above (father) examples: "|usr|bin" - On UNIX -> "/usr/bin" - On VMS -> "[usr.bin]" - On MSDOS-> "\usr\bin" - On MacOs-> ": usr : bin" .
Standard_EXPORT void | Values (TCollection_AsciiString &aNode, TCollection_AsciiString &aUsername, TCollection_AsciiString &aPassword, TCollection_AsciiString &aDisk, TCollection_AsciiString &aTrek, TCollection_AsciiString &aName, TCollection_AsciiString &anExtension) const
| Gets each component of a path. .
Standard_EXPORT void | SetValues (const TCollection_AsciiString &aNode, const TCollection_AsciiString &aUsername, const TCollection_AsciiString &aPassword, const TCollection_AsciiString &aDisk, const TCollection_AsciiString &aTrek, const TCollection_AsciiString &aName, const TCollection_AsciiString &anExtension)
| Sets each component of a path. .
Standard_EXPORT void | SystemName (TCollection_AsciiString &FullName, const OSD_SysType aType=OSD_Default) const

Returns system dependent path
<atype> is one among Unix,VMS ...
This function is not private because you may need to
display system dependent path on a front-end.
It can be useful when communicating with another system.
For instance when you want to communicate between VMS and Unix
to transfer files, or to do a remote procedure call
using files.
example :
OSD_Path myPath ("sparc4", "sga", "secret_passwd",
"$5$dkb100","|users|examples");
Internal ( Dependent_name );
On UNIX sga"secret_passwd":/users/examples
On VMS sparc4"sga secret_passwd"::$5$dkb100:[users.examples]
//! Sets each component of a Path giving its system dependent name.
.

Standard_EXPORT void | ExpandedName (TCollection_AsciiString &aName)
| Returns system dependent path resolving logical symbols. .
Standard_EXPORT Standard_Boolean | IsValid (const TCollection_AsciiString &aDependentName, const OSD_SysType aSysType=OSD_Default) const
| Returns TRUE if <adependentname> is valid for this SysType. .
Standard_EXPORT void | UpTrek ()
| This removes the last directory name in <atrek> and returns result. ex: me = "|usr|bin|todo.sh" me.UpTrek() gives me = "|usr|todo.sh" if <me> contains "|", me.UpTrek() will give again "|" without any error. .
Standard_EXPORT void | DownTrek (const TCollection_AsciiString &aName)
| This appends a directory name into the Trek. ex: me = "|usr|todo.sh" me.DownTrek("bin") gives me = "|usr|bin|todo.sh". .
Standard_EXPORT Standard_Integer | TrekLength () const
| Returns number of components in Trek of <me>. ex: me = "|usr|sys|etc|bin" me.TrekLength() returns 4. .
Standard_EXPORT void | RemoveATrek (const Standard_Integer where)
| This removes a component of Trek in <me> at position <where>. The first component of Trek is numbered 1. ex: me = "|usr|bin|" me.RemoveATrek(1) gives me = "|bin|" To avoid a 'NumericError' because of a bad <where>, use TrekLength() to know number of components of Trek in <me>. .
Standard_EXPORT void | RemoveATrek (const TCollection_AsciiString &aName)
| This removes <aname> from <me> in Trek. No error is raised if <aname> is not in <me>. ex: me = "|usr|sys|etc|doc" me.RemoveATrek("sys") gives me = "|usr|etc|doc". .
Standard_EXPORT TCollection_AsciiString | TrekValue (const Standard_Integer where) const
| Returns component of Trek in <me> at position <where>. ex: me = "|usr|bin|sys|" me.TrekValue(2) returns "bin" .
Standard_EXPORT void | InsertATrek (const TCollection_AsciiString &aName, const Standard_Integer where)
| This inserts <aname> at position <where> into Trek of <me>. ex: me = "|usr|etc|" me.InsertATrek("sys",2) gives me = "|usr|sys|etc" .
Standard_EXPORT TCollection_AsciiString | Node () const
| Returns Node of <me>. .
Standard_EXPORT TCollection_AsciiString | UserName () const
| Returns UserName of <me>. .
Standard_EXPORT TCollection_AsciiString | Password () const
| Returns Password of <me>. .
Standard_EXPORT TCollection_AsciiString | Disk () const
| Returns Disk of <me>. .
Standard_EXPORT TCollection_AsciiString | Trek () const
| Returns Trek of <me>. .
Standard_EXPORT TCollection_AsciiString | Name () const
| Returns file name of <me>. If <me> hasn't been initialized, it returns an empty AsciiString. .
Standard_EXPORT TCollection_AsciiString | Extension () const
| Returns my extension name. This returns an empty string if path contains no file name. .
Standard_EXPORT void | SetNode (const TCollection_AsciiString &aName)
| Sets Node of <me>. .
Standard_EXPORT void | SetUserName (const TCollection_AsciiString &aName)
| Sets UserName of <me>. .
Standard_EXPORT void | SetPassword (const TCollection_AsciiString &aName)
| Sets Password of <me>. .
Standard_EXPORT void | SetDisk (const TCollection_AsciiString &aName)
| Sets Disk of <me>. .
Standard_EXPORT void | SetTrek (const TCollection_AsciiString &aName)
| Sets Trek of <me>. .
Standard_EXPORT void | SetName (const TCollection_AsciiString &aName)
| Sets file name of <me>. If <me> hasn't been initialized, it returns an empty AsciiString. .
Standard_EXPORT void | SetExtension (const TCollection_AsciiString &aName)
| Sets my extension name. .
Standard_EXPORT Standard_Boolean | LocateExecFile (OSD_Path &aPath)
| Finds the full path of an executable file, like the "which" Unix utility. Uses the path environment variable. Returns False if executable file not found. .

## Static Public Member Functions

static Standard_EXPORT TCollection_AsciiString | RelativePath (const TCollection_AsciiString &DirPath, const TCollection_AsciiString &AbsFilePath)
| Returns the relative file path between the absolute directory path <dirpath> and the absolute file path <absfilepath>. If <dirpath> starts with "/", pathes are handled as on Unix, if it starts with a letter followed by ":", as on WNT. In particular on WNT directory names are not key sensitive. If handling fails, an empty string is returned. .
static Standard_EXPORT TCollection_AsciiString | AbsolutePath (const TCollection_AsciiString &DirPath, const TCollection_AsciiString &RelFilePath)
| Returns the absolute file path from the absolute directory path <dirpath> and the relative file path returned by RelativePath(). If the RelFilePath is an absolute path, it is returned and the directory path is ignored. If handling fails, an empty string is returned. .

## Private Attributes

TCollection_AsciiString | myNode
TCollection_AsciiString | myUserName
TCollection_AsciiString | myPassword
TCollection_AsciiString | myDisk
TCollection_AsciiString | myTrek
TCollection_AsciiString | myName
TCollection_AsciiString | myExtension
Standard_Boolean | myUNCFlag
OSD_SysType | SysDep

## Constructor & Destructor Documentation

Standard_EXPORT OSD_Path::OSD_Path | ( |  | ) |

Standard_EXPORT OSD_Path::OSD_Path | ( | const TCollection_AsciiString & | aDependentName,
|  | const OSD_SysType | aSysType = `OSD_Default`
| ) |

Standard_EXPORT OSD_Path::OSD_Path | ( | const TCollection_AsciiString & | aNode,
|  | const TCollection_AsciiString & | aUsername,
|  | const TCollection_AsciiString & | aPassword,
|  | const TCollection_AsciiString & | aDisk,
|  | const TCollection_AsciiString & | aTrek,
|  | const TCollection_AsciiString & | aName,
|  | const TCollection_AsciiString & | anExtension
| ) |

## Member Function Documentation

static Standard_EXPORT TCollection_AsciiString OSD_Path::AbsolutePath | ( | const TCollection_AsciiString & | DirPath,
|  | const TCollection_AsciiString & | RelFilePath
| ) | `[static]`

Standard_EXPORT TCollection_AsciiString OSD_Path::Disk | ( |  | ) | const

Standard_EXPORT void OSD_Path::DownTrek | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::ExpandedName | ( | TCollection_AsciiString & | aName | ) |

Standard_EXPORT TCollection_AsciiString OSD_Path::Extension | ( |  | ) | const

Standard_EXPORT void OSD_Path::InsertATrek | ( | const TCollection_AsciiString & | aName,
|  | const Standard_Integer | where
| ) |

Standard_EXPORT Standard_Boolean OSD_Path::IsValid | ( | const TCollection_AsciiString & | aDependentName,
|  | const OSD_SysType | aSysType = `OSD_Default`
| ) | const

Standard_EXPORT Standard_Boolean OSD_Path::LocateExecFile | ( | OSD_Path & | aPath | ) |

Standard_EXPORT TCollection_AsciiString OSD_Path::Name | ( |  | ) | const

Standard_EXPORT TCollection_AsciiString OSD_Path::Node | ( |  | ) | const

void OSD_Path::operator delete | ( | void * | anAddress | ) | `[inline]`

void* OSD_Path::operator new | ( | size_t | size | ) | `[inline]`

void* OSD_Path::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Standard_EXPORT TCollection_AsciiString OSD_Path::Password | ( |  | ) | const

static Standard_EXPORT TCollection_AsciiString OSD_Path::RelativePath | ( | const TCollection_AsciiString & | DirPath,
|  | const TCollection_AsciiString & | AbsFilePath
| ) | `[static]`

Standard_EXPORT void OSD_Path::RemoveATrek | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::RemoveATrek | ( | const Standard_Integer | where | ) |

Standard_EXPORT void OSD_Path::SetDisk | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetExtension | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetName | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetNode | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetPassword | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetTrek | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetUserName | ( | const TCollection_AsciiString & | aName | ) |

Standard_EXPORT void OSD_Path::SetValues | ( | const TCollection_AsciiString & | aNode,
|  | const TCollection_AsciiString & | aUsername,
|  | const TCollection_AsciiString & | aPassword,
|  | const TCollection_AsciiString & | aDisk,
|  | const TCollection_AsciiString & | aTrek,
|  | const TCollection_AsciiString & | aName,
|  | const TCollection_AsciiString & | anExtension
| ) |

Standard_EXPORT void OSD_Path::SystemName | ( | TCollection_AsciiString & | FullName,
|  | const OSD_SysType | aType = `OSD_Default`
| ) | const

Standard_EXPORT TCollection_AsciiString OSD_Path::Trek | ( |  | ) | const

Standard_EXPORT Standard_Integer OSD_Path::TrekLength | ( |  | ) | const

Standard_EXPORT TCollection_AsciiString OSD_Path::TrekValue | ( | const Standard_Integer | where | ) | const

Standard_EXPORT void OSD_Path::UpTrek | ( |  | ) |

Standard_EXPORT TCollection_AsciiString OSD_Path::UserName | ( |  | ) | const

Standard_EXPORT void OSD_Path::Values | ( | TCollection_AsciiString & | aNode,
|  | TCollection_AsciiString & | aUsername,
|  | TCollection_AsciiString & | aPassword,
|  | TCollection_AsciiString & | aDisk,
|  | TCollection_AsciiString & | aTrek,
|  | TCollection_AsciiString & | aName,
|  | TCollection_AsciiString & | anExtension
| ) | const

## Field Documentation

TCollection_AsciiString OSD_Path::myDisk `[private]`

TCollection_AsciiString OSD_Path::myExtension `[private]`

TCollection_AsciiString OSD_Path::myName `[private]`

TCollection_AsciiString OSD_Path::myNode `[private]`

TCollection_AsciiString OSD_Path::myPassword `[private]`

TCollection_AsciiString OSD_Path::myTrek `[private]`

Standard_Boolean OSD_Path::myUNCFlag `[private]`

TCollection_AsciiString OSD_Path::myUserName `[private]`

OSD_SysType OSD_Path::SysDep `[private]`

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

- OSD_Path.hxx