FC++  v0.9.0-9e9b65
FileCatalyst Fast File Transfers - C++ Library
fc::Remote Class Reference

The class fc::Remote is used to encapsulate remote directories or files. More...

#include <FCPath.hpp>

Inheritance diagram for fc::Remote:
Collaboration diagram for fc::Remote:

Public Member Functions

virtual ~Remote ()
 
 Remote (const std::string &n)
 
virtual void setDefaultDir (const std::string &dir) const
 Set the default directory. More...
 
virtual const std::string & defaultDir () const
 Get the default directory. More...
 
virtual const std::string & separator () const
 Return the usual path separator, such as slash or backslash. More...
 
virtual Remote operator+ (const std::string &name) const
 
virtual bool empty () const
 
virtual const char * c_str () const
 
virtual operator const char * () const
 
virtual operator const std::string & () const
 
virtual const std::string & str () const
 
virtual Name & operator+= (const std::string &rhs)
 Append a filename to an existing Local or Remote object. More...
 
virtual bool isAbsolute () const
 Original name is absolute, such as /tmp/test.txt or C:\Files. More...
 
virtual bool isRelative () const
 Original name is relative, such as test.txt or ..\test.txt. More...
 
virtual const std::string & name () const
 The original name specified when this object was first instantiated. More...
 
virtual std::string create_temporary_filename (const fc::Options &options) const
 Create a temporary filename to use based on the prefix and suffix in the given options. More...
 
virtual const std::string & parentDir () const
 Get the parent directory if known, or a blank string if unknown. More...
 
virtual const std::string & filename () const
 Get the last component in full() which normally would be the filename. More...
 
virtual const std::string & full () const
 Get the full name. More...
 

Protected Member Functions

std::string findSeparator () const
 Logic to extract the directory separator from the default directory or the explicit name. More...
 
virtual Name & clearCache ()
 Clear the mutable cache items. More...
 

Protected Attributes

std::string explicitName
 The name used when the object was instantiated. More...
 
std::string fileName
 the last component from full() More...
 
std::string parentDirectory
 the parent directory including the terminating slash More...
 
std::string fullDirAndName
 the name combined with the default directory More...
 

Static Protected Attributes

static std::string defaultRemoteDirectory
 
static std::string defaultRemoteSeparator
 
virtual Name & simplify ()
 Attempt to simplify the path by removing double slashes and things like "../". More...
 
static std::string simplify (std::string &path)
 Attempt to simplify the path by removing double slashes and things like "../". More...
 

Detailed Description

The class fc::Remote is used to encapsulate remote directories or files.

Constructor & Destructor Documentation

◆ ~Remote()

fc::Remote::~Remote ( )
virtual

◆ Remote()

fc::Remote::Remote ( const std::string &  n)
explicit

Member Function Documentation

◆ setDefaultDir()

void fc::Remote::setDefaultDir ( const std::string &  dir) const
virtual

Set the default directory.

Will ensure it is terminated by a slash or backslash.

See also
fc::Name::defaultDir()
Warning
This has been deprecated as of 2020-08. Setting a default directory was causing a problem when interpreting relative paths.

Implements fc::Name.

◆ defaultDir()

const std::string & fc::Remote::defaultDir ( ) const
virtual

Get the default directory.

This is guaranteed to be terminated by a slash or backslash.

See also
fc::Name::setDefaultDir()
Warning
This has been deprecated as of 2020-08. Setting a default directory was causing a problem when interpreting relative paths.

Implements fc::Name.

◆ separator()

const std::string & fc::Remote::separator ( ) const
virtual

Return the usual path separator, such as slash or backslash.

See also
fc::Name::defaultDir()

Implements fc::Name.

◆ operator+()

fc::Remote fc::Remote::operator+ ( const std::string &  name) const
virtual

References fc::Name::simplify().

Here is the call graph for this function:

◆ empty()

