// This file is generated by omniidl (C++ backend)- omniORB_4_1. Do not edit.
#ifndef __MED_hh__
#define __MED_hh__

#ifndef __CORBA_H_EXTERNAL_GUARD__
#include <omniORB4/CORBA.h>
#endif

#ifndef  USE_stub_in_nt_dll
# define USE_stub_in_nt_dll_NOT_DEFINED_MED
#endif
#ifndef  USE_core_stub_in_nt_dll
# define USE_core_stub_in_nt_dll_NOT_DEFINED_MED
#endif
#ifndef  USE_dyn_stub_in_nt_dll
# define USE_dyn_stub_in_nt_dll_NOT_DEFINED_MED
#endif



#ifndef __SALOME__GenericObj_hh_EXTERNAL_GUARD__
#define __SALOME__GenericObj_hh_EXTERNAL_GUARD__
#include <SALOME_GenericObj.hh>
#endif
#ifndef __SALOME__Exception_hh_EXTERNAL_GUARD__
#define __SALOME__Exception_hh_EXTERNAL_GUARD__
#include <SALOME_Exception.hh>
#endif
#ifndef __SALOMEDS_hh_EXTERNAL_GUARD__
#define __SALOMEDS_hh_EXTERNAL_GUARD__
#include <SALOMEDS.hh>
#endif
#ifndef __SALOME__PyNode_hh_EXTERNAL_GUARD__
#define __SALOME__PyNode_hh_EXTERNAL_GUARD__
#include <SALOME_PyNode.hh>
#endif
#ifndef __SALOME__Component_hh_EXTERNAL_GUARD__
#define __SALOME__Component_hh_EXTERNAL_GUARD__
#include <SALOME_Component.hh>
#endif
#ifndef __SALOME__Comm_hh_EXTERNAL_GUARD__
#define __SALOME__Comm_hh_EXTERNAL_GUARD__
#include <SALOME_Comm.hh>
#endif



#ifdef USE_stub_in_nt_dll
# ifndef USE_core_stub_in_nt_dll
#  define USE_core_stub_in_nt_dll
# endif
# ifndef USE_dyn_stub_in_nt_dll
#  define USE_dyn_stub_in_nt_dll
# endif
#endif

#ifdef _core_attr
# error "A local CPP macro _core_attr has already been defined."
#else
# ifdef  USE_core_stub_in_nt_dll
#  define _core_attr _OMNIORB_NTDLL_IMPORT
# else
#  define _core_attr
# endif
#endif

#ifdef _dyn_attr
# error "A local CPP macro _dyn_attr has already been defined."
#else
# ifdef  USE_dyn_stub_in_nt_dll
#  define _dyn_attr _OMNIORB_NTDLL_IMPORT
# else
#  define _dyn_attr
# endif
#endif





_CORBA_MODULE SALOME_MED

