ATLAS Offline Software
Loading...
Searching...
No Matches
pool::FileDescriptor Class Reference

Description: More...

#include <StorageSvc/FileDescriptor.h>

Collaboration diagram for pool::FileDescriptor:

Public Member Functions

 FileDescriptor ()
 Standard Constructor.
 FileDescriptor (const FileID &fid, const std::string &pfn)
 Constructor with initializing arguments.
void initFromFilename (const std::string &filename)
 Generate new FID from the filename.
const std::string & PFN () const
 Access to physical file name (READ).
void setPFN (const std::string &val)
 Access to physical file name (WRITE).
const FileIDFID () const
 Access to file identifier (READ).
void setFID (const FileID &val)
 Access to file identifier (WRITE).
DbConnectiondbc ()
 Access to file descriptor (READ).
const DbConnectiondbc () const
void setDbc (DbConnection *val)
 Access to file descriptor (WRITE).

Private Attributes

FileID m_FID
 File Identifier (UNIQUE).
std::string m_PFN
 Physical file name.
DbConnectionm_DBC
 Handle to the Database connection.

Detailed Description

Description:

Definition of a small class capable to encapsulate a file in terms of file handle, of the generic Db data handle.

Author
M.Frank
Version
1.0

Definition at line 40 of file FileDescriptor.h.

Constructor & Destructor Documentation

◆ FileDescriptor() [1/2]

pool::FileDescriptor::FileDescriptor ( )
inline

Standard Constructor.

Definition at line 51 of file FileDescriptor.h.

51: m_DBC(0) { }
DbConnection * m_DBC
Handle to the Database connection.

◆ FileDescriptor() [2/2]

pool::FileDescriptor::FileDescriptor ( const FileID & fid,
const std::string & pfn )
inline

Constructor with initializing arguments.

Definition at line 53 of file FileDescriptor.h.

54 : m_FID(fid), m_PFN(pfn), m_DBC(0) {
55 if (!m_FID.empty() && !Guid::isGuid(m_FID)) {
56 // MN: TODO: review this constructor usage
58 }
59 }
static bool isGuid(std::string_view) noexcept
Definition Guid.cxx:54
FileID m_FID
File Identifier (UNIQUE).
void initFromFilename(const std::string &filename)
Generate new FID from the filename.
std::string m_PFN
Physical file name.

Member Function Documentation

◆ dbc() [1/2]

DbConnection * pool::FileDescriptor::dbc ( )
inline

Access to file descriptor (READ).

Definition at line 83 of file FileDescriptor.h.

83{ return m_DBC; }

◆ dbc() [2/2]

const DbConnection * pool::FileDescriptor::dbc ( ) const
inline

Definition at line 84 of file FileDescriptor.h.

84{ return m_DBC; }

◆ FID()

const FileID & pool::FileDescriptor::FID ( ) const
inline

Access to file identifier (READ).

Definition at line 78 of file FileDescriptor.h.

78{ return m_FID; }

◆ initFromFilename()

void pool::FileDescriptor::initFromFilename ( const std::string & filename)
inline

Generate new FID from the filename.

Definition at line 62 of file FileDescriptor.h.

62 {
64 MD5 checkSum((unsigned char*)filename.c_str(), filename.size());
65 uuid_t checkSumUuid;
66 checkSum.raw_digest((unsigned char*)(&checkSumUuid));
67 char text[37];
68 uuid_unparse_upper(checkSumUuid, text);
69 m_FID = text;
70 }

◆ PFN()

const std::string & pool::FileDescriptor::PFN ( ) const
inline

Access to physical file name (READ).

Definition at line 73 of file FileDescriptor.h.

73{ return m_PFN; }

◆ setDbc()

void pool::FileDescriptor::setDbc ( DbConnection * val)
inline

Access to file descriptor (WRITE).

Definition at line 86 of file FileDescriptor.h.

◆ setFID()

void pool::FileDescriptor::setFID ( const FileID & val)
inline

Access to file identifier (WRITE).

Definition at line 80 of file FileDescriptor.h.

80{ m_FID = val; }

◆ setPFN()

void pool::FileDescriptor::setPFN ( const std::string & val)
inline

Access to physical file name (WRITE).

Definition at line 75 of file FileDescriptor.h.

75{ m_PFN = val; }

Member Data Documentation

◆ m_DBC

DbConnection* pool::FileDescriptor::m_DBC
private

Handle to the Database connection.

Definition at line 47 of file FileDescriptor.h.

◆ m_FID

FileID pool::FileDescriptor::m_FID
private

File Identifier (UNIQUE).

Definition at line 43 of file FileDescriptor.h.

◆ m_PFN

std::string pool::FileDescriptor::m_PFN
private

Physical file name.

Definition at line 45 of file FileDescriptor.h.


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