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
List of all registered decompression 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