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