CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TStorageFactoryFile.h
Go to the documentation of this file.
1 #ifndef TFILE_ADAPTOR_TSTORAGE_FACTORY_FILE_H
2 # define TFILE_ADAPTOR_TSTORAGE_FACTORY_FILE_H
3 
4 # include <vector>
5 # include <memory>
6 
7 # include "TFile.h"
8 
11 
12 
13 class Storage;
14 
16 class TStorageFactoryFile : public TFile
17 {
18 public:
19  ClassDef(TStorageFactoryFile, 0); // ROOT File operating on CMS Storage.
20 
21  // Due to limitations in the ROOT plugin manager, TStorageFactoryFile must
22  // provide a constructor matching all the different variants that other
23  // ROOT plugins might use
24 
25  // This one is to match TXNetFile
26  TStorageFactoryFile(const char *name, Option_t *option,
27  const char *ftitle, Int_t compress, Int_t netopt,
28  Bool_t parallelopen = kFALSE);
29 
30  // This matches everything else.
31  TStorageFactoryFile(const char *name, Option_t *option = "",
32  const char *ftitle = "", Int_t compress = 1);
33 
35 
36  virtual Bool_t ReadBuffer(char *buf, Int_t len);
37  virtual Bool_t ReadBuffer(char *buf, Long64_t pos, Int_t len);
38  virtual Bool_t ReadBufferAsync(Long64_t off, Int_t len);
39  virtual Bool_t ReadBuffers(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf);
40  virtual Bool_t WriteBuffer(const char *buf, Int_t len);
41 
42  void ResetErrno(void) const;
43 
44 protected:
45  virtual Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode);
46  virtual Int_t SysClose(Int_t fd);
47  virtual Long64_t SysSeek(Int_t fd, Long64_t offset, Int_t whence);
48  virtual Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime);
49  virtual Int_t SysSync(Int_t fd);
50 
51 private:
52  void Initialize(const char *name, Option_t *option = "");
53 
54  Bool_t ReadBuffersSync(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf);
55 
57 
58  TStorageFactoryFile(void);
59 
61 };
62 
63 #endif // TFILE_ADAPTOR_TSTORAGE_FACTORY_FILE_H
virtual Long64_t SysSeek(Int_t fd, Long64_t offset, Int_t whence)
virtual Int_t SysOpen(const char *pathname, Int_t flags, UInt_t mode)
std::vector< Variable::Flags > flags
Definition: MVATrainer.cc:135
virtual Bool_t ReadBuffers(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
edm::propagate_const< std::unique_ptr< Storage > > storage_
virtual Bool_t ReadBufferAsync(Long64_t off, Int_t len)
virtual Bool_t ReadBuffer(char *buf, Int_t len)
tuple fd
Definition: ztee.py:136
virtual Bool_t WriteBuffer(const char *buf, Int_t len)
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
ClassDef(TStorageFactoryFile, 0)
void ResetErrno(void) const
virtual Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
virtual Int_t SysClose(Int_t fd)
virtual Int_t SysSync(Int_t fd)
Bool_t ReadBuffersSync(char *buf, Long64_t *pos, Int_t *len, Int_t nbuf)
void Initialize(const char *name, Option_t *option="")
tuple size
Write out results.