Base_Compressor.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // ===================================================================
00004 /**
00005  *  @file   Base_Compressor.h
00006  *
00007  *  $Id: Base_Compressor.h 77390 2007-02-26 13:59:03Z johnnyw $
00008  *
00009  *  @author Johnny Willemsen  <jwillemsen@remedy.nl>
00010  */
00011 // ===================================================================
00012 
00013 #ifndef TAO_BASE_COMPRESSOR_H
00014 #define TAO_BASE_COMPRESSOR_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   /**
00032    * This class is a helper to implement real compressors
00033    */
00034   class TAO_Compression_Export BaseCompressor :
00035     public virtual ::Compression::Compressor,
00036     public virtual TAO_Local_RefCounted_Object
00037   {
00038   public:
00039     BaseCompressor (::Compression::CompressionLevel compression_level,
00040                     ::Compression::CompressorFactory_ptr compressor_factory);
00041 
00042     virtual void compress (const ::CORBA::OctetSeq &source,
00043                            ::CORBA::OctetSeq &target) = 0;
00044 
00045     virtual void decompress (const ::CORBA::OctetSeq &source,
00046                              ::CORBA::OctetSeq &target) = 0;
00047 
00048     virtual ::Compression::CompressorFactory_ptr compressor_factory (void);
00049 
00050     virtual ::Compression::CompressionLevel compression_level (void);
00051 
00052   protected:
00053     ::Compression::CompressionLevel compression_level_;
00054     ::Compression::CompressorFactory_var compressor_factory_;
00055   };
00056 }
00057 
00058 TAO_END_VERSIONED_NAMESPACE_DECL
00059 
00060 #include /**/ "ace/post.h"
00061 
00062 #endif /* TAO_BASE_COMPRESSOR_H */
00063 

Generated on Sun Jan 27 13:31:44 2008 for TAO_Compression by doxygen 1.3.6