XRootD
Loading...
Searching...
No Matches
XrdOucGatherConf.hh
Go to the documentation of this file.
1#ifndef __XRDOUCGATHERCONF_HH__
2#define __XRDOUCGATHERCONF_HH__
3/******************************************************************************/
4/* */
5/* X r d O u c G a t h e r C o n f . h h */
6/* */
7/* (c) 2021 by the Board of Trustees of the Leland Stanford, Jr., University */
8/* Produced by Andrew Hanushevsky for Stanford University under contract */
9/* DE-AC02-76-SFO0515 with the Deprtment of Energy */
10/* */
11/* This file is part of the XRootD software suite. */
12/* */
13/* XRootD is free software: you can redistribute it and/or modify it under */
14/* the terms of the GNU Lesser General Public License as published by the */
15/* Free Software Foundation, either version 3 of the License, or (at your */
16/* option) any later version. */
17/* */
18/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
19/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
20/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
21/* License for more details. */
22/* */
23/* You should have received a copy of the GNU Lesser General Public License */
24/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
25/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
26/* */
27/* The copyright holder's institutional names and contributor's names may not */
28/* be used to endorse or promote products derived from this software without */
29/* specific prior written permission of the institution or contributor. */
30/******************************************************************************/
31
33class XrdSysError;
34
36{
37public:
38
39//------------------------------------------------------------------------------
43//------------------------------------------------------------------------------
44
45void EchoLine();
46
47//------------------------------------------------------------------------------
55//------------------------------------------------------------------------------
56
57void EchoOrder(bool doBefore);
58
59//------------------------------------------------------------------------------
82//------------------------------------------------------------------------------
83
84enum Level {full_lines = 0,
88 };
89
90int Gather(const char *cfname, Level lvl, const char *parms=0);
91
92//------------------------------------------------------------------------------
99//------------------------------------------------------------------------------
100
101char* GetLine();
102
103//------------------------------------------------------------------------------
113//------------------------------------------------------------------------------
114
115char* GetToken(char **rest=0, int lowcase=0);
116
117//------------------------------------------------------------------------------
122//------------------------------------------------------------------------------
123
124const char* LastLine();
125
126//------------------------------------------------------------------------------
130//------------------------------------------------------------------------------
131
132bool hasData();
133
134//-----------------------------------------------------------------------------
147//-----------------------------------------------------------------------------
148
149void MsgE(const char* txt1, const char* txt2=0, const char* txt3=0,
150 const char* txt4=0, const char* txt5=0, const char* txt6=0);
151
152void MsgW(const char* txt1, const char* txt2=0, const char* txt3=0,
153 const char* txt4=0, const char* txt5=0, const char* txt6=0);
154
155//-----------------------------------------------------------------------------
169//-----------------------------------------------------------------------------
170
171void MsgfE(const char *fmt, ...);
172
173void MsgfW(const char *fmt, ...);
174
175//------------------------------------------------------------------------------
182//------------------------------------------------------------------------------
183
184void RetToken();
185
186//------------------------------------------------------------------------------
191//------------------------------------------------------------------------------
192
193void Tabs(int x=1);
194
195//------------------------------------------------------------------------------
201//------------------------------------------------------------------------------
202
203bool useData(const char *data);
204
205//------------------------------------------------------------------------------
216//------------------------------------------------------------------------------
217
218 XrdOucGatherConf(const char *want, XrdSysError *errP=0);
219
220//------------------------------------------------------------------------------
232//------------------------------------------------------------------------------
233
234 XrdOucGatherConf(const char **&want, XrdSysError *errP=0);
235
237
238private:
239
240void MsgX(const char** mVec, int n);
241void MsgfX(const char* txt1, const char* txt2);
242
244};
245#endif
char * GetToken(char **rest=0, int lowcase=0)
XrdOucGatherConf(const char *want, XrdSysError *errP=0)
void MsgfW(const char *fmt,...)
void MsgW(const char *txt1, const char *txt2=0, const char *txt3=0, const char *txt4=0, const char *txt5=0, const char *txt6=0)
void MsgfE(const char *fmt,...)
int Gather(const char *cfname, Level lvl, const char *parms=0)
void MsgE(const char *txt1, const char *txt2=0, const char *txt3=0, const char *txt4=0, const char *txt5=0, const char *txt6=0)
void EchoOrder(bool doBefore)
const char * LastLine()
bool useData(const char *data)
@ trim_lines
Prefix trimmed lines.
@ trim_body
Prefix trimmed lines as a string blob.
@ only_body
Only directive bodies as a string blob.
@ full_lines
Complete lines.