Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights 1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 2 // See the file tools.license for terms. 3 3 4 #ifndef tools_rroot_ifile 4 #ifndef tools_rroot_ifile 5 #define tools_rroot_ifile 5 #define tools_rroot_ifile 6 6 7 #include "seek" 7 #include "seek" 8 #include "../press_func" 8 #include "../press_func" 9 9 10 namespace tools { 10 namespace tools { 11 namespace rroot { 11 namespace rroot { 12 12 13 class key; 13 class key; 14 class streamer_info; 14 class streamer_info; 15 15 16 class ifile { 16 class ifile { 17 public: 17 public: 18 virtual ~ifile(){} 18 virtual ~ifile(){} 19 public: 19 public: 20 virtual const std::string& path() const = 0; 20 virtual const std::string& path() const = 0; 21 21 22 virtual bool verbose() const = 0; 22 virtual bool verbose() const = 0; 23 virtual std::ostream& out() const = 0; 23 virtual std::ostream& out() const = 0; 24 virtual bool byte_swap() const = 0; 24 virtual bool byte_swap() const = 0; 25 enum from { 25 enum from { 26 begin, 26 begin, 27 current, 27 current, 28 end 28 end 29 }; 29 }; 30 virtual bool set_pos(seek = 0,from = begin) 30 virtual bool set_pos(seek = 0,from = begin) = 0; 31 virtual bool read_buffer(char*,uint32) = 0; 31 virtual bool read_buffer(char*,uint32) = 0; 32 32 33 virtual bool unziper(char,decompress_func&) 33 virtual bool unziper(char,decompress_func&) const = 0; 34 34 35 virtual key& sinfos_key() = 0; 35 virtual key& sinfos_key() = 0; 36 36 37 virtual streamer_info* find_streamer_info(co 37 virtual streamer_info* find_streamer_info(const std::string&) = 0; 38 }; 38 }; 39 39 40 }} 40 }} 41 41 42 #endif 42 #endif