XRootD
XrdMpxXml.hh
Go to the documentation of this file.
1
#ifndef __XRDMPXXML_HH__
2
#define __XRDMPXXML_HH__
3
/******************************************************************************/
4
/* */
5
/* X r d M p x X m l . h h */
6
/* */
7
/* (c) 2018 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* All Rights Reserved */
9
/* Produced by Andrew Hanushevsky for Stanford University under contract */
10
/* DE-AC02-76-SFO0515 with the Department of Energy */
11
/* */
12
/* This file is part of the XRootD software suite. */
13
/* */
14
/* XRootD is free software: you can redistribute it and/or modify it under */
15
/* the terms of the GNU Lesser General Public License as published by the */
16
/* Free Software Foundation, either version 3 of the License, or (at your */
17
/* option) any later version. */
18
/* */
19
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22
/* License for more details. */
23
/* */
24
/* You should have received a copy of the GNU Lesser General Public License */
25
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27
/* */
28
/* The copyright holder's institutional names and contributor's names may not */
29
/* be used to endorse or promote products derived from this software without */
30
/* specific prior written permission of the institution or contributor. */
31
/******************************************************************************/
32
33
class
XrdOucTokenizer
;
34
35
class
XrdMpxXml
36
{
37
public
:
38
39
enum
fmtType
{
fmtCGI
,
fmtFlat
,
fmtText
,
fmtXML
};
40
41
int
Format
(
const
char
*Host,
char
*ibuff,
char
*obuff);
42
43
XrdMpxXml
(
fmtType
ft,
bool
nz=
false
,
bool
dbg=
false
)
44
: fType(ft), Debug(dbg), noZed(nz)
45
{
if
(ft ==
fmtCGI
) {vSep =
'='
; vSfx =
'&'
;}
46
else
{vSep =
' '
; vSfx =
'\n'
;}
47
doV2T = ft ==
fmtText
;
48
}
49
~XrdMpxXml
() {}
50
51
private
:
52
53
struct
VarInfo
54
{
const
char
*Name;
55
char
*Data;
56
};
57
58
char
*Add(
char
*Buff,
const
char
*Var,
const
char
*Val);
59
void
getVars(
XrdOucTokenizer
&Data, VarInfo Var[]);
60
int
xmlErr(
const
char
*t1,
const
char
*t2=0,
const
char
*t3=0);
61
62
fmtType
fType;
63
char
vSep;
64
char
vSfx;
65
bool
Debug;
66
bool
noZed;
67
bool
doV2T;
68
};
69
#endif
XrdMpxXml
Definition:
XrdMpxXml.hh:36
XrdMpxXml::~XrdMpxXml
~XrdMpxXml()
Definition:
XrdMpxXml.hh:49
XrdMpxXml::Format
int Format(const char *Host, char *ibuff, char *obuff)
Definition:
XrdMpxXml.cc:242
XrdMpxXml::XrdMpxXml
XrdMpxXml(fmtType ft, bool nz=false, bool dbg=false)
Definition:
XrdMpxXml.hh:43
XrdMpxXml::fmtType
fmtType
Definition:
XrdMpxXml.hh:39
XrdMpxXml::fmtText
@ fmtText
Definition:
XrdMpxXml.hh:39
XrdMpxXml::fmtCGI
@ fmtCGI
Definition:
XrdMpxXml.hh:39
XrdMpxXml::fmtFlat
@ fmtFlat
Definition:
XrdMpxXml.hh:39
XrdMpxXml::fmtXML
@ fmtXML
Definition:
XrdMpxXml.hh:39
XrdOucTokenizer
Definition:
XrdOucTokenizer.hh:33
XrdApps
XrdMpxXml.hh
Generated by
1.9.1