00001 #include "tao/Compression/zlib/ZlibCompressor_Factory.h" 00002 #include "tao/Compression/zlib/ZlibCompressor.h" 00003 00004 ACE_RCSID (ZLIB, 00005 ZlibCompressor_Factory, 00006 "$Id: ZlibCompressor_Factory.cpp 78179 2007-04-24 18:36:03Z johnnyw $") 00007 00008 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00009 00010 namespace TAO 00011 { 00012 00013 Zlib_CompressorFactory::Zlib_CompressorFactory (void) : 00014 ::TAO::CompressorFactory (::Compression::COMPRESSORID_ZLIB), 00015 compressor_ (::Compression::Compressor::_nil ()) 00016 { 00017 } 00018 00019 ::Compression::Compressor_ptr 00020 Zlib_CompressorFactory::get_compressor ( 00021 ::Compression::CompressionLevel compression_level) 00022 { 00023 // @todo, make a array based on compression level 00024 if (CORBA::is_nil (compressor_.in ())) 00025 { 00026 compressor_ = new ZlibCompressor (compression_level, this); 00027 } 00028 00029 return ::Compression::Compressor::_duplicate (compressor_.in ()); 00030 } 00031 } 00032 00033 TAO_END_VERSIONED_NAMESPACE_DECL