// 
// File:          TAO_Environment_Impl.hh
// Symbol:        TAO.Environment-v0.3
// Symbol Type:   class
// Babel Version: 0.10.2
// Description:   Server-side implementation for TAO.Environment
// 
// WARNING: Automatically generated; only changes within splicers preserved
// 
// babel-version = 0.10.2
// 

#ifndef included_TAO_Environment_Impl_hh
#define included_TAO_Environment_Impl_hh

#ifndef included_sidl_cxx_hh
#include "sidl_cxx.hh"
#endif
#ifndef included_TAO_Environment_IOR_h
#include "TAO_Environment_IOR.h"
#endif
// 
// Includes for all method dependencies.
// 
#ifndef included_TAO_Environment_hh
#include "TAO_Environment.hh"
#endif
#ifndef included_sidl_BaseInterface_hh
#include "sidl_BaseInterface.hh"
#endif
#ifndef included_sidl_ClassInfo_hh
#include "sidl_ClassInfo.hh"
#endif


// DO-NOT-DELETE splicer.begin(TAO.Environment._includes)
// Put additional includes or other arbitrary code here...
// DO-NOT-DELETE splicer.end(TAO.Environment._includes)

namespace TAO { 

  /**
   * Symbol "TAO.Environment" (version 0.3)
   */
  class Environment_impl
  // DO-NOT-DELETE splicer.begin(TAO.Environment._inherits)
  // Put additional inheritance here...
  // DO-NOT-DELETE splicer.end(TAO.Environment._inherits)
  {

  private:
    // Pointer back to IOR.
    // Use this to dispatch back through IOR vtable.
    Environment self;

    // DO-NOT-DELETE splicer.begin(TAO.Environment._implementation)
    
    // DO-NOT-DELETE splicer.end(TAO.Environment._implementation)

  private:
    // private default constructor (required)
    Environment_impl() 
    {} 

  public:
    // sidl constructor (required)
    // Note: alternate Skel constructor doesn't call addref()
    // (fixes bug #275)
    Environment_impl( struct TAO_Environment__object * s ) : self(s,
      true) { _ctor(); }

    // user defined construction
    void _ctor();

    // virtual destructor (required)
    virtual ~Environment_impl() { _dtor(); }

    // user defined destruction
    void _dtor();

    // static class initializer
    static void _load();

  public:

    /**
     * user defined non-static method.
     */
    int32_t
    Initialize (
      /* in */ ::sidl::array< ::std::string> argv
    )
    throw () 
    ;

    /**
     * user defined non-static method.
     */
    int32_t
    InitializeNoArgs() throw () 
    ;
    /**
     * user defined non-static method.
     */
    int32_t
    Finalize() throw () 
    ;
  };  // end class Environment_impl

} // end namespace TAO

// DO-NOT-DELETE splicer.begin(TAO.Environment._misc)
// Put miscellaneous things here...
// DO-NOT-DELETE splicer.end(TAO.Environment._misc)

#endif
