Loading [MathJax]/extensions/tex2jax.js
Go to the documentation of this file.
14 #include "TSSLSocket.h"
19 #include "boost/algorithm/string.hpp"
21 namespace ba = boost::algorithm;
26 : m_log(
msg,
"RootFileHandler" ), m_userProxy( p ), m_certDir(
c ) {
28 if ( !gROOT ) {
static TROOT
root(
"root",
"ROOT I/O" ); }
29 m_level =
msg->outputLevel(
"RootFileHandler" );
62 if ( ba::starts_with(
n,
"https://", ba::is_iequal{} ) || ba::starts_with(
n,
"http://", ba::is_iequal{} ) ) {
66 <<
"requested mode is: " << f <<
endmsg;
70 if ( !
m_ssl_setup && ba::starts_with(
n,
"https://", ba::is_iequal{} ) ) {
78 tf.
reset(
new TWebFile(
n.c_str() ) );
81 <<
" file for reading: " << Exception.what() <<
std::endl
82 <<
" -> file probably corrupt." <<
endmsg;
89 if ( tf && tf->IsZombie() ) {
90 m_log <<
MSG::ERROR <<
"Problems opening input file \"" <<
n <<
"\": file does not exist or in not accessible"
102 <<
" file for reading: " << Exception.what() <<
std::endl
103 <<
" -> file probably corrupt." <<
endmsg;
111 if ( !tf || !tf->IsOpen() ) {
112 m_log <<
MSG::ERROR <<
"Unable to open ROOT file \"" <<
n <<
"\" with options \"" << opt <<
"\"" <<
endmsg;
138 TFile* tf =
static_cast<TFile*
>( ptr );
144 <<
" file" << Exception.what() <<
endmsg;
RootFileHandler(IMessageSvc *, const std::string &userProxy, const std::string &certDir)
GAUDI_API std::string getEnv(const char *var)
get a particular environment variable (returning "UNKNOWN" if not set)
Io::reopen_t reopenRootFile(void *, const Io::IoFlags &)
Io::open_t openRootFile(const std::string &n, const Io::IoFlags &f, const std::string &desc, Io::Fd &fd, void *&ptr)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Io::close_t closeRootFile(void *ptr)
void setLevel(int level)
Update outputlevel.
MSG::Level level() const
Retrieve output level.