XrdTokenAuthzOfs.hh

Go to the documentation of this file.
00001 #ifndef __ENVOFS__H__
00002 #define __ENVOFS__H__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                       X r d E n v O f s . h h                              */
00006 /*                                                                            */
00007 /******************************************************************************/
00008 #include "XrdVersion.hh"
00009 #include "XrdSys/XrdSysError.hh"
00010 #include "XrdSys/XrdSysLogger.hh"
00011 #include "XrdSys/XrdSysPthread.hh"
00012 #include "XrdSec/XrdSecInterface.hh"
00013 #include "XrdSfs/XrdSfsAio.hh"
00014 #include "XrdSfs/XrdSfsNative.hh"
00015 #include "XrdOuc/XrdOucEnv.hh"
00016 #include "XrdOfs/XrdOfs.hh"
00017 
00018 /******************************************************************************/
00019 /*                 X r d E n v O f s D i r e c t o r y                  */
00020 /******************************************************************************/
00021   
00022 class XrdTokenAuthzOfsDirectory : public XrdOfsDirectory
00023 {
00024 public:
00025 
00026         int         open(const char              *dirName,
00027                            const XrdSecClientName  *client = 0) {return XrdOfsDirectory::open(dirName,client);}
00028 
00029         const char *nextEntry(){return XrdOfsDirectory::nextEntry();}
00030 
00031         int         close(){return XrdOfsDirectory::close();}
00032           ;
00033 const   char       *FName() {return XrdOfsDirectory::FName();}
00034                     XrdTokenAuthzOfsDirectory(char* user=0) : XrdOfsDirectory(user) {}
00035 private:
00036 };
00037 
00038 /******************************************************************************/
00039 /*                      X r d E n v O f s F i l e                       */
00040 /******************************************************************************/
00041   
00042 
00043 class XrdTokenAuthzOfsFile : public XrdOfsFile
00044 {
00045 public:
00046 
00047         int            open(const char                *fileName,
00048                                   XrdSfsFileOpenMode   openMode,
00049                                   mode_t               createMode,
00050                             const XrdSecClientName    *client = 0,
00051                             const char                *opaque = 0) ;
00052         int            close(){return XrdOfsFile::close();}
00053 
00054         const char    *FName() {return XrdOfsFile::FName();}
00055 
00056         int            getMmap(void **Addr, off_t &Size){return XrdOfsFile::getMmap(Addr,Size);}
00057 
00058         int            read(XrdSfsFileOffset   fileOffset,
00059                             XrdSfsXferSize     preread_sz) {return XrdOfsFile::read(fileOffset,preread_sz);}
00060 
00061         XrdSfsXferSize read(XrdSfsFileOffset   fileOffset,
00062                             char              *buffer,
00063                             XrdSfsXferSize     buffer_size) {return XrdOfsFile::read(fileOffset,buffer,buffer_size);}
00064 
00065         int            read(XrdSfsAio *aioparm) {return XrdOfsFile::read(aioparm);}
00066 
00067         XrdSfsXferSize write(XrdSfsFileOffset   fileOffset,
00068                              const char        *buffer,
00069                              XrdSfsXferSize     buffer_size){return XrdOfsFile::write(fileOffset,buffer,buffer_size);}
00070 
00071         int            write(XrdSfsAio *aioparm){return XrdOfsFile::write(aioparm);}
00072 
00073         int            sync(){return XrdOfsFile::sync();}
00074 
00075         int            sync(XrdSfsAio *aiop){return XrdOfsFile::sync(aiop);}
00076 
00077         int            stat(struct stat *buf){return XrdOfsFile::stat(buf);}
00078 
00079         int            truncate(XrdSfsFileOffset   fileOffset){return XrdOfsFile::truncate(fileOffset);}
00080 
00081         int            getCXinfo(char cxtype[4], int &cxrsz) {return XrdOfsFile::getCXinfo(cxtype,cxrsz);}
00082                        XrdTokenAuthzOfsFile(char* user=0) : XrdOfsFile(user) {}
00083 private:
00084 };
00085 
00086 /******************************************************************************/
00087 /*                          X r d S f s N a t i v e                           */
00088 /******************************************************************************/
00089   
00090 class XrdTokenAuthzOfs : public XrdOfs
00091 {
00092 friend class XrdTokenAuthzOfsDirectory;
00093 friend class XrdTokenAuthzOfsFile;
00094 public:
00095 
00096 // Object Allocation Functions
00097 //
00098         XrdSfsDirectory *newDir(char *user=0)
00099                         {return (XrdSfsDirectory *)new XrdTokenAuthzOfsDirectory(user);}
00100 
00101         XrdSfsFile      *newFile(char *user=0)
00102                         {return      (XrdSfsFile *)new XrdTokenAuthzOfsFile(user);}
00103 
00104 // Other Functions
00105 //
00106         int            chmod(const char             *Name,
00107                                    XrdSfsMode        Mode,
00108                                    XrdOucErrInfo    &out_error,
00109                              const XrdSecClientName *client = 0){return XrdOfs::chmod(Name,Mode,out_error,client);}
00110 
00111         int            exists(const char                *fileName,
00112                                     XrdSfsFileExistence &exists_flag,
00113                                     XrdOucErrInfo       &out_error, 
00114                               const XrdSecClientName    *client = 0){return XrdOfs::exists(fileName,exists_flag,out_error,client);}
00115 
00116         int            fsctl(const int               cmd,
00117                              const char             *args,
00118                                    XrdOucErrInfo    &out_error,
00119                              const XrdSecClientName *client = 0) {return XrdOfs::fsctl(cmd,args,out_error,client);}
00120 
00121         int            getStats(char *buff, int blen) {return XrdOfs::getStats(buff,blen);}
00122 
00123  const   char          *getVersion(){return XrdOfs::getVersion();}
00124 
00125         int            mkdir(const char             *dirName,
00126                                    XrdSfsMode        Mode,
00127                                    XrdOucErrInfo    &out_error,
00128                              const XrdSecClientName *client = 0){return XrdOfs::mkdir(dirName,Mode,out_error,client);}
00129 
00130         int            prepare(      XrdSfsPrep       &pargs,
00131                                      XrdOucErrInfo    &out_error,
00132                                const XrdSecClientName *client = 0) {return XrdOfs::prepare(pargs,out_error,client);}
00133 
00134         int            rem(const char             *path,
00135                                  XrdOucErrInfo    &out_error,
00136                            const XrdSecEntity     *client,
00137                            const char             *info = 0);
00138 
00139 
00140         int            remdir(const char             *dirName,
00141                                     XrdOucErrInfo    &out_error,
00142                               const XrdSecClientName *client = 0){return XrdOfs::remdir(dirName,out_error,client);};
00143 
00144         int            rename(const char             *oldFileName,
00145                               const char             *newFileName,
00146                                     XrdOucErrInfo    &out_error,
00147                               const XrdSecClientName *client = 0){return XrdOfs::rename(oldFileName,newFileName,out_error,client);};
00148 
00149         int            stat(const char             *Name,
00150                                   struct stat      *buf,
00151                                   XrdOucErrInfo    &out_error,
00152                             const XrdSecEntity     *client,
00153                             const char             *opaque = 0);
00154 
00155         int            stat(const char             *Name,
00156                                   mode_t           &mode,
00157                                   XrdOucErrInfo    &out_error,
00158                             const XrdSecEntity     *client,
00159                             const char             *opaque = 0);
00160 
00161 };
00162 #endif

Generated on Tue Jul 5 14:47:03 2011 for ROOT_528-00b_version by  doxygen 1.5.1