Compressor_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // ===================================================================
00004 /**
00005  *  @file   Compressor_Factory.h
00006  *
00007  *  $Id: Compressor_Factory.h 81429 2008-04-24 18:49:54Z johnnyw $
00008  *
00009  *  @author Johnny Willemsen  <jwillemsen@remedy.nl>
00010  */
00011 // ===================================================================
00012 
00013 #ifndef TAO_COMPRESSOR_FACTORY_H
00014 #define TAO_COMPRESSOR_FACTORY_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/Compression/compression_export.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "tao/Compression/Compression.h"
00025 #include "tao/LocalObject.h"
00026 
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028 
00029 namespace TAO
00030 {
00031   class TAO_Compression_Export CompressorFactory :
00032     public virtual ::Compression::CompressorFactory,
00033     public virtual ::CORBA::LocalObject
00034   {
00035   public:
00036     CompressorFactory (::Compression::CompressorId compressor_id);
00037 
00038     virtual ::Compression::CompressorId compressor_id (void);
00039 
00040     virtual ::CORBA::ULongLong compressed_bytes (void);
00041 
00042     virtual ::CORBA::ULongLong uncompressed_bytes (void);
00043 
00044     virtual ::CORBA::Double average_compression (void);
00045 
00046     virtual ::Compression::Compressor_ptr get_compressor
00047       (::Compression::CompressionLevel compression_level)
00048       = 0;
00049 
00050     virtual void add_sample (::CORBA::ULongLong compressed_bytes,
00051                              ::CORBA::ULongLong uncompressed_bytes);
00052 
00053   private:
00054     TAO_SYNCH_MUTEX mutex_;
00055     ::Compression::CompressorId const compressor_id_;
00056     ::CORBA::ULongLong compressed_bytes_;
00057     ::CORBA::ULongLong uncompressed_bytes_;
00058   };
00059 }
00060 
00061 TAO_END_VERSIONED_NAMESPACE_DECL
00062 
00063 #include /**/ "ace/post.h"
00064 
00065 #endif /* TAO_COMPRESSOR_FACTORY_H */
00066 

Generated on Tue Feb 2 17:42:31 2010 for TAO_Compression by  doxygen 1.4.7