class PFilePath

This class describes a full description for a file on the particular platform.

Inheritance:


Public Methods

[more] Construction
[more] Path addition functions
[more] Path decoding access functions
[more] Miscellaneous functions


Inherited from PFilePathString:


Inherited from PString:

Public Methods

Overrides from class PObject

Overrides from class PContainer

Size/Length functions

Concatenation operators *

Comparison operators

Search & replace functions

Sub-string functions

Conversion functions


Inherited from PCharArray:


Inherited from PBaseArray:

Public Methods

New functions for class


Inherited from PAbstractArray:

Protected Fields

oPINDEX elementSize
ochar* theArray
oBOOL allocatedDynamically


Inherited from PContainer:

Public Methods

Common functions for containers

Protected Methods

ovirtual void DestroyContents()
ovirtual void AssignContents(const PContainer & c)
ovoid CopyContents(const PContainer & c)
ovoid CloneContents(const PContainer* src)
ovoid Destruct()


Inherited from PObject:

Public Methods

Run Time Type functions

I/O functions

Public Members

Comparison functions


Documentation

This class describes a full description for a file on the particular platform. This will always uniquely identify the file on currently mounted volumes.

An empty string for a PFilePath indicates an illegal path.

The ancestor class is dependent on the platform. For file systems that are case sensitive, eg Unix, the ancestor is PString. For other platforms, the ancestor class is PCaselessString.

o Construction

o PFilePath()
Create a file specification object

o PFilePath( const char* cstr )
Create a file specification object with the specified file name.

The string passed in may be a full or partial specification for a file as determined by the platform. It is unusual for this to be a literal string, unless only the file title is specified, as that would be platform specific.

The partial file specification is translated into a canonical form which always absolutely references the file.

Parameters:
- cstr Partial C string for file name.

o PFilePath( const PString & str )
Create a file specification object with the specified file name.

The string passed in may be a full or partial specification for a file as determined by the platform. It is unusual for this to be a literal string, unless only the file title is specified, as that would be platform specific.

The partial file specification is translated into a canonical form which always absolutely references the file.

Parameters:
- str Partial PString for file name.

o PFilePath( const PFilePath & path )
Create a file specification object with the specified file name.
Parameters:
- path Previous path for file name.

o PFilePath( const char* prefix, const char* dir )
Create a file spec object with a generated temporary name. The first parameter is a prefix for the filename to which a unique number is appended. The second parameter is the directory in which the file is to be placed. If this is NULL a system standard directory is used.
Parameters:
prefix - Prefix string for file title.
dir - Directory in which to place the file.

oPFilePath& operator=( const PFilePath & path )
Change the file specification object to the specified file name.
Parameters:
- path Previous path for file name.

oPFilePath& operator=( const PString & str )
Change the file specification object to the specified file name.

The string passed in may be a full or partial specifiaction for a file as determined by the platform. It is unusual for this to be a literal string, unless only the file title is specified, as that would be platform specific.

The partial file specification is translated into a canonical form which always absolutely references the file.

Parameters:
- str Partial PString for file name.

oPFilePath& operator=( const char* cstr )
Change the file specification object to the specified file name.

The string passed in may be a full or partial specifiaction for a file as determined by the platform. It is unusual for this to be a literal string, unless only the file title is specified, as that would be platform specific.

The partial file specification is translated into a canonical form which always absolutely references the file.

Parameters:
- cstr Partial "C" string for file name.

o Path addition functions

oPFilePath& operator+=( const PString & str )
Concatenate a string to the file path, modifiying that path.

Parameters:
- str String to concatenate.
Returns:
reference to string that was concatenated to.

oPFilePath& operator+=( const char* cstr )
Concatenate a C string to a path, modifiying that path. The cstr parameter is typically a literal string, eg:
        myStr += "fred";

Parameters:
- cstr C string to concatenate.
Returns:
reference to string that was concatenated to.

oPFilePath& operator+=( char ch )
Concatenate a single character to a path. The ch parameter is typically a literal, eg:
        myStr += '!';

Returns:
new string with concatenation of the object and parameter.

o Path decoding access functions

oPFilePathString GetVolume() const
Get the drive/volume name component of the full file specification. This is very platform specific. For example in DOS & NT it is the drive letter followed by a colon ("C:"), for Macintosh it is the volume name ("Untitled") and for Unix it is empty ("").

Returns:
string for the volume name part of the file specification..

oPFilePathString GetPath() const
Get the directory path component of the full file specification. This will include leading and trailing directory separators. For example on DOS this could be "\SRC\PWLIB\", for Macintosh ":Source:PwLib:" and for Unix "/users/equivalence/src/pwlib/".

Returns:
string for the path part of the file specification.

oPFilePathString GetTitle() const
Get the title component of the full file specification, eg for the DOS file "C:\SRC\PWLIB\FREDDAT" this would be "FRED".

Returns:
string for the title part of the file specification.

oPFilePathString GetType() const
Get the file type of the file. Note that on some platforms this may actually be part of the full name string. eg for DOS file "C:\SRC\PWLIB\FRED.TXT" this would be ".TXT" but on the Macintosh this might be "TEXT".

Note there are standard translations from file extensions, eg ".TXT" and some Macintosh file types, eg "TEXT".

Returns:
string for the type part of the file specification.

oPFilePathString GetFileName() const
Get the actual directory entry name component of the full file specification. This may be identical to GetTitle() + GetType() or simply GetTitle() depending on the platform. eg for DOS file "C:\SRC\PWLIB\FRED.TXT" this would be "FRED.TXT".

Returns:
string for the file name part of the file specification.

oPDirectory GetDirectory() const
Get the the directory that the file is contained in. This may be identical to GetVolume() + GetPath() depending on the platform. eg for DOS file "C:\SRC\PWLIB\FRED.TXT" this would be "C:\SRC\PWLIB\".

Note that for Unix platforms, this returns the physical path of the directory. That is all symlinks are resolved. Thus the directory returned may not be the same as the value of GetPath().

Returns:
Directory that the file is contained in.

ovoid SetType( const PFilePathString & type )
Set the type component of the full file specification, eg for the DOS file "C:\SRC\PWLIB\FREDDAT" would become "C:\SRC\PWLIB\FREDTXT".
Parameters:
- type New type of the file.

o Miscellaneous functions

ostatic BOOL IsValid( char c )
Test if the character is valid in a filename.

Parameters:
- c Character to test for validity.
Returns:
TRUE if the character is valid for a filename.

ostatic BOOL IsValid( const PString & str )
Test if all the characters are valid in a filename.

Parameters:
- str String to test for validity.
Returns:
TRUE if the character is valid for a filename.


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.