// -*- C++ -*-
/**
 * Code generated by the The ACE ORB (TAO) IDL Compiler v4.0.0
 * TAO and the TAO IDL Compiler have been developed by:
 *       Center for Distributed Object Computing
 *       Washington University
 *       St. Louis, MO
 *       USA
 * and
 *       Distributed Object Computing Laboratory
 *       University of California at Irvine
 *       Irvine, CA
 *       USA
 * and
 *       Institute for Software Integrated Systems
 *       Vanderbilt University
 *       Nashville, TN
 *       USA
 *       https://www.isis.vanderbilt.edu/
 *
 * Information about TAO is available at:
 *     https://www.dre.vanderbilt.edu/~schmidt/TAO.html
 **/

// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:148

#ifndef _TAO_PIDL_COMPRESSIONC_SX0VKN_H_
#define _TAO_PIDL_COMPRESSIONC_SX0VKN_H_

#include /**/ "ace/pre.h"

#ifndef TAO_COMPRESSION_SAFE_INCLUDE
#error You should not include CompressionC.h, use tao/Compression/Compression.h
#endif /* TAO_COMPRESSION_SAFE_INCLUDE */

#include /**/ "ace/config-all.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */


#include /**/ "tao/Compression/compression_export.h"
#include "tao/SystemException.h"
#include "tao/UserException.h"
#include "tao/Basic_Types.h"
#include "tao/ORB_Constants.h"
#include "tao/Object.h"
#include "tao/String_Manager_T.h"
#include "tao/Sequence_T.h"
#include "tao/Objref_VarOut_T.h"
#include "tao/Seq_Var_T.h"
#include "tao/Seq_Out_T.h"
#include "tao/VarOut_T.h"
#include "tao/Arg_Traits_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Special_Basic_Arguments.h"
#include "tao/Any_Insert_Policy_T.h"
#include "tao/Fixed_Size_Argument_T.h"
#include "tao/Var_Size_Argument_T.h"
#include "tao/UB_String_Arguments.h"
#include /**/ "tao/Version.h"
#include /**/ "tao/Versioned_Namespace.h"

#include "tao/OctetSeqC.h"

#if TAO_MAJOR_VERSION != 4 || TAO_MINOR_VERSION != 0 || TAO_MICRO_VERSION != 0
#error This file should be regenerated with TAO_IDL
#endif

TAO_BEGIN_VERSIONED_NAMESPACE_DECL



TAO_END_VERSIONED_NAMESPACE_DECL



TAO_BEGIN_VERSIONED_NAMESPACE_DECL


// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_module/module_ch.cpp:34

namespace Compression
{
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/exception_ch.cpp:40

  

  class TAO_Compression_Export CompressionException : public ::CORBA::UserException
  {
  public:
    ::CORBA::Long reason;
    ::TAO::String_Manager description;

    CompressionException ();
    CompressionException (const CompressionException &);
    ~CompressionException () = default;

    CompressionException &operator= (const CompressionException &);

    static void _tao_any_destructor (void *);

    static CompressionException *_downcast (::CORBA::Exception *);
    static const CompressionException *_downcast (::CORBA::Exception const *);

    static ::CORBA::Exception *_alloc ();

    virtual ::CORBA::Exception *_tao_duplicate () const;

    virtual void _raise () const;

    virtual void _tao_encode (TAO_OutputCDR &cdr) const;
    virtual void _tao_decode (TAO_InputCDR &cdr);
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/exception_ctor.cpp:50

    

    CompressionException (
        ::CORBA::Long _tao_reason,
        const char * _tao_description);

    virtual ::CORBA::TypeCode_ptr _tao_type () const;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/exception_ch.cpp:40

  

  class TAO_Compression_Export FactoryAlreadyRegistered : public ::CORBA::UserException
  {
  public:

    FactoryAlreadyRegistered ();
    FactoryAlreadyRegistered (const FactoryAlreadyRegistered &);
    ~FactoryAlreadyRegistered () = default;

    FactoryAlreadyRegistered &operator= (const FactoryAlreadyRegistered &);

    static void _tao_any_destructor (void *);