_CORBA_MODULE_BEG

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_long_array;

  class long_array_var;

  class long_array : public _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 >  {
  public:
    typedef long_array_var _var_type;
    inline long_array() {}
    inline long_array(const long_array& _s)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > (_s) {}

    inline long_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > (_max) {}
    inline long_array(_CORBA_ULong _max, _CORBA_ULong _len, ::CORBA::Long* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > (_max, _len, _val, _rel) {}

  

    inline long_array& operator = (const long_array& _s) {
      _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > ::operator=(_s);
      return *this;
    }
  };

  class long_array_out;

  class long_array_var {
  public:
    inline long_array_var() : _pd_seq(0) {}
    inline long_array_var(long_array* _s) : _pd_seq(_s) {}
    inline long_array_var(const long_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new long_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~long_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline long_array_var& operator = (long_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline long_array_var& operator = (const long_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new long_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline ::CORBA::Long& operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline long_array* operator -> () { return _pd_seq; }
    inline const long_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator long_array& () const { return *_pd_seq; }
#else
    inline operator const long_array& () const { return *_pd_seq; }
    inline operator long_array& () { return *_pd_seq; }
#endif
      
    inline const long_array& in() const { return *_pd_seq; }
    inline long_array&       inout()    { return *_pd_seq; }
    inline long_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline long_array* _retn() { long_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class long_array_out;
    
  private:
    long_array* _pd_seq;
  };

  class long_array_out {
  public:
    inline long_array_out(long_array*& _s) : _data(_s) { _data = 0; }
    inline long_array_out(long_array_var& _s)
      : _data(_s._pd_seq) { _s = (long_array*) 0; }
    inline long_array_out(const long_array_out& _s) : _data(_s._data) {}
    inline long_array_out& operator = (const long_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline long_array_out& operator = (long_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator long_array*&()  { return _data; }
    inline long_array*& ptr()       { return _data; }
    inline long_array* operator->() { return _data; }

    inline ::CORBA::Long& operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    long_array*& _data;

  private:
    long_array_out();
    long_array_out& operator=(const long_array_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_double_array;

  class double_array_var;

  class double_array : public _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 >  {
  public:
    typedef double_array_var _var_type;
    inline double_array() {}
    inline double_array(const double_array& _s)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > (_s) {}

    inline double_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > (_max) {}
    inline double_array(_CORBA_ULong _max, _CORBA_ULong _len, ::CORBA::Double* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > (_max, _len, _val, _rel) {}

  

    inline double_array& operator = (const double_array& _s) {
      _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > ::operator=(_s);
      return *this;
    }
  };

  class double_array_out;

  class double_array_var {
  public:
    inline double_array_var() : _pd_seq(0) {}
    inline double_array_var(double_array* _s) : _pd_seq(_s) {}
    inline double_array_var(const double_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new double_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~double_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline double_array_var& operator = (double_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline double_array_var& operator = (const double_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new double_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline ::CORBA::Double& operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline double_array* operator -> () { return _pd_seq; }
    inline const double_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator double_array& () const { return *_pd_seq; }
#else
    inline operator const double_array& () const { return *_pd_seq; }
    inline operator double_array& () { return *_pd_seq; }
#endif
      
    inline const double_array& in() const { return *_pd_seq; }
    inline double_array&       inout()    { return *_pd_seq; }
    inline double_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline double_array* _retn() { double_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class double_array_out;
    
  private:
    double_array* _pd_seq;
  };

  class double_array_out {
  public:
    inline double_array_out(double_array*& _s) : _data(_s) { _data = 0; }
    inline double_array_out(double_array_var& _s)
      : _data(_s._pd_seq) { _s = (double_array*) 0; }
    inline double_array_out(const double_array_out& _s) : _data(_s._data) {}
    inline double_array_out& operator = (const double_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline double_array_out& operator = (double_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator double_array*&()  { return _data; }
    inline double_array*& ptr()       { return _data; }
    inline double_array* operator->() { return _data; }

    inline ::CORBA::Double& operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    double_array*& _data;

  private:
    double_array_out();
    double_array_out& operator=(const double_array_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_string_array;

  class string_array_var;

  class string_array : public _CORBA_Unbounded_Sequence_String {
  public:
    typedef string_array_var _var_type;
    inline string_array() {}
    inline string_array(const string_array& _s)
      : _CORBA_Unbounded_Sequence_String(_s) {}

    inline string_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_String(_max) {}
    inline string_array(_CORBA_ULong _max, _CORBA_ULong _len, char** _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_String(_max, _len, _val, _rel) {}

  

    inline string_array& operator = (const string_array& _s) {
      _CORBA_Unbounded_Sequence_String::operator=(_s);
      return *this;
    }
  };

  class string_array_out;

  class string_array_var {
  public:
    inline string_array_var() : _pd_seq(0) {}
    inline string_array_var(string_array* _s) : _pd_seq(_s) {}
    inline string_array_var(const string_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new string_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~string_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline string_array_var& operator = (string_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline string_array_var& operator = (const string_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new string_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline _CORBA_String_element operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline string_array* operator -> () { return _pd_seq; }
    inline const string_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator string_array& () const { return *_pd_seq; }
#else
    inline operator const string_array& () const { return *_pd_seq; }
    inline operator string_array& () { return *_pd_seq; }
#endif
      
    inline const string_array& in() const { return *_pd_seq; }
    inline string_array&       inout()    { return *_pd_seq; }
    inline string_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline string_array* _retn() { string_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class string_array_out;
    
  private:
    string_array* _pd_seq;
  };

  class string_array_out {
  public:
    inline string_array_out(string_array*& _s) : _data(_s) { _data = 0; }
    inline string_array_out(string_array_var& _s)
      : _data(_s._pd_seq) { _s = (string_array*) 0; }
    inline string_array_out(const string_array_out& _s) : _data(_s._data) {}
    inline string_array_out& operator = (const string_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline string_array_out& operator = (string_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator string_array*&()  { return _data; }
    inline string_array*& ptr()       { return _data; }
    inline string_array* operator->() { return _data; }

    inline _CORBA_String_element operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    string_array*& _data;

  private:
    string_array_out();
    string_array_out& operator=(const string_array_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_boolean_array;

  class boolean_array_var;

  class boolean_array : public _CORBA_Unbounded_Sequence_Boolean {
  public:
    typedef boolean_array_var _var_type;
    inline boolean_array() {}
    inline boolean_array(const boolean_array& _s)
      : _CORBA_Unbounded_Sequence_Boolean(_s) {}

    inline boolean_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_Boolean(_max) {}
    inline boolean_array(_CORBA_ULong _max, _CORBA_ULong _len, ::CORBA::Boolean* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_Boolean(_max, _len, _val, _rel) {}

  

    inline boolean_array& operator = (const boolean_array& _s) {
      _CORBA_Unbounded_Sequence_Boolean::operator=(_s);
      return *this;
    }
  };

  class boolean_array_out;

  class boolean_array_var {
  public:
    inline boolean_array_var() : _pd_seq(0) {}
    inline boolean_array_var(boolean_array* _s) : _pd_seq(_s) {}
    inline boolean_array_var(const boolean_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new boolean_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~boolean_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline boolean_array_var& operator = (boolean_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline boolean_array_var& operator = (const boolean_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new boolean_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline ::CORBA::Boolean& operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline boolean_array* operator -> () { return _pd_seq; }
    inline const boolean_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator boolean_array& () const { return *_pd_seq; }
#else
    inline operator const boolean_array& () const { return *_pd_seq; }
    inline operator boolean_array& () { return *_pd_seq; }
#endif
      
    inline const boolean_array& in() const { return *_pd_seq; }
    inline boolean_array&       inout()    { return *_pd_seq; }
    inline boolean_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline boolean_array* _retn() { boolean_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class boolean_array_out;
    
  private:
    boolean_array* _pd_seq;
  };

  class boolean_array_out {
  public:
    inline boolean_array_out(boolean_array*& _s) : _data(_s) { _data = 0; }
    inline boolean_array_out(boolean_array_var& _s)
      : _data(_s._pd_seq) { _s = (boolean_array*) 0; }
    inline boolean_array_out(const boolean_array_out& _s) : _data(_s._data) {}
    inline boolean_array_out& operator = (const boolean_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline boolean_array_out& operator = (boolean_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator boolean_array*&()  { return _data; }
    inline boolean_array*& ptr()       { return _data; }
    inline boolean_array* operator->() { return _data; }

    inline ::CORBA::Boolean& operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    boolean_array*& _data;

  private:
    boolean_array_out();
    boolean_array_out& operator=(const boolean_array_var&);
  };

#ifndef __SALOME__MED_mFIELD__
#define __SALOME__MED_mFIELD__

  class FIELD;
  class _objref_FIELD;
  class _impl_FIELD;
  
  typedef _objref_FIELD* FIELD_ptr;
  typedef FIELD_ptr FIELDRef;

  class FIELD_Helper {
  public:
    typedef FIELD_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELD, FIELD_Helper> FIELD_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELD,FIELD_Helper > FIELD_out;

#endif

#ifndef __SALOME__MED_mFAMILY__
#define __SALOME__MED_mFAMILY__

  class FAMILY;
  class _objref_FAMILY;
  class _impl_FAMILY;
  
  typedef _objref_FAMILY* FAMILY_ptr;
  typedef FAMILY_ptr FAMILYRef;

  class FAMILY_Helper {
  public:
    typedef FAMILY_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FAMILY, FAMILY_Helper> FAMILY_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FAMILY,FAMILY_Helper > FAMILY_out;

#endif

#ifndef __SALOME__MED_mGROUP__
#define __SALOME__MED_mGROUP__

  class GROUP;
  class _objref_GROUP;
  class _impl_GROUP;
  
  typedef _objref_GROUP* GROUP_ptr;
  typedef GROUP_ptr GROUPRef;

  class GROUP_Helper {
  public:
    typedef GROUP_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_GROUP, GROUP_Helper> GROUP_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_GROUP,GROUP_Helper > GROUP_out;

#endif

#ifndef __SALOME__MED_mMESH__
#define __SALOME__MED_mMESH__

  class MESH;
  class _objref_MESH;
  class _impl_MESH;
  
  typedef _objref_MESH* MESH_ptr;
  typedef MESH_ptr MESHRef;

  class MESH_Helper {
  public:
    typedef MESH_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_MESH, MESH_Helper> MESH_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_MESH,MESH_Helper > MESH_out;

#endif

#ifndef __SALOME__MED_mSUPPORT__
#define __SALOME__MED_mSUPPORT__

  class SUPPORT;
  class _objref_SUPPORT;
  class _impl_SUPPORT;
  
  typedef _objref_SUPPORT* SUPPORT_ptr;
  typedef SUPPORT_ptr SUPPORTRef;

  class SUPPORT_Helper {
  public:
    typedef SUPPORT_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_SUPPORT, SUPPORT_Helper> SUPPORT_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_SUPPORT,SUPPORT_Helper > SUPPORT_out;

#endif

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medGeometryElement;

  typedef ::CORBA::Long medGeometryElement;
  typedef ::CORBA::Long_out medGeometryElement_out;

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_NONE _init_in_decl_( = 0 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_POINT1 _init_in_decl_( = 1 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_SEG2 _init_in_decl_( = 102 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_SEG3 _init_in_decl_( = 103 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_TRIA3 _init_in_decl_( = 203 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_QUAD4 _init_in_decl_( = 204 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_TRIA6 _init_in_decl_( = 206 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_QUAD8 _init_in_decl_( = 208 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_TETRA4 _init_in_decl_( = 304 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_PYRA5 _init_in_decl_( = 305 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_PENTA6 _init_in_decl_( = 306 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_HEXA8 _init_in_decl_( = 308 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_TETRA10 _init_in_decl_( = 310 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_PYRA13 _init_in_decl_( = 313 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_PENTA15 _init_in_decl_( = 315 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_HEXA20 _init_in_decl_( = 320 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_POLYGON _init_in_decl_( = 400 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_POLYHEDRA _init_in_decl_( = 500 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_ALL_ELEMENTS _init_in_decl_( = 999 );

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medEntityMesh;

  typedef ::CORBA::Long medEntityMesh;
  typedef ::CORBA::Long_out medEntityMesh_out;

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_CELL _init_in_decl_( = 0 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_FACE _init_in_decl_( = 1 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_EDGE _init_in_decl_( = 2 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_NODE _init_in_decl_( = 3 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_ALL_ENTITIES _init_in_decl_( = 4 );

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medModeSwitch;

  typedef ::CORBA::Long medModeSwitch;
  typedef ::CORBA::Long_out medModeSwitch_out;

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_FULL_INTERLACE _init_in_decl_( = 0 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_NO_INTERLACE _init_in_decl_( = 1 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_NO_INTERLACE_BY_TYPE _init_in_decl_( = 2 );

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medConnectivity;

  typedef ::CORBA::Long medConnectivity;
  typedef ::CORBA::Long_out medConnectivity_out;

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_NODAL _init_in_decl_( = 0 );

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_DESCENDING _init_in_decl_( = 1 );

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medDriverTypes;

  typedef ::CORBA::Long medDriverTypes;
  typedef ::CORBA::Long_out medDriverTypes_out;

  _CORBA_MODULE_VARINT const ::CORBA::Long MED_DRIVER _init_in_decl_( = 0 );

  _CORBA_MODULE_VARINT const ::CORBA::Long VTK_DRIVER _init_in_decl_( = 1 );

  _CORBA_MODULE_VARINT const ::CORBA::Long NO_DRIVER _init_in_decl_( = 2 );

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_medGeometryElement_array;

  class medGeometryElement_array_var;

  class medGeometryElement_array : public _CORBA_Unbounded_Sequence_w_FixSizeElement< medGeometryElement, 4, 4 >  {
  public:
    typedef medGeometryElement_array_var _var_type;
    inline medGeometryElement_array() {}
    inline medGeometryElement_array(const medGeometryElement_array& _s)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< medGeometryElement, 4, 4 > (_s) {}

    inline medGeometryElement_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< medGeometryElement, 4, 4 > (_max) {}
    inline medGeometryElement_array(_CORBA_ULong _max, _CORBA_ULong _len, medGeometryElement* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< medGeometryElement, 4, 4 > (_max, _len, _val, _rel) {}

  

    inline medGeometryElement_array& operator = (const medGeometryElement_array& _s) {
      _CORBA_Unbounded_Sequence_w_FixSizeElement< medGeometryElement, 4, 4 > ::operator=(_s);
      return *this;
    }
  };

  class medGeometryElement_array_out;

  class medGeometryElement_array_var {
  public:
    inline medGeometryElement_array_var() : _pd_seq(0) {}
    inline medGeometryElement_array_var(medGeometryElement_array* _s) : _pd_seq(_s) {}
    inline medGeometryElement_array_var(const medGeometryElement_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new medGeometryElement_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~medGeometryElement_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline medGeometryElement_array_var& operator = (medGeometryElement_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline medGeometryElement_array_var& operator = (const medGeometryElement_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new medGeometryElement_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline medGeometryElement& operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline medGeometryElement_array* operator -> () { return _pd_seq; }
    inline const medGeometryElement_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator medGeometryElement_array& () const { return *_pd_seq; }
#else
    inline operator const medGeometryElement_array& () const { return *_pd_seq; }
    inline operator medGeometryElement_array& () { return *_pd_seq; }
#endif
      
    inline const medGeometryElement_array& in() const { return *_pd_seq; }
    inline medGeometryElement_array&       inout()    { return *_pd_seq; }
    inline medGeometryElement_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline medGeometryElement_array* _retn() { medGeometryElement_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class medGeometryElement_array_out;
    
  private:
    medGeometryElement_array* _pd_seq;
  };

  class medGeometryElement_array_out {
  public:
    inline medGeometryElement_array_out(medGeometryElement_array*& _s) : _data(_s) { _data = 0; }
    inline medGeometryElement_array_out(medGeometryElement_array_var& _s)
      : _data(_s._pd_seq) { _s = (medGeometryElement_array*) 0; }
    inline medGeometryElement_array_out(const medGeometryElement_array_out& _s) : _data(_s._data) {}
    inline medGeometryElement_array_out& operator = (const medGeometryElement_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline medGeometryElement_array_out& operator = (medGeometryElement_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator medGeometryElement_array*&()  { return _data; }
    inline medGeometryElement_array*& ptr()       { return _data; }
    inline medGeometryElement_array* operator->() { return _data; }

    inline medGeometryElement& operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    medGeometryElement_array*& _data;

  private:
    medGeometryElement_array_out();
    medGeometryElement_array_out& operator=(const medGeometryElement_array_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_Family_array;

  class Family_array_var;

  class Family_array : public _CORBA_Unbounded_Sequence_ObjRef< _objref_FAMILY, _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper> , FAMILY_Helper >  {
  public:
    typedef Family_array_var _var_type;
    inline Family_array() {}
    inline Family_array(const Family_array& _s)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_FAMILY, _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper> , FAMILY_Helper > (_s) {}

    inline Family_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_FAMILY, _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper> , FAMILY_Helper > (_max) {}
    inline Family_array(_CORBA_ULong _max, _CORBA_ULong _len, FAMILY_ptr* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_FAMILY, _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper> , FAMILY_Helper > (_max, _len, _val, _rel) {}

  

    inline Family_array& operator = (const Family_array& _s) {
      _CORBA_Unbounded_Sequence_ObjRef< _objref_FAMILY, _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper> , FAMILY_Helper > ::operator=(_s);
      return *this;
    }
  };

  class Family_array_out;

  class Family_array_var {
  public:
    inline Family_array_var() : _pd_seq(0) {}
    inline Family_array_var(Family_array* _s) : _pd_seq(_s) {}
    inline Family_array_var(const Family_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new Family_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~Family_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline Family_array_var& operator = (Family_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline Family_array_var& operator = (const Family_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new Family_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper>  operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline Family_array* operator -> () { return _pd_seq; }
    inline const Family_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator Family_array& () const { return *_pd_seq; }
#else
    inline operator const Family_array& () const { return *_pd_seq; }
    inline operator Family_array& () { return *_pd_seq; }
#endif
      
    inline const Family_array& in() const { return *_pd_seq; }
    inline Family_array&       inout()    { return *_pd_seq; }
    inline Family_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline Family_array* _retn() { Family_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class Family_array_out;
    
  private:
    Family_array* _pd_seq;
  };

  class Family_array_out {
  public:
    inline Family_array_out(Family_array*& _s) : _data(_s) { _data = 0; }
    inline Family_array_out(Family_array_var& _s)
      : _data(_s._pd_seq) { _s = (Family_array*) 0; }
    inline Family_array_out(const Family_array_out& _s) : _data(_s._data) {}
    inline Family_array_out& operator = (const Family_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline Family_array_out& operator = (Family_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator Family_array*&()  { return _data; }
    inline Family_array*& ptr()       { return _data; }
    inline Family_array* operator->() { return _data; }

    inline _CORBA_ObjRef_Element< _objref_FAMILY, FAMILY_Helper>  operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    Family_array*& _data;

  private:
    Family_array_out();
    Family_array_out& operator=(const Family_array_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_Group_array;

  class Group_array_var;

  class Group_array : public _CORBA_Unbounded_Sequence_ObjRef< _objref_GROUP, _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper> , GROUP_Helper >  {
  public:
    typedef Group_array_var _var_type;
    inline Group_array() {}
    inline Group_array(const Group_array& _s)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_GROUP, _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper> , GROUP_Helper > (_s) {}

    inline Group_array(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_GROUP, _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper> , GROUP_Helper > (_max) {}
    inline Group_array(_CORBA_ULong _max, _CORBA_ULong _len, GROUP_ptr* _val, _CORBA_Boolean _rel=0)
      : _CORBA_Unbounded_Sequence_ObjRef< _objref_GROUP, _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper> , GROUP_Helper > (_max, _len, _val, _rel) {}

  

    inline Group_array& operator = (const Group_array& _s) {
      _CORBA_Unbounded_Sequence_ObjRef< _objref_GROUP, _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper> , GROUP_Helper > ::operator=(_s);
      return *this;
    }
  };

  class Group_array_out;

  class Group_array_var {
  public:
    inline Group_array_var() : _pd_seq(0) {}
    inline Group_array_var(Group_array* _s) : _pd_seq(_s) {}
    inline Group_array_var(const Group_array_var& _s) {
      if( _s._pd_seq )  _pd_seq = new Group_array(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~Group_array_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline Group_array_var& operator = (Group_array* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline Group_array_var& operator = (const Group_array_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new Group_array;
        *_pd_seq = *_s._pd_seq;
      } else if( _pd_seq ) {
        delete _pd_seq;
        _pd_seq = 0;
      }
      return *this;
    }
    inline _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper>  operator [] (_CORBA_ULong _s) {
      return (*_pd_seq)[_s];
    }

  

    inline Group_array* operator -> () { return _pd_seq; }
    inline const Group_array* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator Group_array& () const { return *_pd_seq; }
#else
    inline operator const Group_array& () const { return *_pd_seq; }
    inline operator Group_array& () { return *_pd_seq; }
#endif
      
    inline const Group_array& in() const { return *_pd_seq; }
    inline Group_array&       inout()    { return *_pd_seq; }
    inline Group_array*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline Group_array* _retn() { Group_array* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class Group_array_out;
    
  private:
    Group_array* _pd_seq;
  };

  class Group_array_out {
  public:
    inline Group_array_out(Group_array*& _s) : _data(_s) { _data = 0; }
    inline Group_array_out(Group_array_var& _s)
      : _data(_s._pd_seq) { _s = (Group_array*) 0; }
    inline Group_array_out(const Group_array_out& _s) : _data(_s._data) {}
    inline Group_array_out& operator = (const Group_array_out& _s) {
      _data = _s._data;
      return *this;
    }
    inline Group_array_out& operator = (Group_array* _s) {
      _data = _s;
      return *this;
    }
    inline operator Group_array*&()  { return _data; }
    inline Group_array*& ptr()       { return _data; }
    inline Group_array* operator->() { return _data; }

    inline _CORBA_ObjRef_Element< _objref_GROUP, GROUP_Helper>  operator [] (_CORBA_ULong _i) {
      return (*_data)[_i];
    }

  

    Group_array*& _data;

  private:
    Group_array_out();
    Group_array_out& operator=(const Group_array_var&);
  };

#ifndef __SALOME__MED_mMESH__
#define __SALOME__MED_mMESH__

  class MESH;
  class _objref_MESH;
  class _impl_MESH;
  
  typedef _objref_MESH* MESH_ptr;
  typedef MESH_ptr MESHRef;

  class MESH_Helper {
  public:
    typedef MESH_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_MESH, MESH_Helper> MESH_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_MESH,MESH_Helper > MESH_out;

#endif

  // interface MESH
  class MESH {
  public:
    // Declarations for this interface type.
    typedef MESH_ptr _ptr_type;
    typedef MESH_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    struct coordinateInfos {
      typedef _CORBA_ConstrType_Variable_Var<coordinateInfos> _var_type;

      
      ::CORBA::String_member coordSystem;

      string_array coordNames;

      string_array coordUnits;

    

      void operator>>= (cdrStream &) const;
      void operator<<= (cdrStream &);
    };

    typedef coordinateInfos::_var_type coordinateInfos_var;

    typedef _CORBA_ConstrType_Variable_OUT_arg< coordinateInfos,coordinateInfos_var > coordinateInfos_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_coordinateInfos;

    struct connectivityInfos {
      typedef _CORBA_ConstrType_Variable_Var<connectivityInfos> _var_type;

      
      ::CORBA::Long numberOfNodes;

      medGeometryElement_array meshTypes;

      long_array numberOfElements;

      long_array nodalConnectivityLength;

      ::CORBA::Long entityDimension;

    

      void operator>>= (cdrStream &) const;
      void operator<<= (cdrStream &);
    };

    typedef connectivityInfos::_var_type connectivityInfos_var;

    typedef _CORBA_ConstrType_Variable_OUT_arg< connectivityInfos,connectivityInfos_var > connectivityInfos_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_connectivityInfos;

    struct meshInfos {
      typedef _CORBA_ConstrType_Variable_Var<meshInfos> _var_type;

      
      ::CORBA::String_member name;

      ::CORBA::Long spaceDimension;

      ::CORBA::Long meshDimension;

      ::CORBA::Long numberOfNodes;

      ::CORBA::Boolean isAGrid;

      Family_array famNode;

      Family_array famEdge;

      Family_array famFace;

      Family_array famCell;

      Group_array groupNode;

      Group_array groupEdge;

      Group_array groupFace;

      Group_array groupCell;

    

      void operator>>= (cdrStream &) const;
      void operator<<= (cdrStream &);
    };

    typedef meshInfos::_var_type meshInfos_var;

    typedef _CORBA_ConstrType_Variable_OUT_arg< meshInfos,meshInfos_var > meshInfos_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_meshInfos;

  
  };

  class _objref_MESH :
    public virtual SALOME::_objref_MultiCommClass,
    public virtual SALOME::_objref_GenericObj
  {
  public:
    char* getName();
    ::CORBA::Long getSpaceDimension();
    ::CORBA::Long getMeshDimension();
    ::CORBA::Boolean getIsAGrid();
    ::CORBA::Boolean existConnectivity(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity);
    char* getCoordinatesSystem();
    ::CORBA::Long getNumberOfNodes();
    double_array* getCoordinates(::SALOME_MED::medModeSwitch typeSwitch);
    SALOME::SenderDouble_ptr getSenderForCoordinates(::SALOME_MED::medModeSwitch typeSwitch);
    ::CORBA::Double getCoordinate(::CORBA::Long Number, ::CORBA::Long Axis);
    string_array* getCoordinatesNames();
    string_array* getCoordinatesUnits();
    SUPPORT_ptr getBoundaryElements(::SALOME_MED::medEntityMesh Entity);
    SUPPORT_ptr getSupportOnAll(::SALOME_MED::medEntityMesh Entity);
    SUPPORT_ptr getSkin(::SALOME_MED::SUPPORT_ptr mySupport3D);
    long_array* getGlobalNumberingIndex(::SALOME_MED::medEntityMesh entity);
    MESH::coordinateInfos* getCoordGlobal();
    ::CORBA::Long getNumberOfTypes(::SALOME_MED::medEntityMesh entity);
    medGeometryElement_array* getTypes(::SALOME_MED::medEntityMesh entity);
    ::CORBA::Long getNumberOfElements(::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement);
    long_array* getConnectivity(::SALOME_MED::medModeSwitch typeSwitch, ::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement);
    SALOME::SenderInt_ptr getSenderForConnectivity(::SALOME_MED::medModeSwitch typeSwitch, ::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement);
    SALOME::SenderInt_ptr getSenderForPolygonsConnectivity(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity);
    SALOME::SenderInt_ptr getSenderForPolygonsConnectivityIndex(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity);
    SALOME::SenderInt_ptr getSenderForPolyhedronConnectivity(::SALOME_MED::medConnectivity mode);
    SALOME::SenderInt_ptr getSenderForPolyhedronIndex(::SALOME_MED::medConnectivity mode);
    SALOME::SenderInt_ptr getSenderForPolyhedronFacesIndex();
    long_array* getConnectivityIndex(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity);
    ::CORBA::Long getElementNumber(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement type, const ::SALOME_MED::long_array& connectivity);
    medGeometryElement getElementType(::SALOME_MED::medEntityMesh entity, ::CORBA::Long number);
    long_array* getReverseConnectivity(::SALOME_MED::medConnectivity mode);
    long_array* getReverseConnectivityIndex(::SALOME_MED::medConnectivity mode);
    MESH::connectivityInfos* getConnectGlobal(::SALOME_MED::medEntityMesh entity);
    ::CORBA::Long getNumberOfFamilies(::SALOME_MED::medEntityMesh entity);
    ::CORBA::Long getNumberOfGroups(::SALOME_MED::medEntityMesh entity);
    Family_array* getFamilies(::SALOME_MED::medEntityMesh entity);
    FAMILY_ptr getFamily(::SALOME_MED::medEntityMesh entity, ::CORBA::Long familyNumber);
    Group_array* getGroups(::SALOME_MED::medEntityMesh entity);
    GROUP_ptr getGroup(::SALOME_MED::medEntityMesh entity, ::CORBA::Long groupNumber);
    FIELD_ptr getVolume(::SALOME_MED::SUPPORT_ptr mySupport);
    FIELD_ptr getArea(::SALOME_MED::SUPPORT_ptr mySupport);
    FIELD_ptr getLength(::SALOME_MED::SUPPORT_ptr mySupport);
    FIELD_ptr getNormal(::SALOME_MED::SUPPORT_ptr mySupport);
    FIELD_ptr getBarycenter(::SALOME_MED::SUPPORT_ptr mySupport);
    void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::MESH_ptr myIor);
    ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName, const char* meshName);
    void rmDriver(::CORBA::Long i);
    void read(::CORBA::Long i);
    void write(::CORBA::Long i, const char* driverMeshName);
    ::CORBA::Long getCorbaIndex();
    MESH::meshInfos* getMeshGlobal();
    ::CORBA::Boolean areEquals(::SALOME_MED::MESH_ptr other);

    inline _objref_MESH()  { _PR_setobj(0); }  // nil
    _objref_MESH(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_MESH();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_MESH(const _objref_MESH&);
    _objref_MESH& operator = (const _objref_MESH&);
    // not implemented

    friend class MESH;
  };

  class _pof_MESH : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_MESH() : _OMNI_NS(proxyObjectFactory)(MESH::_PD_repoId) {}
    virtual ~_pof_MESH();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_MESH :
    public virtual SALOME::_impl_MultiCommClass,
    public virtual SALOME::_impl_GenericObj
  {
  public:
    virtual ~_impl_MESH();

    virtual char* getName() = 0;
    virtual ::CORBA::Long getSpaceDimension() = 0;
    virtual ::CORBA::Long getMeshDimension() = 0;
    virtual ::CORBA::Boolean getIsAGrid() = 0;
    virtual ::CORBA::Boolean existConnectivity(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity) = 0;
    virtual char* getCoordinatesSystem() = 0;
    virtual ::CORBA::Long getNumberOfNodes() = 0;
    virtual double_array* getCoordinates(::SALOME_MED::medModeSwitch typeSwitch) = 0;
    virtual SALOME::SenderDouble_ptr getSenderForCoordinates(::SALOME_MED::medModeSwitch typeSwitch) = 0;
    virtual ::CORBA::Double getCoordinate(::CORBA::Long Number, ::CORBA::Long Axis) = 0;
    virtual string_array* getCoordinatesNames() = 0;
    virtual string_array* getCoordinatesUnits() = 0;
    virtual SUPPORT_ptr getBoundaryElements(::SALOME_MED::medEntityMesh Entity) = 0;
    virtual SUPPORT_ptr getSupportOnAll(::SALOME_MED::medEntityMesh Entity) = 0;
    virtual SUPPORT_ptr getSkin(::SALOME_MED::SUPPORT_ptr mySupport3D) = 0;
    virtual long_array* getGlobalNumberingIndex(::SALOME_MED::medEntityMesh entity) = 0;
    virtual MESH::coordinateInfos* getCoordGlobal() = 0;
    virtual ::CORBA::Long getNumberOfTypes(::SALOME_MED::medEntityMesh entity) = 0;
    virtual medGeometryElement_array* getTypes(::SALOME_MED::medEntityMesh entity) = 0;
    virtual ::CORBA::Long getNumberOfElements(::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual long_array* getConnectivity(::SALOME_MED::medModeSwitch typeSwitch, ::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual SALOME::SenderInt_ptr getSenderForConnectivity(::SALOME_MED::medModeSwitch typeSwitch, ::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual SALOME::SenderInt_ptr getSenderForPolygonsConnectivity(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity) = 0;
    virtual SALOME::SenderInt_ptr getSenderForPolygonsConnectivityIndex(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity) = 0;
    virtual SALOME::SenderInt_ptr getSenderForPolyhedronConnectivity(::SALOME_MED::medConnectivity mode) = 0;
    virtual SALOME::SenderInt_ptr getSenderForPolyhedronIndex(::SALOME_MED::medConnectivity mode) = 0;
    virtual SALOME::SenderInt_ptr getSenderForPolyhedronFacesIndex() = 0;
    virtual long_array* getConnectivityIndex(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity) = 0;
    virtual ::CORBA::Long getElementNumber(::SALOME_MED::medConnectivity mode, ::SALOME_MED::medEntityMesh entity, ::SALOME_MED::medGeometryElement type, const ::SALOME_MED::long_array& connectivity) = 0;
    virtual medGeometryElement getElementType(::SALOME_MED::medEntityMesh entity, ::CORBA::Long number) = 0;
    virtual long_array* getReverseConnectivity(::SALOME_MED::medConnectivity mode) = 0;
    virtual long_array* getReverseConnectivityIndex(::SALOME_MED::medConnectivity mode) = 0;
    virtual MESH::connectivityInfos* getConnectGlobal(::SALOME_MED::medEntityMesh entity) = 0;
    virtual ::CORBA::Long getNumberOfFamilies(::SALOME_MED::medEntityMesh entity) = 0;
    virtual ::CORBA::Long getNumberOfGroups(::SALOME_MED::medEntityMesh entity) = 0;
    virtual Family_array* getFamilies(::SALOME_MED::medEntityMesh entity) = 0;
    virtual FAMILY_ptr getFamily(::SALOME_MED::medEntityMesh entity, ::CORBA::Long familyNumber) = 0;
    virtual Group_array* getGroups(::SALOME_MED::medEntityMesh entity) = 0;
    virtual GROUP_ptr getGroup(::SALOME_MED::medEntityMesh entity, ::CORBA::Long groupNumber) = 0;
    virtual FIELD_ptr getVolume(::SALOME_MED::SUPPORT_ptr mySupport) = 0;
    virtual FIELD_ptr getArea(::SALOME_MED::SUPPORT_ptr mySupport) = 0;
    virtual FIELD_ptr getLength(::SALOME_MED::SUPPORT_ptr mySupport) = 0;
    virtual FIELD_ptr getNormal(::SALOME_MED::SUPPORT_ptr mySupport) = 0;
    virtual FIELD_ptr getBarycenter(::SALOME_MED::SUPPORT_ptr mySupport) = 0;
    virtual void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::MESH_ptr myIor) = 0;
    virtual ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName, const char* meshName) = 0;
    virtual void rmDriver(::CORBA::Long i) = 0;
    virtual void read(::CORBA::Long i) = 0;
    virtual void write(::CORBA::Long i, const char* driverMeshName) = 0;
    virtual ::CORBA::Long getCorbaIndex() = 0;
    virtual MESH::meshInfos* getMeshGlobal() = 0;
    virtual ::CORBA::Boolean areEquals(::SALOME_MED::MESH_ptr other) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_MESH;

#ifndef __SALOME__MED_mSUPPORT__
#define __SALOME__MED_mSUPPORT__

  class SUPPORT;
  class _objref_SUPPORT;
  class _impl_SUPPORT;
  
  typedef _objref_SUPPORT* SUPPORT_ptr;
  typedef SUPPORT_ptr SUPPORTRef;

  class SUPPORT_Helper {
  public:
    typedef SUPPORT_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_SUPPORT, SUPPORT_Helper> SUPPORT_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_SUPPORT,SUPPORT_Helper > SUPPORT_out;

#endif

  // interface SUPPORT
  class SUPPORT {
  public:
    // Declarations for this interface type.
    typedef SUPPORT_ptr _ptr_type;
    typedef SUPPORT_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    struct supportInfos {
      typedef _CORBA_ConstrType_Variable_Var<supportInfos> _var_type;

      
      ::CORBA::String_member name;

      ::CORBA::String_member description;

      ::CORBA::Boolean isOnAllElements;

      medEntityMesh entity;

      ::CORBA::Long numberOfGeometricType;

      medGeometryElement_array types;

      long_array nbEltTypes;

      long_array nodalConnectivityLength;

    

      void operator>>= (cdrStream &) const;
      void operator<<= (cdrStream &);
    };

    typedef supportInfos::_var_type supportInfos_var;

    typedef _CORBA_ConstrType_Variable_OUT_arg< supportInfos,supportInfos_var > supportInfos_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_supportInfos;

  
  };

  class _objref_SUPPORT :
    public virtual SALOME::_objref_MultiCommClass,
    public virtual SALOME::_objref_GenericObj
  {
  public:
    char* getName();
    char* getDescription();
    MESH_ptr getMesh();
    medEntityMesh getEntity();
    ::CORBA::Boolean isOnAllElements();
    ::CORBA::Long getNumberOfElements(::SALOME_MED::medGeometryElement geomElement);
    ::CORBA::Long getNumberOfTypes();
    medGeometryElement_array* getTypes();
    long_array* getNumber(::SALOME_MED::medGeometryElement geomElement);
    long_array* getNumberFromFile(::SALOME_MED::medGeometryElement geomElement);
    SALOME::SenderInt_ptr getSenderForNumber(::SALOME_MED::medGeometryElement geomElement);
    long_array* getNumberIndex();
    SALOME::SenderInt_ptr getSenderForNumberIndex();
    void getBoundaryElements();
    ::CORBA::Long getCorbaIndex();
    SUPPORT::supportInfos* getSupportGlobal();

    inline _objref_SUPPORT()  { _PR_setobj(0); }  // nil
    _objref_SUPPORT(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_SUPPORT();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_SUPPORT(const _objref_SUPPORT&);
    _objref_SUPPORT& operator = (const _objref_SUPPORT&);
    // not implemented

    friend class SUPPORT;
  };

  class _pof_SUPPORT : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_SUPPORT() : _OMNI_NS(proxyObjectFactory)(SUPPORT::_PD_repoId) {}
    virtual ~_pof_SUPPORT();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_SUPPORT :
    public virtual SALOME::_impl_MultiCommClass,
    public virtual SALOME::_impl_GenericObj
  {
  public:
    virtual ~_impl_SUPPORT();

    virtual char* getName() = 0;
    virtual char* getDescription() = 0;
    virtual MESH_ptr getMesh() = 0;
    virtual medEntityMesh getEntity() = 0;
    virtual ::CORBA::Boolean isOnAllElements() = 0;
    virtual ::CORBA::Long getNumberOfElements(::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual ::CORBA::Long getNumberOfTypes() = 0;
    virtual medGeometryElement_array* getTypes() = 0;
    virtual long_array* getNumber(::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual long_array* getNumberFromFile(::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual SALOME::SenderInt_ptr getSenderForNumber(::SALOME_MED::medGeometryElement geomElement) = 0;
    virtual long_array* getNumberIndex() = 0;
    virtual SALOME::SenderInt_ptr getSenderForNumberIndex() = 0;
    virtual void getBoundaryElements() = 0;
    virtual ::CORBA::Long getCorbaIndex() = 0;
    virtual SUPPORT::supportInfos* getSupportGlobal() = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_SUPPORT;

#ifndef __SALOME__MED_mFAMILY__
#define __SALOME__MED_mFAMILY__

  class FAMILY;
  class _objref_FAMILY;
  class _impl_FAMILY;
  
  typedef _objref_FAMILY* FAMILY_ptr;
  typedef FAMILY_ptr FAMILYRef;

  class FAMILY_Helper {
  public:
    typedef FAMILY_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FAMILY, FAMILY_Helper> FAMILY_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FAMILY,FAMILY_Helper > FAMILY_out;

#endif

  // interface FAMILY
  class FAMILY {
  public:
    // Declarations for this interface type.
    typedef FAMILY_ptr _ptr_type;
    typedef FAMILY_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FAMILY :
    public virtual _objref_SUPPORT
  {
  public:
    ::CORBA::Long getIdentifier();
    ::CORBA::Long getNumberOfAttributes();
    long_array* getAttributesIdentifiers();
    ::CORBA::Long getAttributeIdentifier(::CORBA::Long i);
    long_array* getAttributesValues();
    ::CORBA::Long getAttributeValue(::CORBA::Long i);
    string_array* getAttributesDescriptions();
    char* getAttributeDescription(::CORBA::Long i);
    ::CORBA::Long getNumberOfGroups();
    string_array* getGroupsNames();
    char* getGroupName(::CORBA::Long i);

    inline _objref_FAMILY()  { _PR_setobj(0); }  // nil
    _objref_FAMILY(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FAMILY();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FAMILY(const _objref_FAMILY&);
    _objref_FAMILY& operator = (const _objref_FAMILY&);
    // not implemented

    friend class FAMILY;
  };

  class _pof_FAMILY : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FAMILY() : _OMNI_NS(proxyObjectFactory)(FAMILY::_PD_repoId) {}
    virtual ~_pof_FAMILY();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FAMILY :
    public virtual _impl_SUPPORT
  {
  public:
    virtual ~_impl_FAMILY();

    virtual ::CORBA::Long getIdentifier() = 0;
    virtual ::CORBA::Long getNumberOfAttributes() = 0;
    virtual long_array* getAttributesIdentifiers() = 0;
    virtual ::CORBA::Long getAttributeIdentifier(::CORBA::Long i) = 0;
    virtual long_array* getAttributesValues() = 0;
    virtual ::CORBA::Long getAttributeValue(::CORBA::Long i) = 0;
    virtual string_array* getAttributesDescriptions() = 0;
    virtual char* getAttributeDescription(::CORBA::Long i) = 0;
    virtual ::CORBA::Long getNumberOfGroups() = 0;
    virtual string_array* getGroupsNames() = 0;
    virtual char* getGroupName(::CORBA::Long i) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FAMILY;

#ifndef __SALOME__MED_mGROUP__
#define __SALOME__MED_mGROUP__

  class GROUP;
  class _objref_GROUP;
  class _impl_GROUP;
  
  typedef _objref_GROUP* GROUP_ptr;
  typedef GROUP_ptr GROUPRef;

  class GROUP_Helper {
  public:
    typedef GROUP_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_GROUP, GROUP_Helper> GROUP_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_GROUP,GROUP_Helper > GROUP_out;

#endif

  // interface GROUP
  class GROUP {
  public:
    // Declarations for this interface type.
    typedef GROUP_ptr _ptr_type;
    typedef GROUP_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_GROUP :
    public virtual _objref_SUPPORT
  {
  public:
    ::CORBA::Long getNumberOfFamilies();
    Family_array* getFamilies();
    FAMILY_ptr getFamily(::CORBA::Long i);

    inline _objref_GROUP()  { _PR_setobj(0); }  // nil
    _objref_GROUP(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_GROUP();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_GROUP(const _objref_GROUP&);
    _objref_GROUP& operator = (const _objref_GROUP&);
    // not implemented

    friend class GROUP;
  };

  class _pof_GROUP : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_GROUP() : _OMNI_NS(proxyObjectFactory)(GROUP::_PD_repoId) {}
    virtual ~_pof_GROUP();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_GROUP :
    public virtual _impl_SUPPORT
  {
  public:
    virtual ~_impl_GROUP();

    virtual ::CORBA::Long getNumberOfFamilies() = 0;
    virtual Family_array* getFamilies() = 0;
    virtual FAMILY_ptr getFamily(::CORBA::Long i) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_GROUP;

#ifndef __SALOME__MED_mFIELD__
#define __SALOME__MED_mFIELD__

  class FIELD;
  class _objref_FIELD;
  class _impl_FIELD;
  
  typedef _objref_FIELD* FIELD_ptr;
  typedef FIELD_ptr FIELDRef;

  class FIELD_Helper {
  public:
    typedef FIELD_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELD, FIELD_Helper> FIELD_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELD,FIELD_Helper > FIELD_out;

#endif

  // interface FIELD
  class FIELD {
  public:
    // Declarations for this interface type.
    typedef FIELD_ptr _ptr_type;
    typedef FIELD_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELD :
    public virtual SALOME::_objref_GenericObj
  {
  public:
    char* getName();
    void setName(const char* theName);
    char* getDescription();
    SUPPORT_ptr getSupport();
    ::CORBA::Long getNumberOfComponents();
    string_array* getComponentsNames();
    char* getComponentName(::CORBA::Long i);
    string_array* getComponentsUnits();
    char* getComponentUnit(::CORBA::Long i);
    string_array* getComponentsDescriptions();
    char* getComponentDescription(::CORBA::Long i);
    ::CORBA::Long getIterationNumber();
    ::CORBA::Double getTime();
    ::CORBA::Long getOrderNumber();
    ::CORBA::Boolean getGaussPresence();
    ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName, const char* fieldName);
    void rmDriver(::CORBA::Long i);
    void read(::CORBA::Long i);
    void write(::CORBA::Long i, const char* driverFieldName);
    void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::FIELD_ptr myIor);
    void addInStudyToComponent(::SALOMEDS::SComponent_ptr myComponent, ::SALOME_MED::FIELD_ptr myIor);
    ::CORBA::Long getCorbaIndex();

    inline _objref_FIELD()  { _PR_setobj(0); }  // nil
    _objref_FIELD(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELD();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELD(const _objref_FIELD&);
    _objref_FIELD& operator = (const _objref_FIELD&);
    // not implemented

    friend class FIELD;
  };

  class _pof_FIELD : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELD() : _OMNI_NS(proxyObjectFactory)(FIELD::_PD_repoId) {}
    virtual ~_pof_FIELD();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELD :
    public virtual SALOME::_impl_GenericObj
  {
  public:
    virtual ~_impl_FIELD();

    virtual char* getName() = 0;
    virtual void setName(const char* theName) = 0;
    virtual char* getDescription() = 0;
    virtual SUPPORT_ptr getSupport() = 0;
    virtual ::CORBA::Long getNumberOfComponents() = 0;
    virtual string_array* getComponentsNames() = 0;
    virtual char* getComponentName(::CORBA::Long i) = 0;
    virtual string_array* getComponentsUnits() = 0;
    virtual char* getComponentUnit(::CORBA::Long i) = 0;
    virtual string_array* getComponentsDescriptions() = 0;
    virtual char* getComponentDescription(::CORBA::Long i) = 0;
    virtual ::CORBA::Long getIterationNumber() = 0;
    virtual ::CORBA::Double getTime() = 0;
    virtual ::CORBA::Long getOrderNumber() = 0;
    virtual ::CORBA::Boolean getGaussPresence() = 0;
    virtual ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName, const char* fieldName) = 0;
    virtual void rmDriver(::CORBA::Long i) = 0;
    virtual void read(::CORBA::Long i) = 0;
    virtual void write(::CORBA::Long i, const char* driverFieldName) = 0;
    virtual void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::FIELD_ptr myIor) = 0;
    virtual void addInStudyToComponent(::SALOMEDS::SComponent_ptr myComponent, ::SALOME_MED::FIELD_ptr myIor) = 0;
    virtual ::CORBA::Long getCorbaIndex() = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELD;

#ifndef __SALOME__MED_mFIELDDOUBLE__
#define __SALOME__MED_mFIELDDOUBLE__

  class FIELDDOUBLE;
  class _objref_FIELDDOUBLE;
  class _impl_FIELDDOUBLE;
  
  typedef _objref_FIELDDOUBLE* FIELDDOUBLE_ptr;
  typedef FIELDDOUBLE_ptr FIELDDOUBLERef;

  class FIELDDOUBLE_Helper {
  public:
    typedef FIELDDOUBLE_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDDOUBLE, FIELDDOUBLE_Helper> FIELDDOUBLE_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDDOUBLE,FIELDDOUBLE_Helper > FIELDDOUBLE_out;

#endif

  // interface FIELDDOUBLE
  class FIELDDOUBLE {
  public:
    // Declarations for this interface type.
    typedef FIELDDOUBLE_ptr _ptr_type;
    typedef FIELDDOUBLE_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDDOUBLE :
    public virtual _objref_FIELD,
    public virtual SALOME::_objref_MultiCommClass
  {
  public:
    double_array* getValue(::SALOME_MED::medModeSwitch mode);
    SALOME::SenderDouble_ptr getSenderForValue(::SALOME_MED::medModeSwitch mode);

    inline _objref_FIELDDOUBLE()  { _PR_setobj(0); }  // nil
    _objref_FIELDDOUBLE(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDDOUBLE();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDDOUBLE(const _objref_FIELDDOUBLE&);
    _objref_FIELDDOUBLE& operator = (const _objref_FIELDDOUBLE&);
    // not implemented

    friend class FIELDDOUBLE;
  };

  class _pof_FIELDDOUBLE : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDDOUBLE() : _OMNI_NS(proxyObjectFactory)(FIELDDOUBLE::_PD_repoId) {}
    virtual ~_pof_FIELDDOUBLE();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDDOUBLE :
    public virtual _impl_FIELD,
    public virtual SALOME::_impl_MultiCommClass
  {
  public:
    virtual ~_impl_FIELDDOUBLE();

    virtual double_array* getValue(::SALOME_MED::medModeSwitch mode) = 0;
    virtual SALOME::SenderDouble_ptr getSenderForValue(::SALOME_MED::medModeSwitch mode) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDDOUBLE;

#ifndef __SALOME__MED_mFIELDDOUBLENO__
#define __SALOME__MED_mFIELDDOUBLENO__

  class FIELDDOUBLENO;
  class _objref_FIELDDOUBLENO;
  class _impl_FIELDDOUBLENO;
  
  typedef _objref_FIELDDOUBLENO* FIELDDOUBLENO_ptr;
  typedef FIELDDOUBLENO_ptr FIELDDOUBLENORef;

  class FIELDDOUBLENO_Helper {
  public:
    typedef FIELDDOUBLENO_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDDOUBLENO, FIELDDOUBLENO_Helper> FIELDDOUBLENO_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDDOUBLENO,FIELDDOUBLENO_Helper > FIELDDOUBLENO_out;

#endif

  // interface FIELDDOUBLENO
  class FIELDDOUBLENO {
  public:
    // Declarations for this interface type.
    typedef FIELDDOUBLENO_ptr _ptr_type;
    typedef FIELDDOUBLENO_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDDOUBLENO :
    public virtual _objref_FIELDDOUBLE
  {
  public:
    

    inline _objref_FIELDDOUBLENO()  { _PR_setobj(0); }  // nil
    _objref_FIELDDOUBLENO(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDDOUBLENO();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDDOUBLENO(const _objref_FIELDDOUBLENO&);
    _objref_FIELDDOUBLENO& operator = (const _objref_FIELDDOUBLENO&);
    // not implemented

    friend class FIELDDOUBLENO;
  };

  class _pof_FIELDDOUBLENO : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDDOUBLENO() : _OMNI_NS(proxyObjectFactory)(FIELDDOUBLENO::_PD_repoId) {}
    virtual ~_pof_FIELDDOUBLENO();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDDOUBLENO :
    public virtual _impl_FIELDDOUBLE
  {
  public:
    virtual ~_impl_FIELDDOUBLENO();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDDOUBLENO;

#ifndef __SALOME__MED_mFIELDDOUBLENOBYTYPE__
#define __SALOME__MED_mFIELDDOUBLENOBYTYPE__

  class FIELDDOUBLENOBYTYPE;
  class _objref_FIELDDOUBLENOBYTYPE;
  class _impl_FIELDDOUBLENOBYTYPE;
  
  typedef _objref_FIELDDOUBLENOBYTYPE* FIELDDOUBLENOBYTYPE_ptr;
  typedef FIELDDOUBLENOBYTYPE_ptr FIELDDOUBLENOBYTYPERef;

  class FIELDDOUBLENOBYTYPE_Helper {
  public:
    typedef FIELDDOUBLENOBYTYPE_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDDOUBLENOBYTYPE, FIELDDOUBLENOBYTYPE_Helper> FIELDDOUBLENOBYTYPE_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDDOUBLENOBYTYPE,FIELDDOUBLENOBYTYPE_Helper > FIELDDOUBLENOBYTYPE_out;

#endif

  // interface FIELDDOUBLENOBYTYPE
  class FIELDDOUBLENOBYTYPE {
  public:
    // Declarations for this interface type.
    typedef FIELDDOUBLENOBYTYPE_ptr _ptr_type;
    typedef FIELDDOUBLENOBYTYPE_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDDOUBLENOBYTYPE :
    public virtual _objref_FIELDDOUBLE
  {
  public:
    

    inline _objref_FIELDDOUBLENOBYTYPE()  { _PR_setobj(0); }  // nil
    _objref_FIELDDOUBLENOBYTYPE(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDDOUBLENOBYTYPE();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDDOUBLENOBYTYPE(const _objref_FIELDDOUBLENOBYTYPE&);
    _objref_FIELDDOUBLENOBYTYPE& operator = (const _objref_FIELDDOUBLENOBYTYPE&);
    // not implemented

    friend class FIELDDOUBLENOBYTYPE;
  };

  class _pof_FIELDDOUBLENOBYTYPE : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDDOUBLENOBYTYPE() : _OMNI_NS(proxyObjectFactory)(FIELDDOUBLENOBYTYPE::_PD_repoId) {}
    virtual ~_pof_FIELDDOUBLENOBYTYPE();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDDOUBLENOBYTYPE :
    public virtual _impl_FIELDDOUBLE
  {
  public:
    virtual ~_impl_FIELDDOUBLENOBYTYPE();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDDOUBLENOBYTYPE;

#ifndef __SALOME__MED_mFIELDDOUBLEFULL__
#define __SALOME__MED_mFIELDDOUBLEFULL__

  class FIELDDOUBLEFULL;
  class _objref_FIELDDOUBLEFULL;
  class _impl_FIELDDOUBLEFULL;
  
  typedef _objref_FIELDDOUBLEFULL* FIELDDOUBLEFULL_ptr;
  typedef FIELDDOUBLEFULL_ptr FIELDDOUBLEFULLRef;

  class FIELDDOUBLEFULL_Helper {
  public:
    typedef FIELDDOUBLEFULL_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDDOUBLEFULL, FIELDDOUBLEFULL_Helper> FIELDDOUBLEFULL_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDDOUBLEFULL,FIELDDOUBLEFULL_Helper > FIELDDOUBLEFULL_out;

#endif

  // interface FIELDDOUBLEFULL
  class FIELDDOUBLEFULL {
  public:
    // Declarations for this interface type.
    typedef FIELDDOUBLEFULL_ptr _ptr_type;
    typedef FIELDDOUBLEFULL_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDDOUBLEFULL :
    public virtual _objref_FIELDDOUBLE
  {
  public:
    

    inline _objref_FIELDDOUBLEFULL()  { _PR_setobj(0); }  // nil
    _objref_FIELDDOUBLEFULL(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDDOUBLEFULL();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDDOUBLEFULL(const _objref_FIELDDOUBLEFULL&);
    _objref_FIELDDOUBLEFULL& operator = (const _objref_FIELDDOUBLEFULL&);
    // not implemented

    friend class FIELDDOUBLEFULL;
  };

  class _pof_FIELDDOUBLEFULL : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDDOUBLEFULL() : _OMNI_NS(proxyObjectFactory)(FIELDDOUBLEFULL::_PD_repoId) {}
    virtual ~_pof_FIELDDOUBLEFULL();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDDOUBLEFULL :
    public virtual _impl_FIELDDOUBLE
  {
  public:
    virtual ~_impl_FIELDDOUBLEFULL();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDDOUBLEFULL;

#ifndef __SALOME__MED_mFIELDINT__
#define __SALOME__MED_mFIELDINT__

  class FIELDINT;
  class _objref_FIELDINT;
  class _impl_FIELDINT;
  
  typedef _objref_FIELDINT* FIELDINT_ptr;
  typedef FIELDINT_ptr FIELDINTRef;

  class FIELDINT_Helper {
  public:
    typedef FIELDINT_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDINT, FIELDINT_Helper> FIELDINT_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDINT,FIELDINT_Helper > FIELDINT_out;

#endif

  // interface FIELDINT
  class FIELDINT {
  public:
    // Declarations for this interface type.
    typedef FIELDINT_ptr _ptr_type;
    typedef FIELDINT_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDINT :
    public virtual _objref_FIELD,
    public virtual SALOME::_objref_MultiCommClass
  {
  public:
    long_array* getValue(::SALOME_MED::medModeSwitch mode);
    SALOME::SenderInt_ptr getSenderForValue(::SALOME_MED::medModeSwitch mode);

    inline _objref_FIELDINT()  { _PR_setobj(0); }  // nil
    _objref_FIELDINT(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDINT();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDINT(const _objref_FIELDINT&);
    _objref_FIELDINT& operator = (const _objref_FIELDINT&);
    // not implemented

    friend class FIELDINT;
  };

  class _pof_FIELDINT : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDINT() : _OMNI_NS(proxyObjectFactory)(FIELDINT::_PD_repoId) {}
    virtual ~_pof_FIELDINT();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDINT :
    public virtual _impl_FIELD,
    public virtual SALOME::_impl_MultiCommClass
  {
  public:
    virtual ~_impl_FIELDINT();

    virtual long_array* getValue(::SALOME_MED::medModeSwitch mode) = 0;
    virtual SALOME::SenderInt_ptr getSenderForValue(::SALOME_MED::medModeSwitch mode) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDINT;

#ifndef __SALOME__MED_mFIELDINTNO__
#define __SALOME__MED_mFIELDINTNO__

  class FIELDINTNO;
  class _objref_FIELDINTNO;
  class _impl_FIELDINTNO;
  
  typedef _objref_FIELDINTNO* FIELDINTNO_ptr;
  typedef FIELDINTNO_ptr FIELDINTNORef;

  class FIELDINTNO_Helper {
  public:
    typedef FIELDINTNO_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDINTNO, FIELDINTNO_Helper> FIELDINTNO_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDINTNO,FIELDINTNO_Helper > FIELDINTNO_out;

#endif

  // interface FIELDINTNO
  class FIELDINTNO {
  public:
    // Declarations for this interface type.
    typedef FIELDINTNO_ptr _ptr_type;
    typedef FIELDINTNO_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDINTNO :
    public virtual _objref_FIELDINT
  {
  public:
    

    inline _objref_FIELDINTNO()  { _PR_setobj(0); }  // nil
    _objref_FIELDINTNO(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDINTNO();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDINTNO(const _objref_FIELDINTNO&);
    _objref_FIELDINTNO& operator = (const _objref_FIELDINTNO&);
    // not implemented

    friend class FIELDINTNO;
  };

  class _pof_FIELDINTNO : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDINTNO() : _OMNI_NS(proxyObjectFactory)(FIELDINTNO::_PD_repoId) {}
    virtual ~_pof_FIELDINTNO();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDINTNO :
    public virtual _impl_FIELDINT
  {
  public:
    virtual ~_impl_FIELDINTNO();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDINTNO;

#ifndef __SALOME__MED_mFIELDINTNOBYTYPE__
#define __SALOME__MED_mFIELDINTNOBYTYPE__

  class FIELDINTNOBYTYPE;
  class _objref_FIELDINTNOBYTYPE;
  class _impl_FIELDINTNOBYTYPE;
  
  typedef _objref_FIELDINTNOBYTYPE* FIELDINTNOBYTYPE_ptr;
  typedef FIELDINTNOBYTYPE_ptr FIELDINTNOBYTYPERef;

  class FIELDINTNOBYTYPE_Helper {
  public:
    typedef FIELDINTNOBYTYPE_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDINTNOBYTYPE, FIELDINTNOBYTYPE_Helper> FIELDINTNOBYTYPE_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDINTNOBYTYPE,FIELDINTNOBYTYPE_Helper > FIELDINTNOBYTYPE_out;

#endif

  // interface FIELDINTNOBYTYPE
  class FIELDINTNOBYTYPE {
  public:
    // Declarations for this interface type.
    typedef FIELDINTNOBYTYPE_ptr _ptr_type;
    typedef FIELDINTNOBYTYPE_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDINTNOBYTYPE :
    public virtual _objref_FIELDINT
  {
  public:
    

    inline _objref_FIELDINTNOBYTYPE()  { _PR_setobj(0); }  // nil
    _objref_FIELDINTNOBYTYPE(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDINTNOBYTYPE();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDINTNOBYTYPE(const _objref_FIELDINTNOBYTYPE&);
    _objref_FIELDINTNOBYTYPE& operator = (const _objref_FIELDINTNOBYTYPE&);
    // not implemented

    friend class FIELDINTNOBYTYPE;
  };

  class _pof_FIELDINTNOBYTYPE : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDINTNOBYTYPE() : _OMNI_NS(proxyObjectFactory)(FIELDINTNOBYTYPE::_PD_repoId) {}
    virtual ~_pof_FIELDINTNOBYTYPE();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDINTNOBYTYPE :
    public virtual _impl_FIELDINT
  {
  public:
    virtual ~_impl_FIELDINTNOBYTYPE();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDINTNOBYTYPE;

#ifndef __SALOME__MED_mFIELDINTFULL__
#define __SALOME__MED_mFIELDINTFULL__

  class FIELDINTFULL;
  class _objref_FIELDINTFULL;
  class _impl_FIELDINTFULL;
  
  typedef _objref_FIELDINTFULL* FIELDINTFULL_ptr;
  typedef FIELDINTFULL_ptr FIELDINTFULLRef;

  class FIELDINTFULL_Helper {
  public:
    typedef FIELDINTFULL_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_FIELDINTFULL, FIELDINTFULL_Helper> FIELDINTFULL_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_FIELDINTFULL,FIELDINTFULL_Helper > FIELDINTFULL_out;

#endif

  // interface FIELDINTFULL
  class FIELDINTFULL {
  public:
    // Declarations for this interface type.
    typedef FIELDINTFULL_ptr _ptr_type;
    typedef FIELDINTFULL_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_FIELDINTFULL :
    public virtual _objref_FIELDINT
  {
  public:
    

    inline _objref_FIELDINTFULL()  { _PR_setobj(0); }  // nil
    _objref_FIELDINTFULL(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_FIELDINTFULL();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_FIELDINTFULL(const _objref_FIELDINTFULL&);
    _objref_FIELDINTFULL& operator = (const _objref_FIELDINTFULL&);
    // not implemented

    friend class FIELDINTFULL;
  };

  class _pof_FIELDINTFULL : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_FIELDINTFULL() : _OMNI_NS(proxyObjectFactory)(FIELDINTFULL::_PD_repoId) {}
    virtual ~_pof_FIELDINTFULL();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_FIELDINTFULL :
    public virtual _impl_FIELDINT
  {
  public:
    virtual ~_impl_FIELDINTFULL();

    
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_FIELDINTFULL;

#ifndef __SALOME__MED_mMED__
#define __SALOME__MED_mMED__

  class MED;
  class _objref_MED;
  class _impl_MED;
  
  typedef _objref_MED* MED_ptr;
  typedef MED_ptr MEDRef;

  class MED_Helper {
  public:
    typedef MED_ptr _ptr_type;

    static _ptr_type _nil();
    static _CORBA_Boolean is_nil(_ptr_type);
    static void release(_ptr_type);
    static void duplicate(_ptr_type);
    static void marshalObjRef(_ptr_type, cdrStream&);
    static _ptr_type unmarshalObjRef(cdrStream&);
  };

  typedef _CORBA_ObjRef_Var<_objref_MED, MED_Helper> MED_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_MED,MED_Helper > MED_out;

#endif

  // interface MED
  class MED {
  public:
    // Declarations for this interface type.
    typedef MED_ptr _ptr_type;
    typedef MED_var _var_type;

    static _ptr_type _duplicate(_ptr_type);
    static _ptr_type _narrow(::CORBA::Object_ptr);
    static _ptr_type _unchecked_narrow(::CORBA::Object_ptr);
    
    static _ptr_type _nil();

    static inline void _marshalObjRef(_ptr_type, cdrStream&);

    static inline _ptr_type _unmarshalObjRef(cdrStream& s) {
      omniObjRef* o = omniObjRef::_unMarshal(_PD_repoId,s);
      if (o)
        return (_ptr_type) o->_ptrToObjRef(_PD_repoId);
      else
        return _nil();
    }

    static _core_attr const char* _PD_repoId;

    // Other IDL defined within this scope.
    
  };

  class _objref_MED :
    public virtual SALOME::_objref_GenericObj
  {
  public:
    ::CORBA::Long getNumberOfMeshes();
    ::CORBA::Long getNumberOfFields();
    string_array* getMeshNames();
    string_array* getFieldNames();
    MESH_ptr getMeshByName(const char* meshName);
    MESH_ptr getMesh(::SALOME_MED::FIELD_ptr fieldPtr);
    ::CORBA::Long getFieldNumberOfIteration(const char* fieldName);
    long_array* getFieldIteration(const char* fieldName, ::CORBA::Long i);
    long_array* getFieldIterations(const char* fieldName);
    FIELD_ptr getField(const char* fieldName, ::CORBA::Long pasTemps, ::CORBA::Long numOrdre);
    ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName);
    void rmDriver(::CORBA::Long i);
    void readFileStruct(::CORBA::Long i);
    void writeFrom(::CORBA::Long i);
    void write(::CORBA::Long i);
    void addMesh(::SALOME_MED::MESH_ptr ptrMesh);
    void addField(::SALOME_MED::FIELD_ptr ptrField);
    void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::MED_ptr medPtr);

    inline _objref_MED()  { _PR_setobj(0); }  // nil
    _objref_MED(omniIOR*, omniIdentity*);

  protected:
    virtual ~_objref_MED();

    
  private:
    virtual void* _ptrToObjRef(const char*);

    _objref_MED(const _objref_MED&);
    _objref_MED& operator = (const _objref_MED&);
    // not implemented

    friend class MED;
  };

  class _pof_MED : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_MED() : _OMNI_NS(proxyObjectFactory)(MED::_PD_repoId) {}
    virtual ~_pof_MED();

    virtual omniObjRef* newObjRef(omniIOR*,omniIdentity*);
    virtual _CORBA_Boolean is_a(const char*) const;
  };

  class _impl_MED :
    public virtual SALOME::_impl_GenericObj
  {
  public:
    virtual ~_impl_MED();

    virtual ::CORBA::Long getNumberOfMeshes() = 0;
    virtual ::CORBA::Long getNumberOfFields() = 0;
    virtual string_array* getMeshNames() = 0;
    virtual string_array* getFieldNames() = 0;
    virtual MESH_ptr getMeshByName(const char* meshName) = 0;
    virtual MESH_ptr getMesh(::SALOME_MED::FIELD_ptr fieldPtr) = 0;
    virtual ::CORBA::Long getFieldNumberOfIteration(const char* fieldName) = 0;
    virtual long_array* getFieldIteration(const char* fieldName, ::CORBA::Long i) = 0;
    virtual long_array* getFieldIterations(const char* fieldName) = 0;
    virtual FIELD_ptr getField(const char* fieldName, ::CORBA::Long pasTemps, ::CORBA::Long numOrdre) = 0;
    virtual ::CORBA::Long addDriver(::SALOME_MED::medDriverTypes driverType, const char* fileName) = 0;
    virtual void rmDriver(::CORBA::Long i) = 0;
    virtual void readFileStruct(::CORBA::Long i) = 0;
    virtual void writeFrom(::CORBA::Long i) = 0;
    virtual void write(::CORBA::Long i) = 0;
    virtual void addMesh(::SALOME_MED::MESH_ptr ptrMesh) = 0;
    virtual void addField(::SALOME_MED::FIELD_ptr ptrField) = 0;
    virtual void addInStudy(::SALOMEDS::Study_ptr myStudy, ::SALOME_MED::MED_ptr medPtr) = 0;
    
  public:  // Really protected, workaround for xlC
    virtual _CORBA_Boolean _dispatch(omniCallHandle&);

  private:
    virtual void* _ptrToInterface(const char*);
    virtual const char* _mostDerivedRepoId();
    
  };


  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_MED;

  struct MedFileInfo {
    typedef _CORBA_ConstrType_Variable_Var<MedFileInfo> _var_type;

    
    ::CORBA::String_member fileName;

    ::CORBA::Long fileSize;

    ::CORBA::Long major;

    ::CORBA::Long minor;

    ::CORBA::Long release;

  

    void operator>>= (cdrStream &) const;
    void operator<<= (cdrStream &);
  };

  typedef MedFileInfo::_var_type MedFileInfo_var;

  typedef _CORBA_ConstrType_Variable_OUT_arg< MedFileInfo,MedFileInfo_var > MedFileInfo_out;

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_MedFileInfo;

_CORBA_MODULE_END



_CORBA_MODULE POA_SALOME_MED
_CORBA_MODULE_BEG

  class MESH :
    public virtual SALOME_MED::_impl_MESH,
    public virtual POA_SALOME::MultiCommClass,
      public virtual POA_SALOME::GenericObj
  {
  public:
    virtual ~MESH();

    inline ::SALOME_MED::MESH_ptr _this() {
      return (::SALOME_MED::MESH_ptr) _do_this(::SALOME_MED::MESH::_PD_repoId);
    }
  };

  class SUPPORT :
    public virtual SALOME_MED::_impl_SUPPORT,
    public virtual POA_SALOME::MultiCommClass,
      public virtual POA_SALOME::GenericObj
  {
  public:
    virtual ~SUPPORT();

    inline ::SALOME_MED::SUPPORT_ptr _this() {
      return (::SALOME_MED::SUPPORT_ptr) _do_this(::SALOME_MED::SUPPORT::_PD_repoId);
    }
  };

  class FAMILY :
    public virtual SALOME_MED::_impl_FAMILY,
    public virtual SUPPORT
  {
  public:
    virtual ~FAMILY();

    inline ::SALOME_MED::FAMILY_ptr _this() {
      return (::SALOME_MED::FAMILY_ptr) _do_this(::SALOME_MED::FAMILY::_PD_repoId);
    }
  };

  class GROUP :
    public virtual SALOME_MED::_impl_GROUP,
    public virtual SUPPORT
  {
  public:
    virtual ~GROUP();

    inline ::SALOME_MED::GROUP_ptr _this() {
      return (::SALOME_MED::GROUP_ptr) _do_this(::SALOME_MED::GROUP::_PD_repoId);
    }
  };

  class FIELD :
    public virtual SALOME_MED::_impl_FIELD,
    public virtual POA_SALOME::GenericObj
  {
  public:
    virtual ~FIELD();

    inline ::SALOME_MED::FIELD_ptr _this() {
      return (::SALOME_MED::FIELD_ptr) _do_this(::SALOME_MED::FIELD::_PD_repoId);
    }
  };

  class FIELDDOUBLE :
    public virtual SALOME_MED::_impl_FIELDDOUBLE,
    public virtual FIELD,
      public virtual POA_SALOME::MultiCommClass
  {
  public:
    virtual ~FIELDDOUBLE();

    inline ::SALOME_MED::FIELDDOUBLE_ptr _this() {
      return (::SALOME_MED::FIELDDOUBLE_ptr) _do_this(::SALOME_MED::FIELDDOUBLE::_PD_repoId);
    }
  };

  class FIELDDOUBLENO :
    public virtual SALOME_MED::_impl_FIELDDOUBLENO,
    public virtual FIELDDOUBLE
  {
  public:
    virtual ~FIELDDOUBLENO();

    inline ::SALOME_MED::FIELDDOUBLENO_ptr _this() {
      return (::SALOME_MED::FIELDDOUBLENO_ptr) _do_this(::SALOME_MED::FIELDDOUBLENO::_PD_repoId);
    }
  };

  class FIELDDOUBLENOBYTYPE :
    public virtual SALOME_MED::_impl_FIELDDOUBLENOBYTYPE,
    public virtual FIELDDOUBLE
  {
  public:
    virtual ~FIELDDOUBLENOBYTYPE();

    inline ::SALOME_MED::FIELDDOUBLENOBYTYPE_ptr _this() {
      return (::SALOME_MED::FIELDDOUBLENOBYTYPE_ptr) _do_this(::SALOME_MED::FIELDDOUBLENOBYTYPE::_PD_repoId);
    }
  };

  class FIELDDOUBLEFULL :
    public virtual SALOME_MED::_impl_FIELDDOUBLEFULL,
    public virtual FIELDDOUBLE
  {
  public:
    virtual ~FIELDDOUBLEFULL();

    inline ::SALOME_MED::FIELDDOUBLEFULL_ptr _this() {
      return (::SALOME_MED::FIELDDOUBLEFULL_ptr) _do_this(::SALOME_MED::FIELDDOUBLEFULL::_PD_repoId);
    }
  };

  class FIELDINT :
    public virtual SALOME_MED::_impl_FIELDINT,
    public virtual FIELD,
      public virtual POA_SALOME::MultiCommClass
  {
  public:
    virtual ~FIELDINT();

    inline ::SALOME_MED::FIELDINT_ptr _this() {
      return (::SALOME_MED::FIELDINT_ptr) _do_this(::SALOME_MED::FIELDINT::_PD_repoId);
    }
  };

  class FIELDINTNO :
    public virtual SALOME_MED::_impl_FIELDINTNO,
    public virtual FIELDINT
  {
  public:
    virtual ~FIELDINTNO();

    inline ::SALOME_MED::FIELDINTNO_ptr _this() {
      return (::SALOME_MED::FIELDINTNO_ptr) _do_this(::SALOME_MED::FIELDINTNO::_PD_repoId);
    }
  };

  class FIELDINTNOBYTYPE :
    public virtual SALOME_MED::_impl_FIELDINTNOBYTYPE,
    public virtual FIELDINT
  {
  public:
    virtual ~FIELDINTNOBYTYPE();

    inline ::SALOME_MED::FIELDINTNOBYTYPE_ptr _this() {
      return (::SALOME_MED::FIELDINTNOBYTYPE_ptr) _do_this(::SALOME_MED::FIELDINTNOBYTYPE::_PD_repoId);
    }
  };

  class FIELDINTFULL :
    public virtual SALOME_MED::_impl_FIELDINTFULL,
    public virtual FIELDINT
  {
  public:
    virtual ~FIELDINTFULL();

    inline ::SALOME_MED::FIELDINTFULL_ptr _this() {
      return (::SALOME_MED::FIELDINTFULL_ptr) _do_this(::SALOME_MED::FIELDINTFULL::_PD_repoId);
    }
  };

  class MED :
    public virtual SALOME_MED::_impl_MED,
    public virtual POA_SALOME::GenericObj
  {
  public:
    virtual ~MED();

    inline ::SALOME_MED::MED_ptr _this() {
      return (::SALOME_MED::MED_ptr) _do_this(::SALOME_MED::MED::_PD_repoId);
    }
  };

_CORBA_MODULE_END



_CORBA_MODULE OBV_SALOME_MED
_CORBA_MODULE_BEG

_CORBA_MODULE_END





#undef _core_attr
#undef _dyn_attr

void operator<<=(::CORBA::Any& _a, const SALOME_MED::long_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::long_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::long_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::long_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::double_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::double_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::double_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::double_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::string_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::string_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::string_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::string_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::boolean_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::boolean_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::boolean_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::boolean_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::medGeometryElement_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::medGeometryElement_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::medGeometryElement_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::medGeometryElement_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::Family_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::Family_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::Family_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::Family_array*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOME_MED::Group_array& _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::Group_array* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::Group_array*& _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::Group_array*& _sp);

extern void operator<<=(::CORBA::Any& _a, const SALOME_MED::MESH::coordinateInfos& _s);
extern void operator<<=(::CORBA::Any& _a, SALOME_MED::MESH::coordinateInfos* _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MESH::coordinateInfos*& _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::MESH::coordinateInfos*& _sp);

extern void operator<<=(::CORBA::Any& _a, const SALOME_MED::MESH::connectivityInfos& _s);
extern void operator<<=(::CORBA::Any& _a, SALOME_MED::MESH::connectivityInfos* _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MESH::connectivityInfos*& _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::MESH::connectivityInfos*& _sp);

extern void operator<<=(::CORBA::Any& _a, const SALOME_MED::MESH::meshInfos& _s);
extern void operator<<=(::CORBA::Any& _a, SALOME_MED::MESH::meshInfos* _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MESH::meshInfos*& _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::MESH::meshInfos*& _sp);

void operator<<=(::CORBA::Any& _a, SALOME_MED::MESH_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::MESH_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MESH_ptr& _s);

extern void operator<<=(::CORBA::Any& _a, const SALOME_MED::SUPPORT::supportInfos& _s);
extern void operator<<=(::CORBA::Any& _a, SALOME_MED::SUPPORT::supportInfos* _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::SUPPORT::supportInfos*& _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::SUPPORT::supportInfos*& _sp);

void operator<<=(::CORBA::Any& _a, SALOME_MED::SUPPORT_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::SUPPORT_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::SUPPORT_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FAMILY_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FAMILY_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FAMILY_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::GROUP_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::GROUP_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::GROUP_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELD_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELD_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELD_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLE_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLE_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDDOUBLE_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENO_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENO_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENO_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENOBYTYPE_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENOBYTYPE_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDDOUBLENOBYTYPE_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLEFULL_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDDOUBLEFULL_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDDOUBLEFULL_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINT_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINT_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDINT_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTNO_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTNO_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDINTNO_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTNOBYTYPE_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTNOBYTYPE_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDINTNOBYTYPE_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTFULL_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::FIELDINTFULL_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::FIELDINTFULL_ptr& _s);

void operator<<=(::CORBA::Any& _a, SALOME_MED::MED_ptr _s);
void operator<<=(::CORBA::Any& _a, SALOME_MED::MED_ptr* _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MED_ptr& _s);

extern void operator<<=(::CORBA::Any& _a, const SALOME_MED::MedFileInfo& _s);
extern void operator<<=(::CORBA::Any& _a, SALOME_MED::MedFileInfo* _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOME_MED::MedFileInfo*& _sp);
extern _CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOME_MED::MedFileInfo*& _sp);



inline void
SALOME_MED::MESH::_marshalObjRef(::SALOME_MED::MESH_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::SUPPORT::_marshalObjRef(::SALOME_MED::SUPPORT_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FAMILY::_marshalObjRef(::SALOME_MED::FAMILY_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::GROUP::_marshalObjRef(::SALOME_MED::GROUP_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELD::_marshalObjRef(::SALOME_MED::FIELD_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDDOUBLE::_marshalObjRef(::SALOME_MED::FIELDDOUBLE_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDDOUBLENO::_marshalObjRef(::SALOME_MED::FIELDDOUBLENO_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDDOUBLENOBYTYPE::_marshalObjRef(::SALOME_MED::FIELDDOUBLENOBYTYPE_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDDOUBLEFULL::_marshalObjRef(::SALOME_MED::FIELDDOUBLEFULL_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDINT::_marshalObjRef(::SALOME_MED::FIELDINT_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDINTNO::_marshalObjRef(::SALOME_MED::FIELDINTNO_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDINTNOBYTYPE::_marshalObjRef(::SALOME_MED::FIELDINTNOBYTYPE_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::FIELDINTFULL::_marshalObjRef(::SALOME_MED::FIELDINTFULL_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOME_MED::MED::_marshalObjRef(::SALOME_MED::MED_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}




#ifdef   USE_stub_in_nt_dll_NOT_DEFINED_MED
# undef  USE_stub_in_nt_dll
# undef  USE_stub_in_nt_dll_NOT_DEFINED_MED
#endif
#ifdef   USE_core_stub_in_nt_dll_NOT_DEFINED_MED
# undef  USE_core_stub_in_nt_dll
# undef  USE_core_stub_in_nt_dll_NOT_DEFINED_MED
#endif
#ifdef   USE_dyn_stub_in_nt_dll_NOT_DEFINED_MED
# undef  USE_dyn_stub_in_nt_dll
# undef  USE_dyn_stub_in_nt_dll_NOT_DEFINED_MED
#endif

#endif  // __MED_hh__

