Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:12

0001 #ifndef TFILE_ADAPTOR_TSTORAGE_FACTORY_SYSTEM_H
0002 #define TFILE_ADAPTOR_TSTORAGE_FACTORY_SYSTEM_H
0003 
0004 #include "TSystem.h"
0005 
0006 class Storage;
0007 
0008 /** TSystem wrapper around #StorageFactory and CMS #Storage.
0009   This class is a blatant copy of TDCacheSystem.  */
0010 class TStorageFactorySystem : public TSystem {
0011 private:
0012   void *fDirp;  // Directory handle
0013   void *GetDirPt(void) const { return fDirp; }
0014 
0015 public:
0016   ClassDefOverride(TStorageFactorySystem, 0);  // ROOT System operating on CMS Storage.
0017 
0018   TStorageFactorySystem(const char *, Bool_t);  // For compatibility with TXNetFile, we don't actually use the arguments
0019   TStorageFactorySystem(void);
0020   ~TStorageFactorySystem(void) override;
0021 
0022   Int_t MakeDirectory(const char *name) override;
0023   void *OpenDirectory(const char *name) override;
0024   void FreeDirectory(void *dirp) override;
0025   const char *GetDirEntry(void *dirp) override;
0026 
0027   Int_t GetPathInfo(const char *path, FileStat_t &info) override;
0028 
0029   Bool_t AccessPathName(const char *path, EAccessMode mode) override;
0030 
0031   int Unlink(const char *name) override;
0032 };
0033 
0034 #endif  // TFILE_ADAPTOR_TSTORAGE_FACTORY_SYSTEM_H