    static FactoryAlreadyRegistered *_downcast (::CORBA::Exception *);
    static const FactoryAlreadyRegistered *_downcast (::CORBA::Exception const *);

    static ::CORBA::Exception *_alloc ();

    virtual ::CORBA::Exception *_tao_duplicate () const;

    virtual void _raise () const;

    virtual void _tao_encode (TAO_OutputCDR &cdr) const;
    virtual void _tao_decode (TAO_InputCDR &cdr);

    virtual ::CORBA::TypeCode_ptr _tao_type () const;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/exception_ch.cpp:40

  

  class TAO_Compression_Export UnknownCompressorId : public ::CORBA::UserException
  {
  public:

    UnknownCompressorId ();
    UnknownCompressorId (const UnknownCompressorId &);
    ~UnknownCompressorId () = default;

    UnknownCompressorId &operator= (const UnknownCompressorId &);

    static void _tao_any_destructor (void *);

    static UnknownCompressorId *_downcast (::CORBA::Exception *);
    static const UnknownCompressorId *_downcast (::CORBA::Exception const *);

    static ::CORBA::Exception *_alloc ();

    virtual ::CORBA::Exception *_tao_duplicate () const;

    virtual void _raise () const;

    virtual void _tao_encode (TAO_OutputCDR &cdr) const;
    virtual void _tao_decode (TAO_InputCDR &cdr);

    virtual ::CORBA::TypeCode_ptr _tao_type () const;
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:366

  typedef ::CORBA::UShort CompressorId;
  typedef ::CORBA::UShort_out CompressorId_out;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_NONE = 0U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_GZIP = 1U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_PKZIP = 2U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_BZIP2 = 3U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_ZLIB = 4U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_LZMA = 5U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_LZO = 6U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_RZIP = 7U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_7X = 8U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_XAR = 9U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_constant/constant_ch.cpp:34

  

  const CORBA::UShort COMPRESSORID_RLE = 10U;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:366

  typedef ::CORBA::UShort CompressionLevel;
  typedef ::CORBA::UShort_out CompressionLevel_out;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:366

  typedef ::CORBA::Float CompressionRatio;
  typedef ::CORBA::Float_out CompressionRatio_out;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:258

  

  struct CompressorIdLevel;
  using CompressorIdLevel_var = ::TAO_Fixed_Var_T<CompressorIdLevel>;
  using CompressorIdLevel_out = CompressorIdLevel&;

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_structure/structure_ch.cpp:47

  

  struct TAO_Compression_Export CompressorIdLevel
  {
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    
    using _var_type = CompressorIdLevel_var;
    using _out_type = CompressorIdLevel_out;

    static void _tao_any_destructor (void *);
    
    Compression::CompressorId compressor_id;
    Compression::CompressionLevel compression_level;
  };

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:98

  

#if !defined (_COMPRESSION_COMPRESSORIDLEVELLIST_CH_)
#define _COMPRESSION_COMPRESSORIDLEVELLIST_CH_

  class CompressorIdLevelList;
  typedef ::TAO_FixedSeq_Var_T<CompressorIdLevelList> CompressorIdLevelList_var;
  typedef ::TAO_Seq_Out_T<CompressorIdLevelList> CompressorIdLevelList_out;
  

  class TAO_Compression_Export CompressorIdLevelList
    : public
        ::TAO::unbounded_value_sequence< CompressorIdLevel>
  {
  public:
    CompressorIdLevelList () = default;
    CompressorIdLevelList (::CORBA::ULong max);
    CompressorIdLevelList (
      ::CORBA::ULong max,
      ::CORBA::ULong length,
      CompressorIdLevel* buffer,
      ::CORBA::Boolean release = false);
    CompressorIdLevelList (const CompressorIdLevelList &) = default;
    CompressorIdLevelList (CompressorIdLevelList &&) = default;
    CompressorIdLevelList& operator= (const CompressorIdLevelList &) = default;
    CompressorIdLevelList& operator= (CompressorIdLevelList &&) = default;
    virtual ~CompressorIdLevelList () = default;
    
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    
    using _var_type = CompressorIdLevelList_var;
    using _out_type = CompressorIdLevelList_out;

    static void _tao_any_destructor (void *);
  };

#endif /* end #if !defined */
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp:457

