Logo ROOT   6.10/09
Reference Guide
TDavixSystem.h
Go to the documentation of this file.
1 // @(#)root/net:$Id$
2 // Author: Adrien Devresse and Fabrizio Furano
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TDavixSystem
13 #define ROOT_TDavixSystem
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TDavixSystem //
18 // //
19 // A TSystem specialization for HTTP and WebDAV //
20 // It supports HTTP and HTTPS in a number of dialects and options //
21 // e.g. S3 is one of them //
22 // Other caracteristics come from the full support of Davix, //
23 // e.g. full redirection support in any circumstance //
24 // //
25 // Authors: Adrien Devresse (CERN IT/SDC) //
26 // Fabrizio Furano (CERN IT/SDC) //
27 // //
28 // September 2013 //
29 // //
30 //////////////////////////////////////////////////////////////////////////
31 
32 #include "TUrl.h"
33 #include "TSystem.h"
34 #include "TMutex.h"
35 
36 
37 class TDavixFileInternal;
38 struct Davix_fd;
39 
40 
41 class TDavixSystem : public TSystem {
42 private:
44 
45 public:
46  TDavixSystem();
47  TDavixSystem(const char *url);
48 
49  virtual ~TDavixSystem();
50 
51  virtual void FreeDirectory(void *dirp);
52  virtual const char *GetDirEntry(void *dirp);
53  virtual Bool_t ConsistentWith(const char *path, void *dirptr);
54 
55  virtual Int_t GetPathInfo(const char* path, FileStat_t &buf);
56  virtual Bool_t IsPathLocal(const char *path);
57  virtual Int_t Locate(const char* path, TString &endurl);
58  virtual Int_t MakeDirectory(const char* dir);
59  virtual void *OpenDirectory(const char* dir);
60  virtual int Unlink(const char *path);
61 
63 };
64 
65 #endif
virtual Int_t MakeDirectory(const char *dir)
Make a directory.
Basic string class.
Definition: TString.h:129
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual int Unlink(const char *path)
Unlink, i.e. remove, a file.
virtual Int_t Locate(const char *path, TString &endurl)
#define ClassDef(name, id)
Definition: Rtypes.h:297
virtual Bool_t IsPathLocal(const char *path)
Returns TRUE if the url in 'path' points to the local file system.
virtual void * OpenDirectory(const char *dir)
Open a directory. Returns 0 if directory does not exist.
TDavixFileInternal * d_ptr
Definition: TDavixSystem.h:43
virtual void FreeDirectory(void *dirp)
Free a directory.
virtual Bool_t ConsistentWith(const char *path, void *dirptr)
Check consistency of this helper with the one required by 'path' or 'dirptr'.
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries.
Abstract base class defining a generic interface to the underlying Operating System.
Definition: TSystem.h:248
virtual Int_t GetPathInfo(const char *path, FileStat_t &buf)
Get info about a file.
virtual ~TDavixSystem()