# saga::name_space::entry Class Reference

An RNS entry that interconnects a reference to an existing resource into the hierarchical name space. More...

`#include <namespace_entry.hpp>`

Inheritance diagram for saga::name_space::entry:

[legend]

List of all members.

## Public Member Functions
| entry (session const &s, saga::url url, int mode=Read, saga::object::type t=saga::object::NSEntry)
| Creates the object.
| entry (saga::url url, int mode=Read, saga::object::type t=saga::object::NSEntry)
| Creates the object.
| entry (saga::object const &o)
| Creates the object.
| entry (void)
| Creates the object.
| ~entry (void)
| Destroys the object.
entry & | operator= (saga::object const &o)
| Brief description starts here.
saga::url | get_url () const
| Obtains the complete url pointing to the entry.
saga::url | get_cwd () const
| Obtains the current working directory for the entry.
saga::url | get_name () const
| Obtains the name part of the url.
saga::url | read_link () const
| Returns the name of the link target.
bool | is_dir () const
| Tests entry for being a directory.
bool | is_entry () const
| Tests entry for being a namespace_entry.
bool | is_link () const
| Tests the entry for being a link.
void | copy (saga::url target, int flags=saga::name_space::None)
| Copy the entry to another part of the namespace.
void | link (saga::url target, int flags=saga::name_space::None)
| Creates a symbolic link from the entry to the target entry.
void | move (saga::url target, int flags=saga::name_space::None)
| Rename source to target, or move source to target if target is an directory.
void | remove (int flags=saga::name_space::None)
| Removes this entry and closes it.
void | close (double timeout=0.0)
| Closes the object.
void | permissions_allow (std::string id, int perm, int flags)
| Enable a permission.
void | permissions_deny (std::string id, int perm, int flags)
| Disable a permission.
## Static Public Member Functions
static entry | create (session const &s, saga::url url, int mode=Read)
| Factory function resembling entry(session, url, int) constructor.
static entry | create (saga::url url, int mode=Read)
| Factory function resembling entry(url, int) constructor.
template<typename Tag>
static saga::task | create (saga::url url, int mode=Read)

## Detailed Description

An RNS entry that interconnects a reference to an existing resource into the hierarchical name space.

Defines methods which serve the inspection of the entry itself, methods which allows to manage the entry (e.g. to copy, move, or remove it), and methods to manipulate the entryÕs access control lists.

## Constructor & Destructor Documentation

saga::name_space::entry::entry | ( | session const & | s,
|  | saga::url | url,
|  | int | mode = `Read`,
|  | saga::object::type | t = `saga::object::NSEntry` |
| ) |  |  |

Creates the object.

References saga::object::NSEntry.

saga::name_space::entry::entry | ( | saga::url | url,
|  | int | mode = `Read`,
|  | saga::object::type | t = `saga::object::NSEntry` |
| ) |  |  | `[explicit]`

Creates the object.

References saga::object::NSEntry.

saga::name_space::entry::entry | ( | saga::object const & | o | ) | `[explicit]`

Creates the object.

Reimplemented in saga::advert::entry.

saga::name_space::entry::entry | ( | void |  | ) |

Creates the object.

Reimplemented in saga::advert::entry.

saga::name_space::entry::~entry | ( | void |  | ) |

Destroys the object.

Reimplemented in saga::advert::entry.

## Member Function Documentation

static entry saga::name_space::entry::create | ( | session const & | s,
|  | saga::url | url,
|  | int | mode = `Read` |
| ) |  |  | `[inline, static]`

Factory function resembling entry(session, url, int) constructor.

Reimplemented in saga::cpr::checkpoint, saga::cpr::directory, saga::filesystem::directory, saga::filesystem::file, saga::name_space::directory, saga::replica::logical_directory, and saga::replica::logical_file.

static entry saga::name_space::entry::create | ( | saga::url | url,
|  | int | mode = `Read` |
| ) |  |  | `[inline, static]`

Factory function resembling entry(url, int) constructor.

