From aadaa8b5d7eda23e72dbded9d6437b40358353f3 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sun, 08 Mar 2009 20:09:21 +0000 Subject: Inital commit to public repository --- (limited to 'src/eyetil.h') 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 +#include +#include +#include + +class binary_t : public std::vector { + public: + binary_t() { } + binary_t(size_type n) : std::vector(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 */ -- cgit v0.9.0.2