Loading...
Searching...
No Matches
XrdOucName2Name Class Referenceabstract

`#include <XrdOucName2Name.hh>`

Inheritance diagram for XrdOucName2Name:
Collaboration diagram for XrdOucName2Name:

## Public Member Functions

| XrdOucName2Name ()
| Constructor.
virtual | ~XrdOucName2Name ()
| Destructor.
virtual int | lfn2pfn (const char *lfn, char *buff, int blen)=0
virtual int | lfn2rfn (const char *lfn, char *buff, int blen)=0
virtual int | pfn2lfn (const char *pfn, char *buff, int blen)=0

## Detailed Description

Class XrdoucName2Name must be used for creating a name translation plug-in. This plug-in is specified by the 'oss.namelib' directive and when present makes the default oss plug-in load the plug-in shared library, locate the XrdOucgetName2Name function within and use it to obtain an instance of the XrdOucName2Name object to perform name translation prior to all subsequent storage system calls. The companion object, XrdOucName2NameVec, should also be defined in the same shared library (see the class definition below).

Definition at line 48 of file XrdOucName2Name.hh.

## Constructor & Destructor Documentation

## XrdOucName2Name()

XrdOucName2Name::XrdOucName2Name | ( |  | ) |

inline

Constructor.

Definition at line 108 of file XrdOucName2Name.hh.

{}

## ~XrdOucName2Name()

virtual XrdOucName2Name::~XrdOucName2Name | ( |  | ) |

inline virtual

Destructor.

Definition at line 114 of file XrdOucName2Name.hh.

{}

## Member Function Documentation

## lfn2pfn()

virtual int XrdOucName2Name::lfn2pfn | ( | const char * | lfn,
|  | char * | buff,
|  | int | blen )

pure virtual

Map a logical file name to a physical file name.

Parameters

  lfn | -> Logical file name.
  buff | -> Buffer where the physical file name of an existing file is to be placed. It must end with a null byte.
  blen | The length of the buffer.

Returns
  Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

Implemented in XrdOucN2N, and XrdOucN2No2p.

## lfn2rfn()

virtual int XrdOucName2Name::lfn2rfn | ( | const char * | lfn,
|  | char * | buff,
|  | int | blen )

pure virtual

Map a logical file name to the name the file would have in a remote storage system (e.g. Mass Storage System at a remote location).

Parameters

  lfn | -> Logical file name.
  buff | -> Buffer where the remote file name is to be placed. It need not actually exist in that location but could be created there with that name. It must end with a null byte.
  blen | The length of the buffer.

Returns
  Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

Implemented in XrdOucN2N, and XrdOucN2No2p.

## pfn2lfn()

virtual int XrdOucName2Name::pfn2lfn | ( | const char * | pfn,
|  | char * | buff,
|  | int | blen )

pure virtual

Map a physical file name to it's logical file name.

Parameters

  pfn | -> Physical file name. This is always a valid name of either an existing file or a file that could been created.
  buff | -> Buffer where the logical file name is to be placed. It need not actually exist but could be created with that name. It must end with a null byte.
  blen | The length of the buffer.

Returns
  Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

Implemented in XrdOucN2N, and XrdOucN2No2p.

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

- XrdOucName2Name.hh