// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _OSD_Path_HeaderFile #define _OSD_Path_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TCollection_AsciiString_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _OSD_SysType_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class Standard_ConstructionError; class Standard_NullObject; class OSD_OSDError; class Standard_NumericError; class Standard_ProgramError; class TCollection_AsciiString; class OSD_Path { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Creates a Path object initialized to an empty string.
//! i.e. current directory.
Standard_EXPORT OSD_Path(); //! 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 .
//! Raises ConstructionError when the path is either null
//! or contains characters not in range of ' '...'~'.
Standard_EXPORT OSD_Path(const TCollection_AsciiString& aDependentName,const OSD_SysType aSysType = OSD_Default); //! 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 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); //! Gets each component of a path.
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; //! Sets 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) ; //! Returns system dependent path
//! 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"@sparc4:/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 SystemName(TCollection_AsciiString& FullName,const OSD_SysType aType = OSD_Default) const; //! Returns system dependent path resolving logical symbols.
Standard_EXPORT void ExpandedName(TCollection_AsciiString& aName) ; //! Returns TRUE if is valid for this SysType.
Standard_EXPORT Standard_Boolean IsValid(const TCollection_AsciiString& aDependentName,const OSD_SysType aSysType = OSD_Default) const; //! This removes the last directory name in
//! and returns result.
//! ex: me = "|usr|bin|todo.sh"
//! me.UpTrek() gives me = "|usr|todo.sh"
//! if contains "|", me.UpTrek() will give again "|"
//! without any error.
Standard_EXPORT void UpTrek() ; //! This appends a directory name into the Trek.
//! ex: me = "|usr|todo.sh"
//! me.DownTrek("bin") gives me = "|usr|bin|todo.sh".
Standard_EXPORT void DownTrek(const TCollection_AsciiString& aName) ; //! Returns number of components in Trek of .
//! ex: me = "|usr|sys|etc|bin"
//! me.TrekLength() returns 4.
Standard_EXPORT Standard_Integer TrekLength() const; //! This removes a component of Trek in at position .
//! 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 , use
//! TrekLength() to know number of components of Trek in .
Standard_EXPORT void RemoveATrek(const Standard_Integer where) ; //! This removes from in Trek.
//! No error is raised if is not in .
//! ex: me = "|usr|sys|etc|doc"
//! me.RemoveATrek("sys") gives me = "|usr|etc|doc".
Standard_EXPORT void RemoveATrek(const TCollection_AsciiString& aName) ; //! Returns component of Trek in at position .
//! ex: me = "|usr|bin|sys|"
//! me.TrekValue(2) returns "bin"
Standard_EXPORT TCollection_AsciiString TrekValue(const Standard_Integer where) const; //! This inserts at position into Trek of .
//! ex: me = "|usr|etc|"
//! me.InsertATrek("sys",2) gives me = "|usr|sys|etc"
Standard_EXPORT void InsertATrek(const TCollection_AsciiString& aName,const Standard_Integer where) ; //! Returns Node of .
Standard_EXPORT TCollection_AsciiString Node() const; //! Returns UserName of .
Standard_EXPORT TCollection_AsciiString UserName() const; //! Returns Password of .
Standard_EXPORT TCollection_AsciiString Password() const; //! Returns Disk of .
Standard_EXPORT TCollection_AsciiString Disk() const; //! Returns Trek of .
Standard_EXPORT TCollection_AsciiString Trek() const; //! Returns file name of .
//! If hasn't been initialized, it returns an empty AsciiString.
Standard_EXPORT TCollection_AsciiString Name() const; //! Returns my extension name.
//! This returns an empty string if path contains no file name.
Standard_EXPORT TCollection_AsciiString Extension() const; //! Sets Node of .
Standard_EXPORT void SetNode(const TCollection_AsciiString& aName) ; //! Sets UserName of .
Standard_EXPORT void SetUserName(const TCollection_AsciiString& aName) ; //! Sets Password of .
Standard_EXPORT void SetPassword(const TCollection_AsciiString& aName) ; //! Sets Disk of .
Standard_EXPORT void SetDisk(const TCollection_AsciiString& aName) ; //! Sets Trek of .
Standard_EXPORT void SetTrek(const TCollection_AsciiString& aName) ; //! Sets file name of .
//! If hasn't been initialized, it returns an empty AsciiString.
Standard_EXPORT void SetName(const TCollection_AsciiString& aName) ; //! Sets my extension name.
Standard_EXPORT void SetExtension(const TCollection_AsciiString& aName) ; //! 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.
Standard_EXPORT Standard_Boolean LocateExecFile(OSD_Path& aPath) ; //! Returns the relative file path between the absolute directory
//! path and the absolute file path .
//! If 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.
Standard_EXPORT static TCollection_AsciiString RelativePath(const TCollection_AsciiString& DirPath,const TCollection_AsciiString& AbsFilePath) ; //! Returns the absolute file path from the absolute directory path
//! 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.
Standard_EXPORT static TCollection_AsciiString AbsolutePath(const TCollection_AsciiString& DirPath,const TCollection_AsciiString& RelFilePath) ; protected: private: 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; }; // other Inline functions and methods (like "C++: function call" methods) #endif