inlib  1.2.0
/Users/barrand/private/dev/softinex/old/inexlib-1.2/inlib/inlib/rroot/ifile
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines