41 lines
730 B
Plaintext
41 lines
730 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 "../zfunc"
|
|
|
|
namespace tools {
|
|
namespace rroot {
|
|
|
|
class key;
|
|
|
|
class ifile {
|
|
public:
|
|
virtual ~ifile(){}
|
|
public:
|
|
virtual const std::string& path() const = 0;
|
|
virtual std::string path() = 0;
|
|
|
|
virtual bool verbose() const = 0;
|
|
virtual std::ostream& out() = 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,unzip_func&) const = 0;
|
|
|
|
virtual key& sinfos_key() = 0;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|