11#ifndef ATHENASERVICES_IOSVC_H
12#define ATHENASERVICES_IOSVC_H 1
16#include <unordered_map>
31 :
public extends<::AthService, ::IIoSvc>
42 IoSvc(
const std::string& name, ISvcLocator* pSvcLocator );
53 virtual StatusCode
finalize()
override;
65 virtual Fd fd(
const std::string&
fname)
const override;
69 virtual const std::string&
fname(
Fd fd)
const override;
98 typedef std::unordered_map<Fd, FdInfos>
FdMap_t;
IoType
I/O Connection types.
int Fd
unix-y file descriptor
virtual Fd open(const std::string &fname, IoType mode) override
open file fname with open mode mode
virtual IoType mode(Fd fd) const override
retrieve the open mode associated with file descriptor fd
virtual const std::string & fname(Fd fd) const override
retrieve the file fname associated with file descriptor fd
virtual Fd fd(const std::string &fname) const override
retrieve the file descriptor associated with file fname
virtual StatusCode initialize() override
Gaudi Service Implementation.
IoSvc()
Default constructor:
virtual StatusCode close(Fd fd) override
close file fd
Fd m_last_fd
last created Fd
virtual StatusCode finalize() override
std::unordered_map< Fd, FdInfos > FdMap_t
FdMap_t m_fds
map of fd->fdinfos
IoSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual ~IoSvc()
Destructor:
virtual bool has_fd(Fd fd) const override
test if a given file descriptor fd is known to us