27#ifndef I_BESUncompressManager3_h
28#define I_BESUncompressManager3_h 1
38typedef void (*p_bes_uncompress)(
const std::string &src,
int fd);
59 mutable std::recursive_mutex d_cache_lock_mutex;
61 static void initialize_instance();
62 static void delete_instance();
64 std::map<std::string, p_bes_uncompress> _uncompress_list;
65 typedef std::map<std::string, p_bes_uncompress>::const_iterator UCIter;
71 virtual bool add_method(
const std::string &name, p_bes_uncompress method);
72 virtual p_bes_uncompress
find_method(
const std::string &name);
76 virtual void dump(std::ostream &strm)
const ;
Implementation of a caching mechanism for compressed data.
top level BES object to house generic methods
BESUncompressManager3()
constructs an uncompression manager adding gz, z, and bz2 uncompression methods by default.
virtual bool add_method(const std::string &name, p_bes_uncompress method)
create_and_lock a uncompress method to the list
virtual p_bes_uncompress find_method(const std::string &name)
returns the uncompression method specified
virtual bool uncompress(const std::string &src, std::string &target, BESFileLockingCache *cache)
If the file 'src' should be uncompressed, do so and return a new file name on the value-result param ...
virtual void dump(std::ostream &strm) const
dumps information about this object