46 using extends::extends;
62 int getFileAttr(
const std::string&, std::vector<const FileAttr*>& )
const override;
71 int getFiles( std::vector<std::string>&,
bool onlyOpen =
true )
const override;
72 int getFiles( std::vector<const Io::FileAttr*>&,
bool onlyOpen =
true )
const override;
73 int getFiles(
const Io::IoTech&, std::vector<std::string>&,
bool onlyOpen =
true )
const override;
74 int getFiles(
const Io::IoTech&, std::vector<const Io::FileAttr*>&,
bool onlyOpen =
true )
const override;
77 bool onlyOpen =
true )
const override;
79 int getFd( std::vector<Fd>& )
const override;
84 const std::string&
fname(
const Io::Fd& )
const override;
85 const std::string&
fname(
void* )
const override;
88 Io::Fd fd(
const std::string& )
const override;
91 void*
fptr(
const std::string& )
const override;
98 Io::Fd&
fd,
void*& ptr,
const std::string& desc =
"",
const bool shared =
false )
override;
102 const std::string& desc =
"",
const bool shared =
false )
override;
106 const std::string& desc =
"",
const bool shared =
false )
override;
116 const std::string& desc =
"" )
override;
135 typedef std::map<Io::Action, std::list<bfcn_desc_t>>
actionMap;
142 typedef std::multimap<std::string, FileAttr*>
fileMap;
147 std::vector<std::unique_ptr<FileAttr>>
m_attr;
158 std::optional<RootFileHandler>
m_rfh;
159 std::optional<POSIXFileHandler>
m_pfh;
std::vector< std::unique_ptr< FileAttr > > m_attr
Io::reopen_t reopen(const Fd, const IoFlags &, const std::string &caller) override
Gaudi::Property< std::string > m_logfile
void suppressAction(const std::string &) override
Gaudi::Property< bool > m_printSummary
StatusCode initialize() override
StatusCode deregHandler(const IoTech &) override
bool isShareable(const std::string &filename, const Io::IoFlags &) const
std::vector< FileAttr * > m_oldFiles
StatusCode execAction(Io::FileAttr *, const std::string &, const Io::Action &) const
Gaudi::Property< std::string > m_ssl_cert
virtual void listActions() const
std::optional< RootFileHandler > m_rfh
StatusCode regHandler(FileHdlr) override
StatusCode execActs(Io::FileAttr *, const std::string &, const Io::Action &, const actionMap &m) const
std::map< IoTech, actionMap > m_actions
Gaudi::Property< bool > m_loadPosixHandler
void listHandlers() const override
virtual void listSuppression() const
StatusCode regAction(Io::bfcn_action_t, const Io::Action &, const std::string &desc="") override
std::map< Io::Action, std::list< bfcn_desc_t > > actionMap
std::map< Fd, FileAttr * > m_descriptors
bool accessMatch(const Io::IoFlags &, const Io::IoFlags &, bool strict=false) const
Io::open_t open(const Io::IoTech &, const std::string &caller, const std::string &fname, const Io::IoFlags &, Io::Fd &fd, void *&ptr, const std::string &desc="", const bool shared=false) override
std::multimap< std::string, FileAttr * > fileMap
Gaudi::Property< std::string > m_ssl_proxy
Gaudi::Property< bool > m_loadRootHandler
Io::Fd fd(const std::string &) const override
std::pair< Io::bfcn_action_t, std::string > bfcn_desc_t
int getFd(std::vector< Fd > &) const override
Io::close_t close(const Fd, const std::string &caller) override
const std::string & fname(const Io::Fd &) const override
void handle(const Incident &) override
std::map< IoTech, FileHdlr > m_handlers
StatusCode hasHandler(const IoTech &) const override
std::optional< POSIXFileHandler > m_pfh
void * fptr(const std::string &) const override
void listFiles() const override
std::map< std::string, Io::Action_bitmap > m_supMap
int getFileAttr(const std::string &, std::vector< const FileAttr * > &) const override
int getFiles(std::vector< std::string > &, bool onlyOpen=true) const override
int getLastError(std::string &) const override
StatusCode finalize() override
StatusCode getHandler(const IoTech &, FileHdlr &) const override
Implementation of property with value of concrete type.
Base class for all Incidents (computing events).
This class is used for returning status codes from appropriate routines.
Base class used to extend a class implementing other interfaces.
std::function< StatusCode(FILEMGR_CALLBACK_ARGS)> bfcn_action_t