Reimplemented in saga::cpr::checkpoint, saga::cpr::checkpoint, saga::cpr::directory, saga::cpr::directory, saga::filesystem::directory, saga::filesystem::directory, saga::filesystem::file, saga::filesystem::file, saga::name_space::directory, saga::name_space::directory, saga::replica::logical_directory, saga::replica::logical_directory, saga::replica::logical_file, and saga::replica::logical_file.

template<typename Tag>

static saga::task saga::name_space::entry::create | ( | saga::url | url,
|  | int | mode = `Read` |
| ) |  |  | `[inline, static]`

Reimplemented in saga::cpr::checkpoint, saga::cpr::checkpoint, saga::cpr::directory, saga::cpr::directory, saga::filesystem::directory, saga::filesystem::directory, saga::filesystem::file, saga::filesystem::file, saga::name_space::directory, saga::name_space::directory, saga::replica::logical_directory, saga::replica::logical_directory, saga::replica::logical_file, and saga::replica::logical_file.

entry & saga::name_space::entry::operator= | ( | saga::object const & | o | ) |

Brief description starts here.

Reimplemented in saga::advert::directory, saga::cpr::checkpoint, saga::cpr::directory, saga::filesystem::directory, saga::filesystem::file, saga::name_space::directory, saga::replica::logical_directory, and saga::replica::logical_file.

Referenced by saga::name_space::directory::operator=(), saga::replica::logical_file::operator=(), saga::filesystem::file::operator=(), and saga::cpr::checkpoint::operator=().

saga::url saga::name_space::entry::get_url | ( |  | ) | const`[inline]`

Obtains the complete url pointing to the entry.

Returns:
  url pointing to the entry

saga::url saga::name_space::entry::get_cwd | ( |  | ) | const`[inline]`

Obtains the current working directory for the entry.

Returns:
  Current working directory

saga::url saga::name_space::entry::get_name | ( |  | ) | const`[inline]`

Obtains the name part of the url.

Returns:
  last part of the pathname

saga::url saga::name_space::entry::read_link | ( |  | ) | const`[inline]`

Returns the name of the link target.

Returns:
  Resolved name

bool saga::name_space::entry::is_dir | ( |  | ) | const`[inline]`

Tests entry for being a directory.

Returns:
  Boolean indicating if entry is a directory

bool saga::name_space::entry::is_entry | ( |  | ) | const`[inline]`

Tests entry for being a namespace_entry.

Returns:
  Boolean indicating if entry is a namespace_entry

bool saga::name_space::entry::is_link | ( |  | ) | const`[inline]`

Tests the entry for being a link.

Returns:
  Boolean indicating if entry is a link

void saga::name_space::entry::copy | ( | saga::url | target,
|  | int | flags = `saga::name_space::None` |
| ) |  |  | `[inline]`

Copy the entry to another part of the namespace.

Parameters:

  | target | Name to copy to
  | flags | Flags defining the operation modus

void saga::name_space::entry::link | ( | saga::url | target,
|  | int | flags = `saga::name_space::None` |
| ) |  |  | `[inline]`

Creates a symbolic link from the entry to the target entry.

Parameters:

  | target | Name to link to
  | flags | Flags defining the operation modus

void saga::name_space::entry::move | ( | saga::url | target,
|  | int | flags = `saga::name_space::None` |
| ) |  |  | `[inline]`

Rename source to target, or move source to target if target is an directory.

Parameters:

  | target | Name to move to
  | flags | Flags defining the operation modus

void saga::name_space::entry::remove | ( | int | flags = `saga::name_space::None` | ) | `[inline]`

Removes this entry and closes it.

void saga::name_space::entry::close | ( | double | timeout = `0.0` | ) | `[inline]`

Closes the object.

void saga::name_space::entry::permissions_allow | ( | std::string | id,
|  | int | perm,
|  | int | flags |
| ) |  |  | `[inline]`

Enable a permission.

Parameters:

  | id | id to set permission for
  | perm | permission to enable
  | flags | mode of operation

void saga::name_space::entry::permissions_deny | ( | std::string | id,
|  | int | perm,
|  | int | flags |
| ) |  |  | `[inline]`

Disable a permission.

Parameters:

  | id | id to set permission for
  | perm | permission to disable
  | flags | mode of operation

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

- namespace_entry.hpp
- namespace_entry.cpp