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
TSocketfSocket
TUrl fProxy
Bool_t fHasModRoot
Bool_t fHTTP11
Bool_t fNoProxy
TString fMsgReadBuffer
TString fMsgReadBuffer10
TString fMsgGetHead
TString fBasicUrl
TUrl fUrlOrg
TString fBasicUrlOrg
TSocketfSocket

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