  typedef CORBA::OctetSeq Buffer;
  typedef CORBA::OctetSeq_var Buffer_var;
  typedef CORBA::OctetSeq_out Buffer_out;
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_interface.cpp:742

  

#if !defined (_COMPRESSION_COMPRESSORFACTORY__VAR_OUT_CH_)
#define _COMPRESSION_COMPRESSORFACTORY__VAR_OUT_CH_

  class CompressorFactory;
  using CompressorFactory_ptr = CompressorFactory*;
  using CompressorFactory_var = TAO_Objref_Var_T<CompressorFactory>;
  using CompressorFactory_out = TAO_Objref_Out_T<CompressorFactory>;

#endif /* end #if !defined */
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_interface.cpp:742

  

#if !defined (_COMPRESSION_COMPRESSOR__VAR_OUT_CH_)
#define _COMPRESSION_COMPRESSOR__VAR_OUT_CH_

  class Compressor;
  using Compressor_ptr = Compressor*;
  using Compressor_var = TAO_Objref_Var_T<Compressor>;
  using Compressor_out = TAO_Objref_Out_T<Compressor>;

#endif /* end #if !defined */

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:39

  

  class TAO_Compression_Export Compressor
    : public virtual ::CORBA::Object
  {
  public:
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    using _ptr_type = Compressor_ptr;
    using _var_type = Compressor_var;
    using _out_type = Compressor_out;

    // The static operations.
    static Compressor_ptr _duplicate (Compressor_ptr obj);

    static void _tao_release (Compressor_ptr obj);

    static Compressor_ptr _narrow (::CORBA::Object_ptr obj);
    static Compressor_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
    static Compressor_ptr _nil ();

    virtual void compress (
      const ::Compression::Buffer & source,
      ::Compression::Buffer & target) = 0;

    virtual void decompress (
      const ::Compression::Buffer & source,
      ::Compression::Buffer & target) = 0;

    virtual ::Compression::CompressorFactory_ptr compressor_factory () = 0;

    virtual ::Compression::CompressionLevel compression_level () = 0;

    virtual ::CORBA::ULongLong compressed_bytes () = 0;

    virtual ::CORBA::ULongLong uncompressed_bytes () = 0;

    virtual ::Compression::CompressionRatio compression_ratio () = 0;

    
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:135

    

    virtual ::CORBA::Boolean _is_a (const char *type_id);
    virtual const char* _interface_repository_id () const;
    virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
  
  protected:
    // Abstract or local interface only.
    Compressor ();

    

    virtual ~Compressor () = default;
  
  private:
    // Private and unimplemented for concrete interfaces.
    Compressor (const Compressor &) = delete;
    Compressor (Compressor &&) = delete;
    Compressor &operator= (const Compressor &) = delete;
    Compressor &operator= (Compressor &&) = delete;
  };

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:39

  

  class TAO_Compression_Export CompressorFactory
    : public virtual ::CORBA::Object
  {
  public:
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    using _ptr_type = CompressorFactory_ptr;
    using _var_type = CompressorFactory_var;
    using _out_type = CompressorFactory_out;

    // The static operations.
    static CompressorFactory_ptr _duplicate (CompressorFactory_ptr obj);

    static void _tao_release (CompressorFactory_ptr obj);

    static CompressorFactory_ptr _narrow (::CORBA::Object_ptr obj);
    static CompressorFactory_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
    static CompressorFactory_ptr _nil ();

    virtual ::Compression::CompressorId compressor_id () = 0;

    virtual ::Compression::Compressor_ptr get_compressor (
      ::Compression::CompressionLevel compression_level) = 0;

    
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:135

    

    virtual ::CORBA::Boolean _is_a (const char *type_id);
    virtual const char* _interface_repository_id () const;
    virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
  
  protected:
    // Abstract or local interface only.
    CompressorFactory ();

    

    virtual ~CompressorFactory () = default;
  
  private:
    // Private and unimplemented for concrete interfaces.
    CompressorFactory (const CompressorFactory &) = delete;
    CompressorFactory (CompressorFactory &&) = delete;
    CompressorFactory &operator= (const CompressorFactory &) = delete;
    CompressorFactory &operator= (CompressorFactory &&) = delete;
  };

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:98

  

#if !defined (_COMPRESSION_COMPRESSORFACTORYSEQ_CH_)
#define _COMPRESSION_COMPRESSORFACTORYSEQ_CH_

