XRootD
XrdOucName2Name Class Referenceabstract

#include <XrdOucName2Name.hh>

+ Inheritance diagram for XrdOucName2Name:
+ Collaboration diagram for XrdOucName2Name:

Public Member Functions

 XrdOucName2Name ()
 Constructor. More...
 
virtual ~XrdOucName2Name ()
 Destructor. More...
 
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.

108 {}

◆ ~XrdOucName2Name()

virtual XrdOucName2Name::~XrdOucName2Name ( )
inlinevirtual

Destructor.

Definition at line 114 of file XrdOucName2Name.hh.

114 {}

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.
blenThe 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.

Referenced by XrdOssSys::Chmod(), XrdOssSys::GenLocalPath(), XrdOssSys::getCname(), XrdOssSys::Lfn2Pfn(), XrdPssSys::Lfn2Pfn(), XrdFrmConfig::LocalPath(), XrdOssSys::Mkdir(), XrdOssFile::Open(), XrdOssDir::Opendir(), XrdPssSys::P2URL(), XrdOssSys::Stat(), XrdOssSys::StatFS(), XrdOssSys::StatPF(), translateFileName(), and XrdOssSys::Truncate().

+ Here is the caller graph for this function:

◆ 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.
blenThe 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.

Referenced by XrdOssSys::GenRemotePath(), XrdOssDir::Opendir(), XrdFrmConfig::RemotePath(), XrdOssSys::Stage_RT(), and XrdOssSys::Stat().

+ Here is the caller graph for this function:

◆ 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.
blenThe 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 XrdOucN2No2p, and XrdOucN2N.

Referenced by XrdFrmConfig::LogicalPath().

+ Here is the caller graph for this function:

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