author | Michael Krelin <hacker@klever.net> | 2009-03-08 20:09:21 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2009-03-08 20:09:21 (UTC) |
commit | aadaa8b5d7eda23e72dbded9d6437b40358353f3 (patch) (side-by-side diff) | |
tree | 0bff6fdde1e2b9be02b48aaf7d03f095604718e1 /src/eyetil.h | |
download | iii-0.0.zip iii-0.0.tar.gz iii-0.0.tar.bz2 |
Inital commit to public repository0.0
-rw-r--r-- | src/eyetil.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/eyetil.h b/src/eyetil.h new file mode 100644 index 0000000..195d24f --- a/dev/null +++ b/src/eyetil.h @@ -0,0 +1,48 @@ +#ifndef __EYETIL_H +#define __EYETIL_H + +#include <vector> +#include <string> +#include <archive.h> +#include <archive_entry.h> + +class binary_t : public std::vector<unsigned char> { + public: + binary_t() { } + binary_t(size_type n) : std::vector<unsigned char>(n) { } + binary_t(const std::string& h) { from_hex(h); } + binary_t(const void *d,size_t s) { from_data(d,s); } + + binary_t& from_hex(const std::string& h); + binary_t& from_data(const void *d,size_t s); + + std::string hex() const; + binary_t md5() const; +}; + +class tmpdir_t { + public: + std::string dir; + + tmpdir_t(const std::string& dt); + ~tmpdir_t(); + + std::string get_file(const std::string& f); +}; + +class tarchive_t { + public: + struct archive *a; + struct archive_entry *e; + + tarchive_t(void *p,size_t s); + ~tarchive_t(); + + bool read_next_header(); + + std::string entry_pathname(); + + bool read_data_into_fd(int fd); +}; + +#endif /* __EYETIL_H */ |