ROOT
6.10/09
Reference Guide
proof
xrdinc
XrdClient
XrdClientUrlInfo.hh
Go to the documentation of this file.
1
#ifndef _XRC_URLINFO_H
2
#define _XRC_URLINFO_H
3
/******************************************************************************/
4
/* */
5
/* X r d C l i e n t U r l I n f o . h h */
6
/* */
7
/* Author: Fabrizio Furano (INFN Padova, 2004) */
8
/* Adapted from TXNetFile (root.cern.ch) originally done by */
9
/* Alvise Dorigo, Fabrizio Furano, INFN Padova, 2003 */
10
/* Revised by G. Ganis, CERN, June 2005 */
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
//////////////////////////////////////////////////////////////////////////
34
// //
35
// Class handling information about an url //
36
// The purpose of this class is to allow: //
37
// - parsing a string url into its components //
38
// - reading/writing the single components //
39
// - reading the modified full url //
40
// //
41
//////////////////////////////////////////////////////////////////////////
42
43
#include "XrdOuc/XrdOucString.hh"
44
45
//
46
// The information an url may contain
47
// Plus utilities for parsing and rebuilding an url
48
//
49
50
class
XrdClientUrlInfo
{
51
public
:
52
XrdOucString
Proto
;
53
XrdOucString
Passwd
;
54
XrdOucString
User
;
55
XrdOucString
Host
;
56
int
Port
;
57
XrdOucString
HostAddr
;
58
XrdOucString
HostWPort
;
59
XrdOucString
File
;
60
61
void
Clear
();
62
void
TakeUrl
(XrdOucString url);
63
XrdOucString
GetUrl
();
64
65
XrdClientUrlInfo
(
const
char
*url);
66
XrdClientUrlInfo
(
const
XrdOucString &url);
67
XrdClientUrlInfo
(
const
XrdClientUrlInfo
&url);
68
XrdClientUrlInfo
();
69
70
void
SetAddrFromHost
();
71
72
inline
bool
IsValid
() {
return
(Port >= 0); }
73
74
XrdClientUrlInfo
&
operator=
(
const
XrdOucString &url);
75
XrdClientUrlInfo
&
operator=
(
const
XrdClientUrlInfo
&url);
76
};
77
#endif
XrdClientUrlInfo::TakeUrl
void TakeUrl(XrdOucString url)
XrdClientUrlInfo::Port
int Port
Definition:
XrdClientUrlInfo.hh:56
XrdClientUrlInfo::HostWPort
XrdOucString HostWPort
Definition:
XrdClientUrlInfo.hh:58
XrdClientUrlInfo
Definition:
XrdClientUrlInfo.hh:50
XrdClientUrlInfo::IsValid
bool IsValid()
Definition:
XrdClientUrlInfo.hh:72
XrdClientUrlInfo::Clear
void Clear()
XrdClientUrlInfo::File
XrdOucString File
Definition:
XrdClientUrlInfo.hh:59
XrdClientUrlInfo::Proto
XrdOucString Proto
Definition:
XrdClientUrlInfo.hh:52
XrdClientUrlInfo::Passwd
XrdOucString Passwd
Definition:
XrdClientUrlInfo.hh:53
XrdClientUrlInfo::User
XrdOucString User
Definition:
XrdClientUrlInfo.hh:54
XrdClientUrlInfo::GetUrl
XrdOucString GetUrl()
XrdClientUrlInfo::operator=
XrdClientUrlInfo & operator=(const XrdOucString &url)
XrdClientUrlInfo::SetAddrFromHost
void SetAddrFromHost()
XrdClientUrlInfo::XrdClientUrlInfo
XrdClientUrlInfo()
XrdClientUrlInfo::Host
XrdOucString Host
Definition:
XrdClientUrlInfo.hh:55
XrdClientUrlInfo::HostAddr
XrdOucString HostAddr
Definition:
XrdClientUrlInfo.hh:57