// -*- C++ -*-
// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
// TAO and the TAO IDL Compiler have been developed by:
//       Center for Distributed Object Computing
//       Washington University
//       St. Louis, MO
//       USA
//       http://www.cs.wustl.edu/~schmidt/doc-center.html
// and
//       Distributed Object Computing Laboratory
//       University of California at Irvine
//       Irvine, CA
//       USA
//       http://doc.ece.uci.edu/
//
// Information about TAO is available at:
//     http://www.dre.vanderbilt.edu/~schmidt/TAO.html

// TAO_IDL - Generated from
// be/be_codegen.cpp:923

#ifndef INTEROP_WCHAR_I_H_
#define INTEROP_WCHAR_I_H_

#include "interop_wcharS.h"
#include "wchar_reference.h"

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

//Class interop_WChar_Passer_i
class  interop_WChar_Passer_i : public virtual POA_interop::WChar_Passer
{
public:
  //Constructor
  interop_WChar_Passer_i (CORBA::ORB_ptr o, int verbose);

  //Destructor
  virtual ~interop_WChar_Passer_i ();

  virtual char * orb_name ();

  virtual CORBA::Boolean wchar_to_server (CORBA::WChar test,
                                          CORBA::Short key);

  virtual CORBA::WChar wchar_from_server (CORBA::Short key);

  virtual CORBA::Boolean wstring_to_server (const CORBA::WChar * test,
                                            CORBA::Short key);

  virtual CORBA::WChar * wstring_from_server (CORBA::Short key);

  virtual CORBA::Boolean warray_to_server (const interop::warray test,
                                           CORBA::Short key);

  virtual interop::warray_slice * warray_from_server (CORBA::Short key);

  virtual CORBA::Boolean wstruct_to_server (const interop::wstruct & test,
                                            CORBA::Short key);

  virtual interop::wstruct * wstruct_from_server (CORBA::Short key);

  virtual CORBA::Boolean wstructseq_to_server (const interop::wstructseq & test,
                                            CORBA::Short key);

  virtual interop::wstructseq * wstructseq_from_server (CORBA::Short key);

 virtual CORBA::Boolean wunion_to_server (const interop::wunion & test,
                                           CORBA::Short key);

  virtual interop::wunion * wunion_from_server (CORBA::Short key,
                                                interop::wchar_types type);

  virtual CORBA::Boolean any_to_server (const CORBA::Any &test,
                                        CORBA::Short key);

  virtual CORBA::Any* any_from_server (CORBA::Short key,
                                       interop::wchar_types type);

  virtual CORBA::Any* any_echo (const CORBA::Any &test);

virtual void exception_test (CORBA::Short key);

virtual void shutdown ();

private:
  CORBA::ORB_var orb_;
  wchar_reference ref_;
};


#endif /* INTEROP_WCHAR_I_H_  */
