/*
 *  MICO --- a free CORBA implementation
 *  Copyright (C) 1997-98 Kay Roemer & Arno Puder
 *
 *  This file was automatically generated. DO NOT EDIT!
 */

#if !defined(__MODULE1_H__) || defined(MICO_NO_TOPLEVEL_MODULES)
#define __MODULE1_H__

#ifndef MICO_NO_TOPLEVEL_MODULES
#include <CORBA.h>
#include <mico/throw.h>
#endif

#ifndef MICO_NO_TOPLEVEL_MODULES
MICO_NAMESPACE_DECL M {
#endif

#if !defined(MICO_NO_TOPLEVEL_MODULES) || defined(MICO_MODULE_M)


typedef CORBA::Float money;
class I;
typedef I *I_ptr;
typedef I_ptr IRef;
typedef ObjVar<I> I_var;
typedef I_var I_out;


// Common definitions for interface I
class I : virtual public CORBA::Object
{
  public:
    virtual ~I();
    static I_ptr _duplicate( I_ptr obj );
    static I_ptr _narrow( CORBA::Object_ptr obj );
    static I_ptr _nil();

    virtual void *_narrow_helper( const char *repoid );
    static vector<CORBA::Narrow_proto> *_narrow_helpers;
    static bool _narrow_helper2( CORBA::Object_ptr obj );

  protected:
    I() {};
  private:
    I( const I& );
    void operator=( const I& );
};

// Stub for interface I
class I_stub:
  virtual public I
{
  public:
    virtual ~I_stub();
  private:
    void operator=( const I_stub& );
};

class I_skel :
  virtual public StaticMethodDispatcher,
  virtual public I
{
  public:
    I_skel( const CORBA::BOA::ReferenceData & = CORBA::BOA::ReferenceData() );
    virtual ~I_skel();
    I_skel( CORBA::Object_ptr obj );
    virtual bool dispatch( CORBA::StaticServerRequest_ptr _req, CORBA::Environment &_env );
    I_ptr _this();

};

#endif // !defined(MICO_NO_TOPLEVEL_MODULES) || defined(MICO_MODULE_M)

#ifndef MICO_NO_TOPLEVEL_MODULES

};
#endif



#ifndef MICO_CONF_NO_POA

#endif // MICO_CONF_NO_POA

#if !defined(MICO_NO_TOPLEVEL_MODULES) || defined(MICO_MODULE__GLOBAL)

extern CORBA::StaticTypeInfo *_marshaller_M_I;
#endif // !defined(MICO_NO_TOPLEVEL_MODULES) || defined(MICO_MODULE__GLOBAL)


#if !defined(MICO_NO_TOPLEVEL_MODULES) && !defined(MICO_IN_GENERATED_CODE)
#include <mico/template_impl.h>
#endif

#endif
