diff options
Diffstat (limited to 'TAO/tao/Compression/Compression_Manager.h')
-rw-r--r-- | TAO/tao/Compression/Compression_Manager.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/TAO/tao/Compression/Compression_Manager.h b/TAO/tao/Compression/Compression_Manager.h new file mode 100644 index 00000000000..0d56910d5e8 --- /dev/null +++ b/TAO/tao/Compression/Compression_Manager.h @@ -0,0 +1,85 @@ +// -*- C++ -*- + +// =================================================================== +/** + * @file Compression_Manager.h + * + * $Id$ + * + * @author Johnny Willemsen <jwillemsen@remedy.nl> + */ +// =================================================================== + +#ifndef TAO_COMPRESSION_MANAGER_H +#define TAO_COMPRESSION_MANAGER_H + +#include /**/ "ace/pre.h" + +#include "tao/Compression/compression_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Compression/Compression.h" +#include "tao/LocalObject.h" +#include "ace/Synch_Traits.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + class TAO_Compression_Export CompressionManager : + public virtual ::Compression::CompressionManager, + public virtual TAO_Local_RefCounted_Object + { + virtual void register_factory ( + ::Compression::CompressorFactory_ptr compressor_factory + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Compression::FactoryAlreadyRegistered + )); + + virtual void unregister_factory ( + ::Compression::CompressorId compressor_id + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Compression::UnknownCompressorId + )); + + virtual ::Compression::CompressorFactory_ptr get_factory ( + ::Compression::CompressorId compressor_id + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Compression::UnknownCompressorId + )); + + virtual ::Compression::Compressor_ptr get_compressor ( + ::Compression::CompressorId compressor_id, + ::Compression::CompressionLevel compression_level + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException, + ::Compression::UnknownCompressorId + )); + + virtual ::Compression::CompressorFactorySeq * get_factories ( + ) + ACE_THROW_SPEC (( + ::CORBA::SystemException + )); + + private: + ACE_SYNCH_MUTEX mutex_; + ::Compression::CompressorFactorySeq factories_; + }; +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +#include /**/ "ace/post.h" + +#endif /* TAO_COMPRESSION_MANAGER_H */ |