inlib
1.2.0
|
00001 // Copyright (C) 2010, Guy Barrand. All rights reserved. 00002 // See the file inlib.license for terms. 00003 00004 #ifndef inlib_rroot_ifile 00005 #define inlib_rroot_ifile 00006 00007 #include <ostream> 00008 #include "seek" 00009 00010 namespace inlib { 00011 namespace rroot { 00012 00013 class ifile { 00014 public: 00015 virtual ~ifile(){} 00016 public: 00017 virtual bool verbose() const = 0; 00018 virtual std::ostream& out() = 0; 00019 virtual bool byte_swap() const = 0; 00020 enum from { 00021 begin, 00022 current, 00023 end 00024 }; 00025 virtual bool set_pos(seek = 0,from = begin) = 0; 00026 virtual bool read_buffer(char*,uint32) = 0; 00027 00028 typedef bool (*unzip_func)(std::ostream&, 00029 int,unsigned char*, 00030 int,unsigned char*, 00031 int&); 00032 00033 virtual bool unziper(char,unzip_func&) = 0; 00034 }; 00035 00036 }} 00037 00038 #endif