Kea 3.0.0
isc::util::file Namespace Reference

Classes

struct  Path
 Paths on a filesystem. More...
class  PathChecker
 Embodies a supported path against which file paths can be validated. More...
struct  TemporaryDirectory

Typedefs

typedef boost::shared_ptr< PathCheckerPathCheckerPtr
 Defines a pointer to a PathChecker.

Functions

bool exists (const std::string &path)
 Check if there is a file or directory at the given path.
string getContent (const std::string &file_name)
 Get the content of a regular file.
mode_t getPermissions (const std::string path)
 Fetches the file permissions mask.
bool hasPermissions (const std::string path, const mode_t &permissions)
 Check if there if file or directory has the given permissions.
bool isDir (const std::string &path)
 Check if there is a directory at the given path.
bool isFile (const std::string &path)
 Check if there is a file at the given path.
bool isSocket (const std::string &path)
 Check if there is a socket at the given path.
void setUmask ()
 Set umask (at least 0027 i.e. no group write and no other access).

Typedef Documentation

◆ PathCheckerPtr

typedef boost::shared_ptr<PathChecker> isc::util::file::PathCheckerPtr

Defines a pointer to a PathChecker.

Definition at line 298 of file filesystem.h.

Function Documentation

◆ exists()

bool isc::util::file::exists ( const std::string & path)

Check if there is a file or directory at the given path.

Parameters
pathThe path being checked.
Returns
True if the path points to a file or a directory, false otherwise.

Definition at line 49 of file filesystem.cc.

Referenced by getContent().

◆ getContent()

std::string isc::util::file::getContent ( const std::string & file_name)

Get the content of a regular file.

Parameters
file_nameThe file name.
Returns
The content of the file.
Exceptions
BadValuewhen the file can't be opened or is not a regular one.

Definition at line 32 of file filesystem.cc.

References exists(), isc_throw, and isFile().

Referenced by isc::http::BasicHttpAuthConfig::getFileContent(), and isc::d2::TSIGKeyInfoParser::parse().

Here is the call graph for this function:

◆ getPermissions()

mode_t isc::util::file::getPermissions ( const std::string path)

Fetches the file permissions mask.

Parameters
pathThe path being checked.
Returns
File permissios mask or 0 if the path does not exist.

Definition at line 55 of file filesystem.cc.

Referenced by hasPermissions().

◆ hasPermissions()

bool isc::util::file::hasPermissions ( const std::string path,
const mode_t & permissions )

Check if there if file or directory has the given permissions.

Parameters
pathThe path being checked.
permissionsmask of expected permissions.
Returns
True if the path points to a file or a directory, false otherwise.

Definition at line 65 of file filesystem.cc.

References getPermissions().

Referenced by isc::util::file::PathChecker::pathHasPermissions().

Here is the call graph for this function:

◆ isDir()

bool isc::util::file::isDir ( const std::string & path)

Check if there is a directory at the given path.

Parameters
pathThe path being checked.
Returns
True if the path points to a directory, false otherwise including if the pointed location does not exist.

Definition at line 70 of file filesystem.cc.

Referenced by isc::asiolink::TlsContextBase::configure(), and isc::db::MySqlConnection::openDatabase().

◆ isFile()

bool isc::util::file::isFile ( const std::string & path)

Check if there is a file at the given path.

Parameters
pathThe path being checked.
Returns
True if the path points to a file, false otherwise including if the pointed location does not exist.

Definition at line 79 of file filesystem.cc.

Referenced by getContent(), isc::db::MySqlConnection::initializeSchema(), and isc::db::PgSqlConnection::initializeSchema().

◆ isSocket()

bool isc::util::file::isSocket ( const std::string & path)

Check if there is a socket at the given path.

Parameters
pathThe path being checked.
Returns
True if the path points to a socket, false otherwise including if the pointed location does not exist.

Definition at line 88 of file filesystem.cc.

◆ setUmask()

void isc::util::file::setUmask ( )

Set umask (at least 0027 i.e. no group write and no other access).

Definition at line 97 of file filesystem.cc.

Referenced by main().