The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
Gaudi::IDataConnection Class Referenceabstract

ABC describing basic data connection. More...

#include </builds/gaudi/Gaudi/GaudiUtils/include/GaudiUtils/IIODataManager.h>

Inheritance diagram for Gaudi::IDataConnection:
Collaboration diagram for Gaudi::IDataConnection:

Public Types

enum  IoType { READ = 1 << 1 , UPDATE = 1 << 2 , CREATE = 1 << 3 , RECREATE = ( 1 << 4 ) + ( 1 << 3 ) }
 I/O Connection types. More...
 
enum  IoStatus { BAD_DATA_CONNECTION = 4 }
 Status Code on bad file connection. More...
 

Public Member Functions

 IDataConnection (const IInterface *own, std::string nam)
 Standard constructor.
 
virtual ~IDataConnection ()=default
 Standard destructor.
 
const std::string & name () const
 Connection name.
 
void setFID (std::string fid)
 Set file ID.
 
const std::string & fid () const
 Access file id.
 
const std::string & pfn () const
 Access physical file name.
 
void setPFN (std::string fn)
 Set physical file name.
 
int ageFile ()
 Increase age of I/O source.
 
void resetAge ()
 Reset age.
 
int age () const
 Access age counter.
 
const IInterfaceowner () const
 Owner instance.
 
virtual StatusCode connectRead ()=0
 Open data stream in read mode.
 
virtual StatusCode connectWrite (IoType type)=0
 Open data stream in write mode.
 
virtual StatusCode disconnect ()=0
 Release data stream.
 
virtual bool isConnected () const =0
 Check if connected to data source.
 
virtual StatusCode read (void *const data, size_t len)=0
 Read raw byte buffer from input stream.
 
virtual StatusCode write (const void *data, int len)=0
 Write raw byte buffer to output stream.
 
virtual long long int seek (long long int where, int origin)=0
 Seek on the file described by ioDesc. Arguments as in seek()
 

Protected Attributes

std::string m_name
 Connection name/identifier.
 
std::string m_fid
 File ID of the connection.
 
std::string m_pfn
 Physical file name of the connection.
 
int m_age = 0
 Age counter.
 
const IInterfacem_owner = nullptr
 Owner pointer.
 

Detailed Description

ABC describing basic data connection.

Author
M.Frank
Version
1.0
Date
20/10/2007

Definition at line 33 of file IIODataManager.h.

Member Enumeration Documentation

◆ IoStatus

Status Code on bad file connection.

Enumerator
BAD_DATA_CONNECTION 

Definition at line 50 of file IIODataManager.h.

◆ IoType

I/O Connection types.

Enumerator
READ 
UPDATE 
CREATE 
RECREATE 

Definition at line 48 of file IIODataManager.h.

48{ READ = 1 << 1, UPDATE = 1 << 2, CREATE = 1 << 3, RECREATE = ( 1 << 4 ) + ( 1 << 3 ) };

Constructor & Destructor Documentation

◆ IDataConnection()

Gaudi::IDataConnection::IDataConnection ( const IInterface * own,
std::string nam )
inline

Standard constructor.

Definition at line 54 of file IIODataManager.h.

54: m_name( std::move( nam ) ), m_owner( own ) {}
const IInterface * m_owner
Owner pointer.
std::string m_name
Connection name/identifier.

◆ ~IDataConnection()

virtual Gaudi::IDataConnection::~IDataConnection ( )
virtualdefault

Standard destructor.

Member Function Documentation

◆ age()

int Gaudi::IDataConnection::age ( ) const
inline

Access age counter.

Definition at line 72 of file IIODataManager.h.

72{ return m_age; }
int m_age
Age counter.

◆ ageFile()

int Gaudi::IDataConnection::ageFile ( )
inline

Increase age of I/O source.

Definition at line 68 of file IIODataManager.h.

68{ return ++m_age; }

◆ connectRead()

virtual StatusCode Gaudi::IDataConnection::connectRead ( )
pure virtual

Open data stream in read mode.

Implemented in Gaudi::RootDataConnection.

◆ connectWrite()

virtual StatusCode Gaudi::IDataConnection::connectWrite ( IoType type)
pure virtual

Open data stream in write mode.

Implemented in Gaudi::RootDataConnection.

◆ disconnect()

virtual StatusCode Gaudi::IDataConnection::disconnect ( )
pure virtual

Release data stream.

Implemented in Gaudi::RootDataConnection.

◆ fid()

const std::string & Gaudi::IDataConnection::fid ( ) const
inline

Access file id.

Definition at line 62 of file IIODataManager.h.

62{ return m_fid; }
std::string m_fid
File ID of the connection.

◆ isConnected()

virtual bool Gaudi::IDataConnection::isConnected ( ) const
pure virtual

Check if connected to data source.

Implemented in Gaudi::RootDataConnection.

◆ name()

const std::string & Gaudi::IDataConnection::name ( ) const
inline

Connection name.

Definition at line 58 of file IIODataManager.h.

58{ return m_name; }

◆ owner()

const IInterface * Gaudi::IDataConnection::owner ( ) const
inline

Owner instance.

Definition at line 74 of file IIODataManager.h.

74{ return m_owner; }

◆ pfn()

const std::string & Gaudi::IDataConnection::pfn ( ) const
inline

Access physical file name.

Definition at line 64 of file IIODataManager.h.

64{ return m_pfn; }
std::string m_pfn
Physical file name of the connection.

◆ read()

virtual StatusCode Gaudi::IDataConnection::read ( void *const data,
size_t len )
pure virtual

Read raw byte buffer from input stream.

Implemented in Gaudi::RootDataConnection.

◆ resetAge()

void Gaudi::IDataConnection::resetAge ( )
inline

Reset age.

Definition at line 70 of file IIODataManager.h.

70{ m_age = 0; }

◆ seek()

virtual long long int Gaudi::IDataConnection::seek ( long long int where,
int origin )
pure virtual

Seek on the file described by ioDesc. Arguments as in seek()

Implemented in Gaudi::RootDataConnection.

◆ setFID()

void Gaudi::IDataConnection::setFID ( std::string fid)
inline

Set file ID.

Definition at line 60 of file IIODataManager.h.

60{ m_fid = std::move( fid ); }
const std::string & fid() const
Access file id.

◆ setPFN()

void Gaudi::IDataConnection::setPFN ( std::string fn)
inline

Set physical file name.

Definition at line 66 of file IIODataManager.h.

66{ m_pfn = std::move( fn ); }

◆ write()

virtual StatusCode Gaudi::IDataConnection::write ( const void * data,
int len )
pure virtual

Write raw byte buffer to output stream.

Implemented in Gaudi::RootDataConnection.

Member Data Documentation

◆ m_age

int Gaudi::IDataConnection::m_age = 0
protected

Age counter.

Definition at line 42 of file IIODataManager.h.

◆ m_fid

std::string Gaudi::IDataConnection::m_fid
protected

File ID of the connection.

Definition at line 38 of file IIODataManager.h.

◆ m_name

std::string Gaudi::IDataConnection::m_name
protected

Connection name/identifier.

Definition at line 36 of file IIODataManager.h.

◆ m_owner

const IInterface* Gaudi::IDataConnection::m_owner = nullptr
protected

Owner pointer.

Definition at line 44 of file IIODataManager.h.

◆ m_pfn

std::string Gaudi::IDataConnection::m_pfn
protected

Physical file name of the connection.

Definition at line 40 of file IIODataManager.h.


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