  class CompressorFactorySeq;
  typedef ::TAO_VarSeq_Var_T<CompressorFactorySeq> CompressorFactorySeq_var;
  typedef ::TAO_Seq_Out_T<CompressorFactorySeq> CompressorFactorySeq_out;
  

  class TAO_Compression_Export CompressorFactorySeq
    : public
        ::TAO::unbounded_object_reference_sequence<
            CompressorFactory,
            CompressorFactory_var
          >
  {
  public:
    CompressorFactorySeq () = default;
    CompressorFactorySeq (::CORBA::ULong max);
    CompressorFactorySeq (
      ::CORBA::ULong max,
      ::CORBA::ULong length,
      CompressorFactory_ptr* buffer,
      ::CORBA::Boolean release = false);
    CompressorFactorySeq (const CompressorFactorySeq &) = default;
    CompressorFactorySeq (CompressorFactorySeq &&) = default;
    CompressorFactorySeq& operator= (const CompressorFactorySeq &) = default;
    CompressorFactorySeq& operator= (CompressorFactorySeq &&) = default;
    virtual ~CompressorFactorySeq () = default;
    
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    
    using _var_type = CompressorFactorySeq_var;
    using _out_type = CompressorFactorySeq_out;
  };

#endif /* end #if !defined */
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_interface.cpp:742

  

#if !defined (_COMPRESSION_COMPRESSIONMANAGER__VAR_OUT_CH_)
#define _COMPRESSION_COMPRESSIONMANAGER__VAR_OUT_CH_

  class CompressionManager;
  using CompressionManager_ptr = CompressionManager*;
  using CompressionManager_var = TAO_Objref_Var_T<CompressionManager>;
  using CompressionManager_out = TAO_Objref_Out_T<CompressionManager>;

#endif /* end #if !defined */

  
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:39

  

  class TAO_Compression_Export CompressionManager
    : public virtual ::CORBA::Object
  {
  public:
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_type.cpp:297

    using _ptr_type = CompressionManager_ptr;
    using _var_type = CompressionManager_var;
    using _out_type = CompressionManager_out;

    // The static operations.
    static CompressionManager_ptr _duplicate (CompressionManager_ptr obj);

    static void _tao_release (CompressionManager_ptr obj);

    static CompressionManager_ptr _narrow (::CORBA::Object_ptr obj);
    static CompressionManager_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
    static CompressionManager_ptr _nil ();

    virtual void register_factory (
      ::Compression::CompressorFactory_ptr compressor_factory) = 0;

    virtual void unregister_factory (
      ::Compression::CompressorId compressor_id) = 0;

    virtual ::Compression::CompressorFactory_ptr get_factory (
      ::Compression::CompressorId compressor_id) = 0;

    virtual ::Compression::Compressor_ptr get_compressor (
      ::Compression::CompressorId compressor_id,
      ::Compression::CompressionLevel compression_level) = 0;

    virtual ::Compression::CompressorFactorySeq * get_factories () = 0;

    
    // TAO_IDL - Generated from
    // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp:135

    

    virtual ::CORBA::Boolean _is_a (const char *type_id);
    virtual const char* _interface_repository_id () const;
    virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
  
  protected:
    // Abstract or local interface only.
    CompressionManager ();

    

    virtual ~CompressionManager () = default;
  
  private:
    // Private and unimplemented for concrete interfaces.
    CompressionManager (const CompressionManager &) = delete;
    CompressionManager (CompressionManager &&) = delete;
    CompressionManager &operator= (const CompressionManager &) = delete;
    CompressionManager &operator= (CompressionManager &&) = delete;
  };


// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_module/module_ch.cpp:62


} // module Compression
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp:64




TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


// Arg traits specializations.
namespace TAO
{
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp:931

  

