TWebFile Class Reference

#include <TWebFile.h>

Inheritance diagram for TWebFile:

TFile TFile TDirectoryFile TDirectoryFile TDirectoryFile TDirectoryFile TDirectory TDirectory TDirectory TDirectory TDirectory TDirectory TDirectory TDirectory List of all members.

Public Member Functions

 TWebFile (const char *url, Option_t *opt="")
 TWebFile (TUrl url, Option_t *opt="")
virtual ~TWebFile ()
Long64_t GetSize () const
Bool_t IsOpen () const
Int_t ReOpen (Option_t *mode)
Bool_t ReadBuffer (char *buf, Int_t len)
Bool_t ReadBuffer (char *buf, Long64_t pos, Int_t len)
Bool_t ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
void Seek (Long64_t offset, ERelativeTo pos=kBeg)
 TWebFile (const char *url, Option_t *opt="")
 TWebFile (TUrl url, Option_t *opt="")
virtual ~TWebFile ()
Long64_t GetSize () const
Bool_t IsOpen () const
Int_t ReOpen (Option_t *mode)
Bool_t ReadBuffer (char *buf, Int_t len)
Bool_t ReadBuffer (char *buf, Long64_t pos, Int_t len)
Bool_t ReadBuffers (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
void Seek (Long64_t offset, ERelativeTo pos=kBeg)

Static Public Member Functions

static void SetProxy (const char *url)
static const char * GetProxy ()
static void SetProxy (const char *url)
static const char * GetProxy ()

Private Member Functions

 TWebFile ()
void Init (Bool_t readHeadOnly)
void CheckProxy ()
TString BasicAuthentication ()
Int_t GetHead ()
Int_t GetLine (TSocket *s, char *line, Int_t maxsize)
Int_t GetHunk (TSocket *s, char *hunk, Int_t maxsize)
const char * HttpTerminator (const char *start, const char *peeked, Int_t peeklen)
Int_t GetFromWeb (char *buf, Int_t len, const TString &msg)
Int_t GetFromWeb10 (char *buf, Int_t len, const TString &msg)
Bool_t ReadBuffer10 (char *buf, Int_t len)
Bool_t ReadBuffers10 (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
void SetMsgReadBuffer10 (const char *redirectLocation=0, Bool_t tempRedirect=kFALSE)
 TWebFile ()
void Init (Bool_t readHeadOnly)
void CheckProxy ()
TString BasicAuthentication ()
Int_t GetHead ()
Int_t GetLine (TSocket *s, char *line, Int_t maxsize)
Int_t GetHunk (TSocket *s, char *hunk, Int_t maxsize)
const char * HttpTerminator (const char *start, const char *peeked, Int_t peeklen)
Int_t GetFromWeb (char *buf, Int_t len, const TString &msg)
Int_t GetFromWeb10 (char *buf, Int_t len, const TString &msg)
Bool_t ReadBuffer10 (char *buf, Int_t len)
Bool_t ReadBuffers10 (char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
void SetMsgReadBuffer10 (const char *redirectLocation=0, Bool_t tempRedirect=kFALSE)

Private Attributes

Long64_t fSize
TSocket * fSocket
TUrl fProxy
Bool_t fHasModRoot
Bool_t fHTTP11
Bool_t fNoProxy
TString fMsgReadBuffer
TString fMsgReadBuffer10
TString fMsgGetHead
TString fBasicUrl
TUrl fUrlOrg
TString fBasicUrlOrg
TSocket * fSocket

Static Private Attributes

static TUrl fgProxy

Friends

class TWebSocket
class TWebSystem

Detailed Description

Definition at line 39 of file TWebFile.h.


Constructor & Destructor Documentation

TWebFile::TWebFile (  )  [inline, private]

Definition at line 60 of file TWebFile.h.

TWebFile::TWebFile ( const char *  url,
Option_t *  opt = "" 
)

TWebFile::TWebFile ( TUrl  url,
Option_t *  opt = "" 
)

Definition at line 141 of file TWebFile.cxx.

References CheckProxy(), fNoProxy, Init(), kFALSE, TString::kIgnoreCase, kTRUE, and option.

TWebFile::~TWebFile (  )  [virtual]

Definition at line 171 of file TWebFile.cxx.

References fSocket.

TWebFile::TWebFile (  )  [inline, private]

Definition at line 60 of file TWebFile.h.

TWebFile::TWebFile ( const char *  url,
Option_t *  opt = "" 
)

TWebFile::TWebFile ( TUrl  url,
Option_t *  opt = "" 
)

virtual TWebFile::~TWebFile (  )  [virtual]


Member Function Documentation

void TWebFile::Init ( Bool_t  readHeadOnly  )  [private, virtual]

Reimplemented from TFile.

Definition at line 179 of file TWebFile.cxx.

References buf, TString::Data(), TObject::Error(), fBasicUrl, TFile::fD, fHasModRoot, fHTTP11, TFile::fIsRootFile, fSize, fSocket, TFile::fWritten, gDirectory, GetHead(), gROOT, TFile::Init(), kFALSE, TObject::MakeZombie(), ReadBuffer(), Seek(), and SetMsgReadBuffer10().

Referenced by TWebFile().

void TWebFile::CheckProxy (  )  [private]

Definition at line 311 of file TWebFile.cxx.

References TString::Data(), TObject::Error(), fgProxy, fNoProxy, fProxy, TSystem::Getenv(), gSystem, TUrl::IsValid(), and p.

Referenced by TWebFile().

TString TWebFile::BasicAuthentication (  )  [private]

Definition at line 1133 of file TWebFile.cxx.

References TBase64::Encode(), TFile::fUrl, TUrl::GetPasswd(), and TUrl::GetUser().

Referenced by GetHead(), and SetMsgReadBuffer10().

Int_t TWebFile::GetHead (  )  [private]

Definition at line 809 of file TWebFile.cxx.

References TString::Atoi(), BasicAuthentication(), TString::Data(), EISCONN, TObject::Error(), fBasicUrl, fBasicUrlOrg, fHasModRoot, fHTTP11, fMsgGetHead, fMsgReadBuffer10, fProxy, fSize, TFile::fUrl, gDebug, TSystem::GetErrno(), TUrl::GetHost(), GetLine(), TUrl::GetPort(), gSystem, gUserAgent, i, TObject::Info(), TUrl::IsValid(), kFALSE, kTRUE, TString::Length(), line, n, redirect(), s, SetMsgReadBuffer10(), and TSystem::Sleep().

Referenced by Init().

Int_t TWebFile::GetLine ( TSocket *  s,
char *  line,
Int_t  maxsize 
) [private]

Definition at line 954 of file TWebFile.cxx.

References TObject::Error(), fHTTP11, TFile::fUrl, gDebug, TUrl::GetHost(), GetHunk(), n, and s.

Referenced by GetFromWeb10(), and GetHead().

Int_t TWebFile::GetHunk ( TSocket *  s,
char *  hunk,
Int_t  maxsize 
) [private]

Definition at line 979 of file TWebFile.cxx.

References bufsize, TObject::Error(), TFile::fUrl, TUrl::GetHost(), HttpTerminator(), kDontBlock, kPeek, and s.

Referenced by GetLine().

const char * TWebFile::HttpTerminator ( const char *  start,
const char *  peeked,
Int_t  peeklen 
) [private]

Definition at line 1097 of file TWebFile.cxx.

References p.

Referenced by GetHunk().

Int_t TWebFile::GetFromWeb ( char *  buf,
Int_t  len,
const TString &  msg 
) [private]

Definition at line 537 of file TWebFile.cxx.

References TString::Data(), TObject::Error(), TFile::fBytesRead, TFile::fgBytesRead, TFile::fgReadCalls, TVirtualPerfStats::FileReadEvent(), fProxy, TFile::fReadCalls, TFile::fUrl, TFile::GetFileBytesRead(), TFile::GetFileReadCalls(), TUrl::GetHost(), TUrl::GetPort(), gPerfStats, TUrl::IsValid(), TString::Length(), s, TFile::SetFileBytesRead(), TFile::SetFileReadCalls(), and start.

Referenced by GetSize(), ReadBuffer(), and ReadBuffers().

Int_t TWebFile::GetFromWeb10 ( char *  buf,
Int_t  len,
const TString &  msg 
) [private]

Definition at line 587 of file TWebFile.cxx.

References TString::Atoi(), TString::Data(), TObject::Error(), fBasicUrl, fBasicUrlOrg, TFile::fBytesRead, TFile::fgBytesRead, TFile::fgReadCalls, fHTTP11, TVirtualPerfStats::FileReadEvent(), fMsgReadBuffer10, TFile::fReadCalls, fSize, fSocket, TFile::fUrl, gDebug, TFile::GetFileBytesRead(), TFile::GetFileReadCalls(), TUrl::GetHost(), GetLine(), gPerfStats, TObject::Info(), TSocket::IsValid(), kFALSE, kTRUE, TString::Length(), line, Long64_t, n, TSocket::RecvRaw(), redirect(), TWebSocket::ReOpen(), TSocket::SendRaw(), TFile::SetFileBytesRead(), TFile::SetFileReadCalls(), SetMsgReadBuffer10(), and start.

Referenced by ReadBuffer10(), and ReadBuffers10().

Bool_t TWebFile::ReadBuffer10 ( char *  buf,
Int_t  len 
) [private]

Definition at line 416 of file TWebFile.cxx.

References TString::Data(), TObject::Error(), fBasicUrl, fMsgReadBuffer10, TFile::fOffset, gDirectory, GetFromWeb10(), gROOT, kFALSE, kTRUE, TObject::MakeZombie(), n, and SetMsgReadBuffer10().

Referenced by ReadBuffer().

Bool_t TWebFile::ReadBuffers10 ( char *  buf,
Long64_t *  pos,
Int_t *  len,
Int_t  nbuf 
) [private]

Definition at line 496 of file TWebFile.cxx.

References TFile::fArchiveOffset, fMsgReadBuffer10, GetFromWeb10(), i, k, kFALSE, kTRUE, TString::Length(), n, and SetMsgReadBuffer10().

Referenced by ReadBuffers().

void TWebFile::SetMsgReadBuffer10 ( const char *  redirectLocation = 0,
Bool_t  tempRedirect = kFALSE 
) [private]

Definition at line 233 of file TWebFile.cxx.

References BasicAuthentication(), fBasicUrl, fBasicUrlOrg, fHTTP11, fMsgReadBuffer10, TFile::fUrl, fUrlOrg, TUrl::GetFile(), TUrl::GetHost(), TUrl::GetPort(), TUrl::GetProtocol(), gUserAgent, TString::ReplaceAll(), and TUrl::SetUrl().

Referenced by GetFromWeb10(), GetHead(), Init(), ReadBuffer10(), and ReadBuffers10().

Long64_t TWebFile::GetSize (  )  const [virtual]

Reimplemented from TFile.

Definition at line 778 of file TWebFile.cxx.

References fBasicUrl, fHasModRoot, fSize, GetFromWeb(), kMaxInt, Long64_t, and size.

Bool_t TWebFile::IsOpen (  )  const [virtual]

Reimplemented from TFile.

Definition at line 336 of file TWebFile.cxx.

References TObject::IsZombie(), kFALSE, and kTRUE.

Int_t TWebFile::ReOpen ( Option_t *  mode  )  [virtual]

Reimplemented from TFile.

Definition at line 344 of file TWebFile.cxx.

References TString::Data(), TObject::Error(), and TString::ToUpper().

Bool_t TWebFile::ReadBuffer ( char *  buf,
Int_t  len 
) [virtual]

Reimplemented from TFile.

Definition at line 367 of file TWebFile.cxx.

References fBasicUrl, fHasModRoot, fMsgReadBuffer, TFile::fOffset, GetFromWeb(), kFALSE, kTRUE, ReadBuffer10(), and TFile::ReadBufferViaCache().

Referenced by Init(), and ReadBuffer().

Bool_t TWebFile::ReadBuffer ( char *  buf,
Long64_t  pos,
Int_t  len 
) [virtual]

Reimplemented from TFile.

Definition at line 405 of file TWebFile.cxx.

References ReadBuffer(), and TFile::SetOffset().

Bool_t TWebFile::ReadBuffers ( char *  buf,
Long64_t *  pos,
Int_t *  len,
Int_t  nbuf 
) [virtual]

Reimplemented from TFile.

Definition at line 449 of file TWebFile.cxx.

References TFile::fArchiveOffset, fBasicUrl, fHasModRoot, fMsgReadBuffer, GetFromWeb(), i, k, kFALSE, kTRUE, TString::Length(), n, and ReadBuffers10().

void TWebFile::Seek ( Long64_t  offset,
ERelativeTo  pos = kBeg 
) [virtual]

Reimplemented from TFile.

Definition at line 757 of file TWebFile.cxx.

References TObject::Error(), TFile::fArchiveOffset, TFile::fEND, TFile::fOffset, TFile::kBeg, TFile::kCur, and TFile::kEnd.

Referenced by Init().

void TWebFile::SetProxy ( const char *  url  )  [static]

Definition at line 1152 of file TWebFile.cxx.

References TObject::Error(), fgProxy, and p.

Referenced by G__G__Net_283_0_23(), and G__setup_memfuncTWebFile().

const char * TWebFile::GetProxy (  )  [static]

Definition at line 1168 of file TWebFile.cxx.

References fgProxy, TUrl::GetUrl(), and TUrl::IsValid().

Referenced by G__G__Net_283_0_24(), and G__setup_memfuncTWebFile().

void TWebFile::Init ( Bool_t  readHeadOnly  )  [private, virtual]

Reimplemented from TFile.

void TWebFile::CheckProxy (  )  [private]

TString TWebFile::BasicAuthentication (  )  [private]

Int_t TWebFile::GetHead (  )  [private]

Int_t TWebFile::GetLine ( TSocket *  s,
char *  line,
Int_t  maxsize 
) [private]

Int_t TWebFile::GetHunk ( TSocket *  s,
char *  hunk,
Int_t  maxsize 
) [private]

const char* TWebFile::HttpTerminator ( const char *  start,
const char *  peeked,
Int_t  peeklen 
) [private]

Int_t TWebFile::GetFromWeb ( char *  buf,
Int_t  len,
const TString &  msg 
) [private]

Int_t TWebFile::GetFromWeb10 ( char *  buf,
Int_t  len,
const TString &  msg 
) [private]

Bool_t TWebFile::ReadBuffer10 ( char *  buf,
Int_t  len 
) [private]

Bool_t TWebFile::ReadBuffers10 ( char *  buf,
Long64_t *  pos,
Int_t *  len,
Int_t  nbuf 
) [private]

void TWebFile::SetMsgReadBuffer10 ( const char *  redirectLocation = 0,
Bool_t  tempRedirect = kFALSE 
) [private]

Long64_t TWebFile::GetSize (  )  const [virtual]

Reimplemented from TFile.

Bool_t TWebFile::IsOpen (  )  const [virtual]

Reimplemented from TFile.

Int_t TWebFile::ReOpen ( Option_t *  mode  )  [virtual]

Reimplemented from TFile.

Bool_t TWebFile::ReadBuffer ( char *  buf,
Int_t  len 
) [virtual]

Reimplemented from TFile.

Bool_t TWebFile::ReadBuffer ( char *  buf,
Long64_t  pos,
Int_t  len 
) [virtual]

Reimplemented from TFile.

Bool_t TWebFile::ReadBuffers ( char *  buf,
Long64_t *  pos,
Int_t *  len,
Int_t  nbuf 
) [virtual]

Reimplemented from TFile.

void TWebFile::Seek ( Long64_t  offset,
ERelativeTo  pos = kBeg 
) [virtual]

Reimplemented from TFile.

static void TWebFile::SetProxy ( const char *  url  )  [static]

static const char* TWebFile::GetProxy (  )  [static]


Friends And Related Function Documentation

TWebSocket [friend]

Definition at line 41 of file TWebFile.h.

TWebSystem [friend]

Definition at line 42 of file TWebFile.h.


Member Data Documentation

Long64_t TWebFile::fSize [mutable, private]

Definition at line 45 of file TWebFile.h.

Referenced by GetFromWeb10(), GetHead(), GetSize(), and Init().

TSocket* TWebFile::fSocket [private]

Definition at line 46 of file TWebFile.h.

Referenced by GetFromWeb10(), Init(), TWebSocket::ReOpen(), ~TWebFile(), and TWebSocket::~TWebSocket().

TUrl TWebFile::fProxy [private]

Definition at line 47 of file TWebFile.h.

Referenced by CheckProxy(), GetFromWeb(), GetHead(), and TWebSocket::ReOpen().

Bool_t TWebFile::fHasModRoot [private]

Definition at line 48 of file TWebFile.h.

Referenced by GetHead(), GetSize(), Init(), ReadBuffer(), and ReadBuffers().

Bool_t TWebFile::fHTTP11 [private]

Definition at line 49 of file TWebFile.h.

Referenced by GetFromWeb10(), GetHead(), GetLine(), Init(), SetMsgReadBuffer10(), and TWebSocket::~TWebSocket().

Bool_t TWebFile::fNoProxy [private]

Definition at line 50 of file TWebFile.h.

Referenced by CheckProxy(), and TWebFile().

TString TWebFile::fMsgReadBuffer [private]

Definition at line 51 of file TWebFile.h.

Referenced by ReadBuffer(), and ReadBuffers().

TString TWebFile::fMsgReadBuffer10 [private]

Definition at line 52 of file TWebFile.h.

Referenced by GetFromWeb10(), GetHead(), ReadBuffer10(), ReadBuffers10(), and SetMsgReadBuffer10().

TString TWebFile::fMsgGetHead [private]

Definition at line 53 of file TWebFile.h.

Referenced by GetHead().

TString TWebFile::fBasicUrl [private]

Definition at line 54 of file TWebFile.h.

Referenced by GetFromWeb10(), GetHead(), GetSize(), Init(), ReadBuffer(), ReadBuffer10(), ReadBuffers(), and SetMsgReadBuffer10().

TUrl TWebFile::fUrlOrg [private]

Definition at line 55 of file TWebFile.h.

Referenced by SetMsgReadBuffer10().

TString TWebFile::fBasicUrlOrg [private]

Definition at line 56 of file TWebFile.h.

Referenced by GetFromWeb10(), GetHead(), and SetMsgReadBuffer10().

TUrl TWebFile::fgProxy [static, private]

Definition at line 58 of file TWebFile.h.

Referenced by CheckProxy(), GetProxy(), and SetProxy().

TSocket* TWebFile::fSocket [private]

Definition at line 46 of file TWebFile.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:49:48 2011 for ROOT_528-00b_version by  doxygen 1.5.1