Files
2021-06-25 16:12:29 +02:00

43 lines
803 B
Plaintext

// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.
#ifndef tools_rroot_ifile
#define tools_rroot_ifile
#include "seek"
#include "../press_func"
namespace tools {
namespace rroot {
class key;
class streamer_info;
class ifile {
public:
virtual ~ifile(){}
public:
virtual const std::string& path() const = 0;
virtual bool verbose() const = 0;
virtual std::ostream& out() const = 0;
virtual bool byte_swap() const = 0;
enum from {
begin,
current,
end
};
virtual bool set_pos(seek = 0,from = begin) = 0;
virtual bool read_buffer(char*,uint32) = 0;
virtual bool unziper(char,decompress_func&) const = 0;
virtual key& sinfos_key() = 0;
virtual streamer_info* find_streamer_info(const std::string&) = 0;
};
}}
#endif