  template<>
  class Arg_Traits< ::Compression::CompressorIdLevel>
    : public
        Fixed_Size_Arg_Traits_T<
            ::Compression::CompressorIdLevel,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp:671

  

  template<>
  class Arg_Traits< ::Compression::CompressorIdLevelList>
    : public
        Var_Size_Arg_Traits_T<
            ::Compression::CompressorIdLevelList,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };
  // TAO_IDL - Generated from
  // /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_arg_traits.cpp:671

  

  template<>
  class Arg_Traits< ::Compression::CompressorFactorySeq>
    : public
        Var_Size_Arg_Traits_T<
            ::Compression::CompressorFactorySeq,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };
}

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_traits.cpp:58




TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

// Traits specializations.
namespace TAO
{

#if !defined (_COMPRESSION_COMPRESSOR__TRAITS_)
#define _COMPRESSION_COMPRESSOR__TRAITS_

  template<>
  struct TAO_Compression_Export Objref_Traits< ::Compression::Compressor>
  {
    static ::Compression::Compressor_ptr duplicate (::Compression::Compressor_ptr p);
    static void release (::Compression::Compressor_ptr p);
    static ::Compression::Compressor_ptr nil ();
    static ::CORBA::Boolean marshal (const ::Compression::Compressor_ptr p,TAO_OutputCDR & cdr);
  };

#endif /* end #if !defined */

#if !defined (_COMPRESSION_COMPRESSORFACTORY__TRAITS_)
#define _COMPRESSION_COMPRESSORFACTORY__TRAITS_

  template<>
  struct TAO_Compression_Export Objref_Traits< ::Compression::CompressorFactory>
  {
    static ::Compression::CompressorFactory_ptr duplicate (::Compression::CompressorFactory_ptr p);
    static void release (::Compression::CompressorFactory_ptr p);
    static ::Compression::CompressorFactory_ptr nil ();
    static ::CORBA::Boolean marshal (const ::Compression::CompressorFactory_ptr p,TAO_OutputCDR & cdr);
  };

#endif /* end #if !defined */

#if !defined (_COMPRESSION_COMPRESSIONMANAGER__TRAITS_)
#define _COMPRESSION_COMPRESSIONMANAGER__TRAITS_

  template<>
  struct TAO_Compression_Export Objref_Traits< ::Compression::CompressionManager>
  {
    static ::Compression::CompressionManager_ptr duplicate (::Compression::CompressionManager_ptr p);
    static void release (::Compression::CompressionManager_ptr p);
    static ::Compression::CompressionManager_ptr nil ();
    static ::CORBA::Boolean marshal (const ::Compression::CompressionManager_ptr p,TAO_OutputCDR & cdr);
  };

#endif /* end #if !defined */
}
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:36



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



TAO_Compression_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const Compression::CompressionException &);
TAO_Compression_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, Compression::CompressionException &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:36



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



TAO_Compression_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const Compression::FactoryAlreadyRegistered &);
TAO_Compression_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, Compression::FactoryAlreadyRegistered &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp:36



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



TAO_Compression_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const Compression::UnknownCompressorId &);
TAO_Compression_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, Compression::UnknownCompressorId &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp:37



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_Compression_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const Compression::CompressorIdLevel &);
TAO_Compression_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, Compression::CompressorIdLevel &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp:64



#if !defined _TAO_CDR_OP_Compression_CompressorIdLevelList_H_
#define _TAO_CDR_OP_Compression_CompressorIdLevelList_H_

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


TAO_Compression_Export ::CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const Compression::CompressorIdLevelList &_tao_sequence);
TAO_Compression_Export ::CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    Compression::CompressorIdLevelList &_tao_sequence);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif /* _TAO_CDR_OP_Compression_CompressorIdLevelList_H_ */
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:1648



TAO_END_VERSIONED_NAMESPACE_DECL

#include /**/ "ace/post.h"

#endif /* ifndef */

