00001 #include "tao/Compression/lzo/LzoCompressor_Factory.h" 00002 #include "tao/Compression/lzo/LzoCompressor.h" 00003 00004 ACE_RCSID (LZO, 00005 Lzo_Compressor_Factory, 00006 "$Id: LzoCompressor_Factory.cpp 84757 2009-03-09 07:11:58Z johnnyw $") 00007 00008 #include <lzo1x.h> 00009 00010 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00011 00012 namespace TAO 00013 { 00014 00015 Lzo_CompressorFactory::Lzo_CompressorFactory (void) : 00016 ::TAO::CompressorFactory (::Compression::COMPRESSORID_LZO), 00017 compressor_ (::Compression::Compressor::_nil ()) 00018 { 00019 ::lzo_init(); 00020 } 00021 00022 ::Compression::Compressor_ptr 00023 Lzo_CompressorFactory::get_compressor ( 00024 ::Compression::CompressionLevel compression_level) 00025 { 00026 // @todo, make a array based on compression level 00027 if (CORBA::is_nil (compressor_.in ())) 00028 { 00029 compressor_ = new LzoCompressor (compression_level, this); 00030 } 00031 00032 return ::Compression::Compressor::_duplicate (compressor_.in ()); 00033 } 00034 } 00035 00036 TAO_END_VERSIONED_NAMESPACE_DECL