XRootD
Loading...
Searching...
No Matches
XrdClDefaultEnv.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// Copyright (c) 2011-2012 by European Organization for Nuclear Research (CERN)
3// Author: Lukasz Janyst <ljanyst@cern.ch>
4//------------------------------------------------------------------------------
5// XRootD is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// XRootD is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with XRootD. If not, see <http://www.gnu.org/licenses/>.
17//------------------------------------------------------------------------------
18
19#ifndef __XRD_CL_DEFAULT_ENV_HH__
20#define __XRD_CL_DEFAULT_ENV_HH__
21
23#include "XrdCl/XrdClEnv.hh"
24#include "XrdVersion.hh"
25
26class XrdOucPinLoader;
27struct EnvInitializer;
28
29namespace XrdCl
30{
31 class PostMaster;
32 class Log;
33 class ForkHandler;
34 class Monitor;
35 class CheckSumManager;
36 class TransportManager;
37 class FileTimer;
38 class PlugInManager;
39 class PlugInFactory;
40
41 //----------------------------------------------------------------------------
45 //----------------------------------------------------------------------------
46 class DefaultEnv: public Env
47 {
48 friend struct ::EnvInitializer;
49
50 //------------------------------------------------------------------------
52 //------------------------------------------------------------------------
53 DefaultEnv();
54
55 public:
56
57 //------------------------------------------------------------------------
59 //------------------------------------------------------------------------
60 inline static std::string GetVersion()
61 {
62 return XrdVERSION;
63 }
64
65 //------------------------------------------------------------------------
67 //------------------------------------------------------------------------
68 static Env *GetEnv();
69
70 //------------------------------------------------------------------------
72 //------------------------------------------------------------------------
73 static PostMaster *GetPostMaster();
74
75 //------------------------------------------------------------------------
77 //------------------------------------------------------------------------
78 static Log *GetLog();
79
80 //------------------------------------------------------------------------
84 //------------------------------------------------------------------------
85 static void SetLogLevel( const std::string &level );
86
87 //------------------------------------------------------------------------
91 //------------------------------------------------------------------------
92 static bool SetLogFile( const std::string &filepath );
93
94 //------------------------------------------------------------------------
115 //------------------------------------------------------------------------
116 static void SetLogMask( const std::string &level,
117 const std::string &mask );
118
119 //------------------------------------------------------------------------
121 //------------------------------------------------------------------------
122 static ForkHandler *GetForkHandler();
123
124 //------------------------------------------------------------------------
126 //------------------------------------------------------------------------
127 static FileTimer *GetFileTimer();
128
129 //------------------------------------------------------------------------
131 //------------------------------------------------------------------------
132 static Monitor *GetMonitor();
133
134 //------------------------------------------------------------------------
136 //------------------------------------------------------------------------
138
139 //------------------------------------------------------------------------
141 //------------------------------------------------------------------------
143
144 //------------------------------------------------------------------------
146 //------------------------------------------------------------------------
148
149 //------------------------------------------------------------------------
153 //------------------------------------------------------------------------
154 static PlugInFactory *GetPlugInFactory( const std::string url );
155
156 //------------------------------------------------------------------------
158 //------------------------------------------------------------------------
159 static void ReInitializeLogging();
160
161 private:
162
163 //------------------------------------------------------------------------
165 //------------------------------------------------------------------------
166 static void Initialize();
167
168 //------------------------------------------------------------------------
170 //------------------------------------------------------------------------
171 static void Finalize();
172
173
174 static void SetUpLog();
175
176 static XrdSysMutex sInitMutex;
177 static Env *sEnv;
178 static PostMaster *sPostMaster;
179 static Log *sLog;
180 static ForkHandler *sForkHandler;
181 static FileTimer *sFileTimer;
182 static Monitor *sMonitor;
183 static XrdOucPinLoader *sMonitorLibHandle;
184 static bool sMonitorInitialized;
185 static CheckSumManager *sCheckSumManager;
186 static TransportManager *sTransportManager;
187 static PlugInManager *sPlugInManager;
188 };
189
190}
191
192static struct EnvInitializer
193{
196 static int counter;
198
199
200#endif // __XRD_CL_DEFAULT_ENV_HH__
static struct EnvInitializer initializer
Manage the checksum calc objects.
static std::string GetVersion()
Get client version.
static PlugInManager * GetPlugInManager()
Get plug-in manager.
static bool SetLogFile(const std::string &filepath)
static CheckSumManager * GetCheckSumManager()
Get checksum manager.
static Monitor * GetMonitor()
Get the monitor object.
static TransportManager * GetTransportManager()
Get transport manager.
static PlugInFactory * GetPlugInFactory(const std::string url)
static Log * GetLog()
Get default log.
static PostMaster * GetPostMaster()
Get default post master.
static void SetLogLevel(const std::string &level)
static void SetLogMask(const std::string &level, const std::string &mask)
Set log mask.
static FileTimer * GetFileTimer()
Get file timer task.
static ForkHandler * GetForkHandler()
Get the fork handler.
static Env * GetEnv()
Get default client environment.
static void ReInitializeLogging()
Re-initialize the logging.
Task generating timeout events for FileStateHandlers in recovery mode.
Handle diagnostics.
Definition XrdClLog.hh:101
An abstract class to describe the client-side monitoring plugin interface.
Manage client-side plug-ins and match them agains URLs.
A hub for dispatching and receiving messages.
Manage transport handler objects.
XrdSysError Log
Definition XrdConfig.cc:111