virtual bool fc::Name::empty ( ) const
inlinevirtualinherited

References fc::Name::name().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ c_str()

virtual const char* fc::Name::c_str ( ) const
inlinevirtualinherited

References fc::Name::full().

Here is the call graph for this function:

◆ operator const char *()

virtual fc::Name::operator const char * ( ) const
inlinevirtualinherited

References fc::Name::full().

Here is the call graph for this function:

◆ operator const std::string &()

virtual fc::Name::operator const std::string & ( ) const
inlinevirtualinherited

References fc::Name::full().

Here is the call graph for this function:

◆ str()

virtual const std::string& fc::Name::str ( ) const
inlinevirtualinherited

References fc::Name::full().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ simplify() [1/2]

fc::Name & fc::Name::simplify ( )
virtualinherited

Attempt to simplify the path by removing double slashes and things like "../".

Here is the caller graph for this function:

◆ simplify() [2/2]

std::string fc::Name::simplify ( std::string &  path)
staticinherited

Attempt to simplify the path by removing double slashes and things like "../".

◆ operator+=()

fc::Name & fc::Name::operator+= ( const std::string &  rhs)
virtualinherited

Append a filename to an existing Local or Remote object.

◆ isAbsolute()

bool fc::Name::isAbsolute ( ) const
virtualinherited

Original name is absolute, such as /tmp/test.txt or C:\Files.

See also
fc::Name::isRelative()

◆ isRelative()

bool fc::Name::isRelative ( ) const
virtualinherited

Original name is relative, such as test.txt or ..\test.txt.

See also
fc::Name::isAbsolute()
Here is the caller graph for this function:

◆ name()

const std::string & fc::Name::name ( ) const
virtualinherited

The original name specified when this object was first instantiated.

You probably want to use full() instead.

Here is the caller graph for this function:

◆ create_temporary_filename()

std::string fc::Name::create_temporary_filename ( const fc::Options &  options) const
virtualinherited

Create a temporary filename to use based on the prefix and suffix in the given options.

This is intended for internal use by FC++ to generate a usable temporary name, and likely doesn't need to be called directly.

See also
fc::Options::setTmpFilenames()

◆ parentDir()

const std::string & fc::Name::parentDir ( ) const
virtualinherited

Get the parent directory if known, or a blank string if unknown.

The directory name (if not empty) will always be terminated with / or \. For example:

Original Name parentDir()
test.txt
../test.txt ../
/tmp/foo/bar/name.txt /tmp/foo/bar/
/testing/123/ /testing/
/ /

◆ filename()

const std::string & fc::Name::filename ( ) const
virtualinherited

Get the last component in full() which normally would be the filename.

◆ full()

const std::string & fc::Name::full ( ) const
virtualinherited

Get the full name.

Most of the time, this is the method you'll want to call to generate a path or filename.

Returns
the full name, combined with the default directory when appropriate
Here is the caller graph for this function:

◆ findSeparator()

std::string fc::Name::findSeparator ( ) const
protectedinherited

Logic to extract the directory separator from the default directory or the explicit name.

◆ clearCache()

fc::Name & fc::Name::clearCache ( )
protectedvirtualinherited

Clear the mutable cache items.

Member Data Documentation

◆ defaultRemoteDirectory

std::string fc::Remote::defaultRemoteDirectory
staticprotected

◆ defaultRemoteSeparator

std::string fc::Remote::defaultRemoteSeparator
staticprotected

◆ explicitName

std::string fc::Name::explicitName
protectedinherited

The name used when the object was instantiated.

◆ fileName

std::string fc::Name::fileName
mutableprotectedinherited

the last component from full()

◆ parentDirectory

std::string fc::Name::parentDirectory
mutableprotectedinherited

the parent directory including the terminating slash

◆ fullDirAndName

std::string fc::Name::fullDirAndName
mutableprotectedinherited

the name combined with the default directory


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