Open CASCADE Technology 6.6.0
Public Member Functions | Static Public Member Functions
OSD_Path Class Reference

#include <OSD_Path.hxx>

Public Member Functions

 OSD_Path ()
 Creates a Path object initialized to an empty string.
i.e. current directory.

 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 ' '...'~'.

 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"

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.

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.

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.

void ExpandedName (TCollection_AsciiString &aName)
 Returns system dependent path resolving logical symbols.

Standard_Boolean IsValid (const TCollection_AsciiString &aDependentName, const OSD_SysType aSysType=OSD_Default) const
 Returns TRUE if <aDependentName> is valid for this SysType.

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.

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_Integer TrekLength () const
 Returns number of components in Trek of <me>.
ex: me = "|usr|sys|etc|bin"
me.TrekLength() returns 4.

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>.

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".

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"

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"

TCollection_AsciiString Node () const
 Returns Node of <me>.

TCollection_AsciiString UserName () const
 Returns UserName of <me>.

TCollection_AsciiString Password () const
 Returns Password of <me>.

TCollection_AsciiString Disk () const
 Returns Disk of <me>.

TCollection_AsciiString Trek () const
 Returns Trek of <me>.

TCollection_AsciiString Name () const
 Returns file name of <me>.
If <me> hasn't been initialized, it returns an empty AsciiString.

TCollection_AsciiString Extension () const
 Returns my extension name.
This returns an empty string if path contains no file name.

void SetNode (const TCollection_AsciiString &aName)
 Sets Node of <me>.

void SetUserName (const TCollection_AsciiString &aName)
 Sets UserName of <me>.

void SetPassword (const TCollection_AsciiString &aName)
 Sets Password of <me>.

void SetDisk (const TCollection_AsciiString &aName)
 Sets Disk of <me>.

void SetTrek (const TCollection_AsciiString &aName)
 Sets Trek of <me>.

void SetName (const TCollection_AsciiString &aName)
 Sets file name of <me>.
If <me> hasn't been initialized, it returns an empty AsciiString.

void SetExtension (const TCollection_AsciiString &aName)
 Sets my extension name.

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 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 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.


Constructor & Destructor Documentation

OSD_Path::OSD_Path ( )
OSD_Path::OSD_Path ( const TCollection_AsciiString aDependentName,
const OSD_SysType  aSysType = OSD_Default 
)
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 
)
  • On VMS -> "[usr.bin]"
  • On MSDOS-> "\usr\bin"
  • On MacOs-> ": usr : bin"

    "^|rep" - On UNIX -> "../rep"
  • On VMS -> "[-.rep]"
  • On MSDOS -> "..\rep"
  • On MacOS-> ":: rep"

    "subdir|" - On UNIX -> "subdir/"

On VMS -> "[.subdir.]"


Member Function Documentation

static TCollection_AsciiString OSD_Path::AbsolutePath ( const TCollection_AsciiString DirPath,
const TCollection_AsciiString RelFilePath 
) [static]
TCollection_AsciiString OSD_Path::Disk ( ) const
void OSD_Path::DownTrek ( const TCollection_AsciiString aName)
void OSD_Path::ExpandedName ( TCollection_AsciiString aName)
TCollection_AsciiString OSD_Path::Extension ( ) const
void OSD_Path::InsertATrek ( const TCollection_AsciiString aName,
const Standard_Integer  where 
)
Standard_Boolean OSD_Path::IsValid ( const TCollection_AsciiString aDependentName,
const OSD_SysType  aSysType = OSD_Default 
) const
Standard_Boolean OSD_Path::LocateExecFile ( OSD_Path aPath)
TCollection_AsciiString OSD_Path::Name ( ) const
TCollection_AsciiString OSD_Path::Node ( ) const
TCollection_AsciiString OSD_Path::Password ( ) const
static TCollection_AsciiString OSD_Path::RelativePath ( const TCollection_AsciiString DirPath,
const TCollection_AsciiString AbsFilePath 
) [static]
void OSD_Path::RemoveATrek ( const Standard_Integer  where)
void OSD_Path::RemoveATrek ( const TCollection_AsciiString aName)
void OSD_Path::SetDisk ( const TCollection_AsciiString aName)
void OSD_Path::SetExtension ( const TCollection_AsciiString aName)
void OSD_Path::SetName ( const TCollection_AsciiString aName)
void OSD_Path::SetNode ( const TCollection_AsciiString aName)
void OSD_Path::SetPassword ( const TCollection_AsciiString aName)
void OSD_Path::SetTrek ( const TCollection_AsciiString aName)
void OSD_Path::SetUserName ( const TCollection_AsciiString aName)
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 
)
void OSD_Path::SystemName ( TCollection_AsciiString FullName,
const OSD_SysType  aType = OSD_Default 
) const
TCollection_AsciiString OSD_Path::Trek ( ) const
Standard_Integer OSD_Path::TrekLength ( ) const
TCollection_AsciiString OSD_Path::TrekValue ( const Standard_Integer  where) const
void OSD_Path::UpTrek ( )
TCollection_AsciiString OSD_Path::UserName ( ) const
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

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines