// This file is generated by omniidl (C++ backend)- omniORB_4_1. Do not edit.
#ifndef __SALOMEDS__Attributes_hh__
#define __SALOMEDS__Attributes_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_SALOMEDS__Attributes
#endif
#ifndef  USE_core_stub_in_nt_dll
# define USE_core_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
#endif
#ifndef  USE_dyn_stub_in_nt_dll
# define USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
#endif



#ifndef __SALOME__Exception_hh_EXTERNAL_GUARD__
#define __SALOME__Exception_hh_EXTERNAL_GUARD__
#include <SALOME_Exception.hh>
#endif
#ifndef __SALOME__GenericObj_hh_EXTERNAL_GUARD__
#define __SALOME__GenericObj_hh_EXTERNAL_GUARD__
#include <SALOME_GenericObj.hh>
#endif
#ifndef __SALOMEDS_hh_EXTERNAL_GUARD__
#define __SALOMEDS_hh_EXTERNAL_GUARD__
#include <SALOMEDS.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 SALOMEDS

_CORBA_MODULE_BEG

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_DoubleSeq;

  class DoubleSeq_var;

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

    inline DoubleSeq(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > (_max) {}
    inline DoubleSeq(_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 DoubleSeq& operator = (const DoubleSeq& _s) {
      _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Double, 8, 8 > ::operator=(_s);
      return *this;
    }
  };

  class DoubleSeq_out;

  class DoubleSeq_var {
  public:
    inline DoubleSeq_var() : _pd_seq(0) {}
    inline DoubleSeq_var(DoubleSeq* _s) : _pd_seq(_s) {}
    inline DoubleSeq_var(const DoubleSeq_var& _s) {
      if( _s._pd_seq )  _pd_seq = new DoubleSeq(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~DoubleSeq_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline DoubleSeq_var& operator = (DoubleSeq* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline DoubleSeq_var& operator = (const DoubleSeq_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new DoubleSeq;
        *_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 DoubleSeq* operator -> () { return _pd_seq; }
    inline const DoubleSeq* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator DoubleSeq& () const { return *_pd_seq; }
#else
    inline operator const DoubleSeq& () const { return *_pd_seq; }
    inline operator DoubleSeq& () { return *_pd_seq; }
#endif
      
    inline const DoubleSeq& in() const { return *_pd_seq; }
    inline DoubleSeq&       inout()    { return *_pd_seq; }
    inline DoubleSeq*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline DoubleSeq* _retn() { DoubleSeq* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class DoubleSeq_out;
    
  private:
    DoubleSeq* _pd_seq;
  };

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

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

  

    DoubleSeq*& _data;

  private:
    DoubleSeq_out();
    DoubleSeq_out& operator=(const DoubleSeq_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_LongSeq;

  class LongSeq_var;

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

    inline LongSeq(_CORBA_ULong _max)
      : _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > (_max) {}
    inline LongSeq(_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 LongSeq& operator = (const LongSeq& _s) {
      _CORBA_Unbounded_Sequence_w_FixSizeElement< ::CORBA::Long, 4, 4 > ::operator=(_s);
      return *this;
    }
  };

  class LongSeq_out;

  class LongSeq_var {
  public:
    inline LongSeq_var() : _pd_seq(0) {}
    inline LongSeq_var(LongSeq* _s) : _pd_seq(_s) {}
    inline LongSeq_var(const LongSeq_var& _s) {
      if( _s._pd_seq )  _pd_seq = new LongSeq(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~LongSeq_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline LongSeq_var& operator = (LongSeq* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline LongSeq_var& operator = (const LongSeq_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new LongSeq;
        *_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 LongSeq* operator -> () { return _pd_seq; }
    inline const LongSeq* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator LongSeq& () const { return *_pd_seq; }
#else
    inline operator const LongSeq& () const { return *_pd_seq; }
    inline operator LongSeq& () { return *_pd_seq; }
#endif
      
    inline const LongSeq& in() const { return *_pd_seq; }
    inline LongSeq&       inout()    { return *_pd_seq; }
    inline LongSeq*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline LongSeq* _retn() { LongSeq* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class LongSeq_out;
    
  private:
    LongSeq* _pd_seq;
  };

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

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

  

    LongSeq*& _data;

  private:
    LongSeq_out();
    LongSeq_out& operator=(const LongSeq_var&);
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_StringSeq;

  class StringSeq_var;

  class StringSeq : public _CORBA_Unbounded_Sequence_String {
  public:
    typedef StringSeq_var _var_type;
    inline StringSeq() {}
    inline StringSeq(const StringSeq& _s)
      : _CORBA_Unbounded_Sequence_String(_s) {}

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

  

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

  class StringSeq_out;

  class StringSeq_var {
  public:
    inline StringSeq_var() : _pd_seq(0) {}
    inline StringSeq_var(StringSeq* _s) : _pd_seq(_s) {}
    inline StringSeq_var(const StringSeq_var& _s) {
      if( _s._pd_seq )  _pd_seq = new StringSeq(*_s._pd_seq);
      else              _pd_seq = 0;
    }
    inline ~StringSeq_var() { if( _pd_seq )  delete _pd_seq; }
      
    inline StringSeq_var& operator = (StringSeq* _s) {
      if( _pd_seq )  delete _pd_seq;
      _pd_seq = _s;
      return *this;
    }
    inline StringSeq_var& operator = (const StringSeq_var& _s) {
      if( _s._pd_seq ) {
        if( !_pd_seq )  _pd_seq = new StringSeq;
        *_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 StringSeq* operator -> () { return _pd_seq; }
    inline const StringSeq* operator -> () const { return _pd_seq; }
#if defined(__GNUG__)
    inline operator StringSeq& () const { return *_pd_seq; }
#else
    inline operator const StringSeq& () const { return *_pd_seq; }
    inline operator StringSeq& () { return *_pd_seq; }
#endif
      
    inline const StringSeq& in() const { return *_pd_seq; }
    inline StringSeq&       inout()    { return *_pd_seq; }
    inline StringSeq*&      out() {
      if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
      return _pd_seq;
    }
    inline StringSeq* _retn() { StringSeq* tmp = _pd_seq; _pd_seq = 0; return tmp; }
      
    friend class StringSeq_out;
    
  private:
    StringSeq* _pd_seq;
  };

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

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

  

    StringSeq*& _data;

  private:
    StringSeq_out();
    StringSeq_out& operator=(const StringSeq_var&);
  };

  struct Color {
    typedef _CORBA_ConstrType_Fix_Var<Color> _var_type;

    
    ::CORBA::Double R;

    ::CORBA::Double G;

    ::CORBA::Double B;

  

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

  typedef Color::_var_type Color_var;

  typedef Color& Color_out;

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_Color;

#ifndef __SALOMEDS_mAttributeReal__
#define __SALOMEDS_mAttributeReal__

  class AttributeReal;
  class _objref_AttributeReal;
  class _impl_AttributeReal;
  
  typedef _objref_AttributeReal* AttributeReal_ptr;
  typedef AttributeReal_ptr AttributeRealRef;

  class AttributeReal_Helper {
  public:
    typedef AttributeReal_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_AttributeReal, AttributeReal_Helper> AttributeReal_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeReal,AttributeReal_Helper > AttributeReal_out;

#endif

  // interface AttributeReal
  class AttributeReal {
  public:
    // Declarations for this interface type.
    typedef AttributeReal_ptr _ptr_type;
    typedef AttributeReal_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_AttributeReal :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Double Value();
    void SetValue(::CORBA::Double value);

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

  protected:
    virtual ~_objref_AttributeReal();

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

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

    friend class AttributeReal;
  };

  class _pof_AttributeReal : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeReal() : _OMNI_NS(proxyObjectFactory)(AttributeReal::_PD_repoId) {}
    virtual ~_pof_AttributeReal();

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

  class _impl_AttributeReal :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeReal();

    virtual ::CORBA::Double Value() = 0;
    virtual void SetValue(::CORBA::Double value) = 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_AttributeReal;

#ifndef __SALOMEDS_mAttributeInteger__
#define __SALOMEDS_mAttributeInteger__

  class AttributeInteger;
  class _objref_AttributeInteger;
  class _impl_AttributeInteger;
  
  typedef _objref_AttributeInteger* AttributeInteger_ptr;
  typedef AttributeInteger_ptr AttributeIntegerRef;

  class AttributeInteger_Helper {
  public:
    typedef AttributeInteger_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_AttributeInteger, AttributeInteger_Helper> AttributeInteger_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeInteger,AttributeInteger_Helper > AttributeInteger_out;

#endif

  // interface AttributeInteger
  class AttributeInteger {
  public:
    // Declarations for this interface type.
    typedef AttributeInteger_ptr _ptr_type;
    typedef AttributeInteger_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_AttributeInteger :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Long Value();
    void SetValue(::CORBA::Long value);

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

  protected:
    virtual ~_objref_AttributeInteger();

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

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

    friend class AttributeInteger;
  };

  class _pof_AttributeInteger : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeInteger() : _OMNI_NS(proxyObjectFactory)(AttributeInteger::_PD_repoId) {}
    virtual ~_pof_AttributeInteger();

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

  class _impl_AttributeInteger :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeInteger();

    virtual ::CORBA::Long Value() = 0;
    virtual void SetValue(::CORBA::Long value) = 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_AttributeInteger;

#ifndef __SALOMEDS_mAttributeSequenceOfReal__
#define __SALOMEDS_mAttributeSequenceOfReal__

  class AttributeSequenceOfReal;
  class _objref_AttributeSequenceOfReal;
  class _impl_AttributeSequenceOfReal;
  
  typedef _objref_AttributeSequenceOfReal* AttributeSequenceOfReal_ptr;
  typedef AttributeSequenceOfReal_ptr AttributeSequenceOfRealRef;

  class AttributeSequenceOfReal_Helper {
  public:
    typedef AttributeSequenceOfReal_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_AttributeSequenceOfReal, AttributeSequenceOfReal_Helper> AttributeSequenceOfReal_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeSequenceOfReal,AttributeSequenceOfReal_Helper > AttributeSequenceOfReal_out;

#endif

  // interface AttributeSequenceOfReal
  class AttributeSequenceOfReal {
  public:
    // Declarations for this interface type.
    typedef AttributeSequenceOfReal_ptr _ptr_type;
    typedef AttributeSequenceOfReal_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_AttributeSequenceOfReal :
    public virtual _objref_GenericAttribute
  {
  public:
    void Assign(const ::SALOMEDS::DoubleSeq& other);
    DoubleSeq* CorbaSequence();
    void Add(::CORBA::Double value);
    void Remove(::CORBA::Long index);
    void ChangeValue(::CORBA::Long index, ::CORBA::Double value);
    ::CORBA::Double Value(::CORBA::Short index);
    ::CORBA::Long Length();

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

  protected:
    virtual ~_objref_AttributeSequenceOfReal();

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

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

    friend class AttributeSequenceOfReal;
  };

  class _pof_AttributeSequenceOfReal : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeSequenceOfReal() : _OMNI_NS(proxyObjectFactory)(AttributeSequenceOfReal::_PD_repoId) {}
    virtual ~_pof_AttributeSequenceOfReal();

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

  class _impl_AttributeSequenceOfReal :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeSequenceOfReal();

    virtual void Assign(const ::SALOMEDS::DoubleSeq& other) = 0;
    virtual DoubleSeq* CorbaSequence() = 0;
    virtual void Add(::CORBA::Double value) = 0;
    virtual void Remove(::CORBA::Long index) = 0;
    virtual void ChangeValue(::CORBA::Long index, ::CORBA::Double value) = 0;
    virtual ::CORBA::Double Value(::CORBA::Short index) = 0;
    virtual ::CORBA::Long Length() = 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_AttributeSequenceOfReal;

#ifndef __SALOMEDS_mAttributeSequenceOfInteger__
#define __SALOMEDS_mAttributeSequenceOfInteger__

  class AttributeSequenceOfInteger;
  class _objref_AttributeSequenceOfInteger;
  class _impl_AttributeSequenceOfInteger;
  
  typedef _objref_AttributeSequenceOfInteger* AttributeSequenceOfInteger_ptr;
  typedef AttributeSequenceOfInteger_ptr AttributeSequenceOfIntegerRef;

  class AttributeSequenceOfInteger_Helper {
  public:
    typedef AttributeSequenceOfInteger_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_AttributeSequenceOfInteger, AttributeSequenceOfInteger_Helper> AttributeSequenceOfInteger_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeSequenceOfInteger,AttributeSequenceOfInteger_Helper > AttributeSequenceOfInteger_out;

#endif

  // interface AttributeSequenceOfInteger
  class AttributeSequenceOfInteger {
  public:
    // Declarations for this interface type.
    typedef AttributeSequenceOfInteger_ptr _ptr_type;
    typedef AttributeSequenceOfInteger_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_AttributeSequenceOfInteger :
    public virtual _objref_GenericAttribute
  {
  public:
    void Assign(const ::SALOMEDS::LongSeq& other);
    LongSeq* CorbaSequence();
    void Add(::CORBA::Long value);
    void Remove(::CORBA::Long index);
    void ChangeValue(::CORBA::Long index, ::CORBA::Long value);
    ::CORBA::Long Value(::CORBA::Short index);
    ::CORBA::Long Length();

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

  protected:
    virtual ~_objref_AttributeSequenceOfInteger();

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

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

    friend class AttributeSequenceOfInteger;
  };

  class _pof_AttributeSequenceOfInteger : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeSequenceOfInteger() : _OMNI_NS(proxyObjectFactory)(AttributeSequenceOfInteger::_PD_repoId) {}
    virtual ~_pof_AttributeSequenceOfInteger();

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

  class _impl_AttributeSequenceOfInteger :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeSequenceOfInteger();

    virtual void Assign(const ::SALOMEDS::LongSeq& other) = 0;
    virtual LongSeq* CorbaSequence() = 0;
    virtual void Add(::CORBA::Long value) = 0;
    virtual void Remove(::CORBA::Long index) = 0;
    virtual void ChangeValue(::CORBA::Long index, ::CORBA::Long value) = 0;
    virtual ::CORBA::Long Value(::CORBA::Short index) = 0;
    virtual ::CORBA::Long Length() = 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_AttributeSequenceOfInteger;

#ifndef __SALOMEDS_mAttributeName__
#define __SALOMEDS_mAttributeName__

  class AttributeName;
  class _objref_AttributeName;
  class _impl_AttributeName;
  
  typedef _objref_AttributeName* AttributeName_ptr;
  typedef AttributeName_ptr AttributeNameRef;

  class AttributeName_Helper {
  public:
    typedef AttributeName_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_AttributeName, AttributeName_Helper> AttributeName_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeName,AttributeName_Helper > AttributeName_out;

#endif

  // interface AttributeName
  class AttributeName {
  public:
    // Declarations for this interface type.
    typedef AttributeName_ptr _ptr_type;
    typedef AttributeName_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_AttributeName :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeName();

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

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

    friend class AttributeName;
  };

  class _pof_AttributeName : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeName() : _OMNI_NS(proxyObjectFactory)(AttributeName::_PD_repoId) {}
    virtual ~_pof_AttributeName();

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

  class _impl_AttributeName :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeName();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeName;

#ifndef __SALOMEDS_mAttributeComment__
#define __SALOMEDS_mAttributeComment__

  class AttributeComment;
  class _objref_AttributeComment;
  class _impl_AttributeComment;
  
  typedef _objref_AttributeComment* AttributeComment_ptr;
  typedef AttributeComment_ptr AttributeCommentRef;

  class AttributeComment_Helper {
  public:
    typedef AttributeComment_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_AttributeComment, AttributeComment_Helper> AttributeComment_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeComment,AttributeComment_Helper > AttributeComment_out;

#endif

  // interface AttributeComment
  class AttributeComment {
  public:
    // Declarations for this interface type.
    typedef AttributeComment_ptr _ptr_type;
    typedef AttributeComment_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_AttributeComment :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeComment();

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

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

    friend class AttributeComment;
  };

  class _pof_AttributeComment : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeComment() : _OMNI_NS(proxyObjectFactory)(AttributeComment::_PD_repoId) {}
    virtual ~_pof_AttributeComment();

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

  class _impl_AttributeComment :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeComment();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeComment;

#ifndef __SALOMEDS_mAttributeString__
#define __SALOMEDS_mAttributeString__

  class AttributeString;
  class _objref_AttributeString;
  class _impl_AttributeString;
  
  typedef _objref_AttributeString* AttributeString_ptr;
  typedef AttributeString_ptr AttributeStringRef;

  class AttributeString_Helper {
  public:
    typedef AttributeString_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_AttributeString, AttributeString_Helper> AttributeString_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeString,AttributeString_Helper > AttributeString_out;

#endif

  // interface AttributeString
  class AttributeString {
  public:
    // Declarations for this interface type.
    typedef AttributeString_ptr _ptr_type;
    typedef AttributeString_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_AttributeString :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeString();

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

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

    friend class AttributeString;
  };

  class _pof_AttributeString : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeString() : _OMNI_NS(proxyObjectFactory)(AttributeString::_PD_repoId) {}
    virtual ~_pof_AttributeString();

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

  class _impl_AttributeString :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeString();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeString;

#ifndef __SALOMEDS_mAttributeIOR__
#define __SALOMEDS_mAttributeIOR__

  class AttributeIOR;
  class _objref_AttributeIOR;
  class _impl_AttributeIOR;
  
  typedef _objref_AttributeIOR* AttributeIOR_ptr;
  typedef AttributeIOR_ptr AttributeIORRef;

  class AttributeIOR_Helper {
  public:
    typedef AttributeIOR_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_AttributeIOR, AttributeIOR_Helper> AttributeIOR_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeIOR,AttributeIOR_Helper > AttributeIOR_out;

#endif

  // interface AttributeIOR
  class AttributeIOR {
  public:
    // Declarations for this interface type.
    typedef AttributeIOR_ptr _ptr_type;
    typedef AttributeIOR_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_AttributeIOR :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeIOR();

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

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

    friend class AttributeIOR;
  };

  class _pof_AttributeIOR : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeIOR() : _OMNI_NS(proxyObjectFactory)(AttributeIOR::_PD_repoId) {}
    virtual ~_pof_AttributeIOR();

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

  class _impl_AttributeIOR :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeIOR();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeIOR;

#ifndef __SALOMEDS_mAttributePersistentRef__
#define __SALOMEDS_mAttributePersistentRef__

  class AttributePersistentRef;
  class _objref_AttributePersistentRef;
  class _impl_AttributePersistentRef;
  
  typedef _objref_AttributePersistentRef* AttributePersistentRef_ptr;
  typedef AttributePersistentRef_ptr AttributePersistentRefRef;

  class AttributePersistentRef_Helper {
  public:
    typedef AttributePersistentRef_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_AttributePersistentRef, AttributePersistentRef_Helper> AttributePersistentRef_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributePersistentRef,AttributePersistentRef_Helper > AttributePersistentRef_out;

#endif

  // interface AttributePersistentRef
  class AttributePersistentRef {
  public:
    // Declarations for this interface type.
    typedef AttributePersistentRef_ptr _ptr_type;
    typedef AttributePersistentRef_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_AttributePersistentRef :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributePersistentRef();

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

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

    friend class AttributePersistentRef;
  };

  class _pof_AttributePersistentRef : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributePersistentRef() : _OMNI_NS(proxyObjectFactory)(AttributePersistentRef::_PD_repoId) {}
    virtual ~_pof_AttributePersistentRef();

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

  class _impl_AttributePersistentRef :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributePersistentRef();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributePersistentRef;

#ifndef __SALOMEDS_mAttributeExternalFileDef__
#define __SALOMEDS_mAttributeExternalFileDef__

  class AttributeExternalFileDef;
  class _objref_AttributeExternalFileDef;
  class _impl_AttributeExternalFileDef;
  
  typedef _objref_AttributeExternalFileDef* AttributeExternalFileDef_ptr;
  typedef AttributeExternalFileDef_ptr AttributeExternalFileDefRef;

  class AttributeExternalFileDef_Helper {
  public:
    typedef AttributeExternalFileDef_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_AttributeExternalFileDef, AttributeExternalFileDef_Helper> AttributeExternalFileDef_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeExternalFileDef,AttributeExternalFileDef_Helper > AttributeExternalFileDef_out;

#endif

  // interface AttributeExternalFileDef
  class AttributeExternalFileDef {
  public:
    // Declarations for this interface type.
    typedef AttributeExternalFileDef_ptr _ptr_type;
    typedef AttributeExternalFileDef_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_AttributeExternalFileDef :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeExternalFileDef();

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

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

    friend class AttributeExternalFileDef;
  };

  class _pof_AttributeExternalFileDef : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeExternalFileDef() : _OMNI_NS(proxyObjectFactory)(AttributeExternalFileDef::_PD_repoId) {}
    virtual ~_pof_AttributeExternalFileDef();

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

  class _impl_AttributeExternalFileDef :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeExternalFileDef();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeExternalFileDef;

#ifndef __SALOMEDS_mAttributeFileType__
#define __SALOMEDS_mAttributeFileType__

  class AttributeFileType;
  class _objref_AttributeFileType;
  class _impl_AttributeFileType;
  
  typedef _objref_AttributeFileType* AttributeFileType_ptr;
  typedef AttributeFileType_ptr AttributeFileTypeRef;

  class AttributeFileType_Helper {
  public:
    typedef AttributeFileType_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_AttributeFileType, AttributeFileType_Helper> AttributeFileType_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeFileType,AttributeFileType_Helper > AttributeFileType_out;

#endif

  // interface AttributeFileType
  class AttributeFileType {
  public:
    // Declarations for this interface type.
    typedef AttributeFileType_ptr _ptr_type;
    typedef AttributeFileType_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_AttributeFileType :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeFileType();

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

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

    friend class AttributeFileType;
  };

  class _pof_AttributeFileType : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeFileType() : _OMNI_NS(proxyObjectFactory)(AttributeFileType::_PD_repoId) {}
    virtual ~_pof_AttributeFileType();

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

  class _impl_AttributeFileType :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeFileType();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeFileType;

#ifndef __SALOMEDS_mAttributeDrawable__
#define __SALOMEDS_mAttributeDrawable__

  class AttributeDrawable;
  class _objref_AttributeDrawable;
  class _impl_AttributeDrawable;
  
  typedef _objref_AttributeDrawable* AttributeDrawable_ptr;
  typedef AttributeDrawable_ptr AttributeDrawableRef;

  class AttributeDrawable_Helper {
  public:
    typedef AttributeDrawable_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_AttributeDrawable, AttributeDrawable_Helper> AttributeDrawable_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeDrawable,AttributeDrawable_Helper > AttributeDrawable_out;

#endif

  // interface AttributeDrawable
  class AttributeDrawable {
  public:
    // Declarations for this interface type.
    typedef AttributeDrawable_ptr _ptr_type;
    typedef AttributeDrawable_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_AttributeDrawable :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Boolean IsDrawable();
    void SetDrawable(::CORBA::Boolean value);

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

  protected:
    virtual ~_objref_AttributeDrawable();

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

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

    friend class AttributeDrawable;
  };

  class _pof_AttributeDrawable : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeDrawable() : _OMNI_NS(proxyObjectFactory)(AttributeDrawable::_PD_repoId) {}
    virtual ~_pof_AttributeDrawable();

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

  class _impl_AttributeDrawable :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeDrawable();

    virtual ::CORBA::Boolean IsDrawable() = 0;
    virtual void SetDrawable(::CORBA::Boolean value) = 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_AttributeDrawable;

#ifndef __SALOMEDS_mAttributeSelectable__
#define __SALOMEDS_mAttributeSelectable__

  class AttributeSelectable;
  class _objref_AttributeSelectable;
  class _impl_AttributeSelectable;
  
  typedef _objref_AttributeSelectable* AttributeSelectable_ptr;
  typedef AttributeSelectable_ptr AttributeSelectableRef;

  class AttributeSelectable_Helper {
  public:
    typedef AttributeSelectable_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_AttributeSelectable, AttributeSelectable_Helper> AttributeSelectable_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeSelectable,AttributeSelectable_Helper > AttributeSelectable_out;

#endif

  // interface AttributeSelectable
  class AttributeSelectable {
  public:
    // Declarations for this interface type.
    typedef AttributeSelectable_ptr _ptr_type;
    typedef AttributeSelectable_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_AttributeSelectable :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Boolean IsSelectable();
    void SetSelectable(::CORBA::Boolean value);

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

  protected:
    virtual ~_objref_AttributeSelectable();

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

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

    friend class AttributeSelectable;
  };

  class _pof_AttributeSelectable : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeSelectable() : _OMNI_NS(proxyObjectFactory)(AttributeSelectable::_PD_repoId) {}
    virtual ~_pof_AttributeSelectable();

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

  class _impl_AttributeSelectable :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeSelectable();

    virtual ::CORBA::Boolean IsSelectable() = 0;
    virtual void SetSelectable(::CORBA::Boolean value) = 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_AttributeSelectable;

#ifndef __SALOMEDS_mAttributeExpandable__
#define __SALOMEDS_mAttributeExpandable__

  class AttributeExpandable;
  class _objref_AttributeExpandable;
  class _impl_AttributeExpandable;
  
  typedef _objref_AttributeExpandable* AttributeExpandable_ptr;
  typedef AttributeExpandable_ptr AttributeExpandableRef;

  class AttributeExpandable_Helper {
  public:
    typedef AttributeExpandable_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_AttributeExpandable, AttributeExpandable_Helper> AttributeExpandable_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeExpandable,AttributeExpandable_Helper > AttributeExpandable_out;

#endif

  // interface AttributeExpandable
  class AttributeExpandable {
  public:
    // Declarations for this interface type.
    typedef AttributeExpandable_ptr _ptr_type;
    typedef AttributeExpandable_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_AttributeExpandable :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Boolean IsExpandable();
    void SetExpandable(::CORBA::Boolean value);

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

  protected:
    virtual ~_objref_AttributeExpandable();

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

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

    friend class AttributeExpandable;
  };

  class _pof_AttributeExpandable : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeExpandable() : _OMNI_NS(proxyObjectFactory)(AttributeExpandable::_PD_repoId) {}
    virtual ~_pof_AttributeExpandable();

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

  class _impl_AttributeExpandable :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeExpandable();

    virtual ::CORBA::Boolean IsExpandable() = 0;
    virtual void SetExpandable(::CORBA::Boolean value) = 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_AttributeExpandable;

#ifndef __SALOMEDS_mAttributeFlags__
#define __SALOMEDS_mAttributeFlags__

  class AttributeFlags;
  class _objref_AttributeFlags;
  class _impl_AttributeFlags;
  
  typedef _objref_AttributeFlags* AttributeFlags_ptr;
  typedef AttributeFlags_ptr AttributeFlagsRef;

  class AttributeFlags_Helper {
  public:
    typedef AttributeFlags_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_AttributeFlags, AttributeFlags_Helper> AttributeFlags_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeFlags,AttributeFlags_Helper > AttributeFlags_out;

#endif

  // interface AttributeFlags
  class AttributeFlags {
  public:
    // Declarations for this interface type.
    typedef AttributeFlags_ptr _ptr_type;
    typedef AttributeFlags_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_AttributeFlags :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Long GetFlags();
    void SetFlags(::CORBA::Long flags);
    ::CORBA::Boolean Get(::CORBA::Long flags);
    void Set(::CORBA::Long flags, ::CORBA::Boolean value);

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

  protected:
    virtual ~_objref_AttributeFlags();

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

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

    friend class AttributeFlags;
  };

  class _pof_AttributeFlags : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeFlags() : _OMNI_NS(proxyObjectFactory)(AttributeFlags::_PD_repoId) {}
    virtual ~_pof_AttributeFlags();

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

  class _impl_AttributeFlags :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeFlags();

    virtual ::CORBA::Long GetFlags() = 0;
    virtual void SetFlags(::CORBA::Long flags) = 0;
    virtual ::CORBA::Boolean Get(::CORBA::Long flags) = 0;
    virtual void Set(::CORBA::Long flags, ::CORBA::Boolean value) = 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_AttributeFlags;

#ifndef __SALOMEDS_mAttributeGraphic__
#define __SALOMEDS_mAttributeGraphic__

  class AttributeGraphic;
  class _objref_AttributeGraphic;
  class _impl_AttributeGraphic;
  
  typedef _objref_AttributeGraphic* AttributeGraphic_ptr;
  typedef AttributeGraphic_ptr AttributeGraphicRef;

  class AttributeGraphic_Helper {
  public:
    typedef AttributeGraphic_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_AttributeGraphic, AttributeGraphic_Helper> AttributeGraphic_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeGraphic,AttributeGraphic_Helper > AttributeGraphic_out;

#endif

  // interface AttributeGraphic
  class AttributeGraphic {
  public:
    // Declarations for this interface type.
    typedef AttributeGraphic_ptr _ptr_type;
    typedef AttributeGraphic_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_AttributeGraphic :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetVisibility(::CORBA::Long viewId, ::CORBA::Boolean value);
    ::CORBA::Boolean GetVisibility(::CORBA::Long viewId);

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

  protected:
    virtual ~_objref_AttributeGraphic();

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

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

    friend class AttributeGraphic;
  };

  class _pof_AttributeGraphic : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeGraphic() : _OMNI_NS(proxyObjectFactory)(AttributeGraphic::_PD_repoId) {}
    virtual ~_pof_AttributeGraphic();

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

  class _impl_AttributeGraphic :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeGraphic();

    virtual void SetVisibility(::CORBA::Long viewId, ::CORBA::Boolean value) = 0;
    virtual ::CORBA::Boolean GetVisibility(::CORBA::Long viewId) = 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_AttributeGraphic;

#ifndef __SALOMEDS_mAttributeOpened__
#define __SALOMEDS_mAttributeOpened__

  class AttributeOpened;
  class _objref_AttributeOpened;
  class _impl_AttributeOpened;
  
  typedef _objref_AttributeOpened* AttributeOpened_ptr;
  typedef AttributeOpened_ptr AttributeOpenedRef;

  class AttributeOpened_Helper {
  public:
    typedef AttributeOpened_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_AttributeOpened, AttributeOpened_Helper> AttributeOpened_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeOpened,AttributeOpened_Helper > AttributeOpened_out;

#endif

  // interface AttributeOpened
  class AttributeOpened {
  public:
    // Declarations for this interface type.
    typedef AttributeOpened_ptr _ptr_type;
    typedef AttributeOpened_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_AttributeOpened :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Boolean IsOpened();
    void SetOpened(::CORBA::Boolean value);

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

  protected:
    virtual ~_objref_AttributeOpened();

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

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

    friend class AttributeOpened;
  };

  class _pof_AttributeOpened : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeOpened() : _OMNI_NS(proxyObjectFactory)(AttributeOpened::_PD_repoId) {}
    virtual ~_pof_AttributeOpened();

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

  class _impl_AttributeOpened :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeOpened();

    virtual ::CORBA::Boolean IsOpened() = 0;
    virtual void SetOpened(::CORBA::Boolean value) = 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_AttributeOpened;

#ifndef __SALOMEDS_mAttributeTextColor__
#define __SALOMEDS_mAttributeTextColor__

  class AttributeTextColor;
  class _objref_AttributeTextColor;
  class _impl_AttributeTextColor;
  
  typedef _objref_AttributeTextColor* AttributeTextColor_ptr;
  typedef AttributeTextColor_ptr AttributeTextColorRef;

  class AttributeTextColor_Helper {
  public:
    typedef AttributeTextColor_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_AttributeTextColor, AttributeTextColor_Helper> AttributeTextColor_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTextColor,AttributeTextColor_Helper > AttributeTextColor_out;

#endif

  // interface AttributeTextColor
  class AttributeTextColor {
  public:
    // Declarations for this interface type.
    typedef AttributeTextColor_ptr _ptr_type;
    typedef AttributeTextColor_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_AttributeTextColor :
    public virtual _objref_GenericAttribute
  {
  public:
    Color TextColor();
    void SetTextColor(const ::SALOMEDS::Color& value);

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

  protected:
    virtual ~_objref_AttributeTextColor();

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

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

    friend class AttributeTextColor;
  };

  class _pof_AttributeTextColor : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTextColor() : _OMNI_NS(proxyObjectFactory)(AttributeTextColor::_PD_repoId) {}
    virtual ~_pof_AttributeTextColor();

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

  class _impl_AttributeTextColor :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeTextColor();

    virtual Color TextColor() = 0;
    virtual void SetTextColor(const ::SALOMEDS::Color& value) = 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_AttributeTextColor;

#ifndef __SALOMEDS_mAttributeTextHighlightColor__
#define __SALOMEDS_mAttributeTextHighlightColor__

  class AttributeTextHighlightColor;
  class _objref_AttributeTextHighlightColor;
  class _impl_AttributeTextHighlightColor;
  
  typedef _objref_AttributeTextHighlightColor* AttributeTextHighlightColor_ptr;
  typedef AttributeTextHighlightColor_ptr AttributeTextHighlightColorRef;

  class AttributeTextHighlightColor_Helper {
  public:
    typedef AttributeTextHighlightColor_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_AttributeTextHighlightColor, AttributeTextHighlightColor_Helper> AttributeTextHighlightColor_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTextHighlightColor,AttributeTextHighlightColor_Helper > AttributeTextHighlightColor_out;

#endif

  // interface AttributeTextHighlightColor
  class AttributeTextHighlightColor {
  public:
    // Declarations for this interface type.
    typedef AttributeTextHighlightColor_ptr _ptr_type;
    typedef AttributeTextHighlightColor_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_AttributeTextHighlightColor :
    public virtual _objref_GenericAttribute
  {
  public:
    Color TextHighlightColor();
    void SetTextHighlightColor(const ::SALOMEDS::Color& value);

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

  protected:
    virtual ~_objref_AttributeTextHighlightColor();

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

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

    friend class AttributeTextHighlightColor;
  };

  class _pof_AttributeTextHighlightColor : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTextHighlightColor() : _OMNI_NS(proxyObjectFactory)(AttributeTextHighlightColor::_PD_repoId) {}
    virtual ~_pof_AttributeTextHighlightColor();

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

  class _impl_AttributeTextHighlightColor :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeTextHighlightColor();

    virtual Color TextHighlightColor() = 0;
    virtual void SetTextHighlightColor(const ::SALOMEDS::Color& value) = 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_AttributeTextHighlightColor;

#ifndef __SALOMEDS_mAttributePixMap__
#define __SALOMEDS_mAttributePixMap__

  class AttributePixMap;
  class _objref_AttributePixMap;
  class _impl_AttributePixMap;
  
  typedef _objref_AttributePixMap* AttributePixMap_ptr;
  typedef AttributePixMap_ptr AttributePixMapRef;

  class AttributePixMap_Helper {
  public:
    typedef AttributePixMap_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_AttributePixMap, AttributePixMap_Helper> AttributePixMap_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributePixMap,AttributePixMap_Helper > AttributePixMap_out;

#endif

  // interface AttributePixMap
  class AttributePixMap {
  public:
    // Declarations for this interface type.
    typedef AttributePixMap_ptr _ptr_type;
    typedef AttributePixMap_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_AttributePixMap :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Boolean HasPixMap();
    char* GetPixMap();
    void SetPixMap(const char* value);

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

  protected:
    virtual ~_objref_AttributePixMap();

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

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

    friend class AttributePixMap;
  };

  class _pof_AttributePixMap : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributePixMap() : _OMNI_NS(proxyObjectFactory)(AttributePixMap::_PD_repoId) {}
    virtual ~_pof_AttributePixMap();

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

  class _impl_AttributePixMap :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributePixMap();

    virtual ::CORBA::Boolean HasPixMap() = 0;
    virtual char* GetPixMap() = 0;
    virtual void SetPixMap(const char* value) = 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_AttributePixMap;

#ifndef __SALOMEDS_mAttributeTreeNode__
#define __SALOMEDS_mAttributeTreeNode__

  class AttributeTreeNode;
  class _objref_AttributeTreeNode;
  class _impl_AttributeTreeNode;
  
  typedef _objref_AttributeTreeNode* AttributeTreeNode_ptr;
  typedef AttributeTreeNode_ptr AttributeTreeNodeRef;

  class AttributeTreeNode_Helper {
  public:
    typedef AttributeTreeNode_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_AttributeTreeNode, AttributeTreeNode_Helper> AttributeTreeNode_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTreeNode,AttributeTreeNode_Helper > AttributeTreeNode_out;

#endif

  // interface AttributeTreeNode
  class AttributeTreeNode {
  public:
    // Declarations for this interface type.
    typedef AttributeTreeNode_ptr _ptr_type;
    typedef AttributeTreeNode_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_AttributeTreeNode :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetFather(::SALOMEDS::AttributeTreeNode_ptr father);
    ::CORBA::Boolean HasFather();
    AttributeTreeNode_ptr GetFather();
    void SetPrevious(::SALOMEDS::AttributeTreeNode_ptr sibling);
    ::CORBA::Boolean HasPrevious();
    AttributeTreeNode_ptr GetPrevious();
    void SetNext(::SALOMEDS::AttributeTreeNode_ptr sibling);
    ::CORBA::Boolean HasNext();
    AttributeTreeNode_ptr GetNext();
    void SetFirst(::SALOMEDS::AttributeTreeNode_ptr child);
    ::CORBA::Boolean HasFirst();
    AttributeTreeNode_ptr GetFirst();
    void SetTreeID(const char* ID);
    char* GetTreeID();
    void Append(::SALOMEDS::AttributeTreeNode_ptr child);
    void Prepend(::SALOMEDS::AttributeTreeNode_ptr child);
    void InsertBefore(::SALOMEDS::AttributeTreeNode_ptr child);
    void InsertAfter(::SALOMEDS::AttributeTreeNode_ptr child);
    void Remove();
    ::CORBA::Long Depth();
    ::CORBA::Boolean IsRoot();
    ::CORBA::Boolean IsDescendant(::SALOMEDS::AttributeTreeNode_ptr other);
    ::CORBA::Boolean IsFather(::SALOMEDS::AttributeTreeNode_ptr other);
    ::CORBA::Boolean IsChild(::SALOMEDS::AttributeTreeNode_ptr other);
    char* Label();

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

  protected:
    virtual ~_objref_AttributeTreeNode();

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

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

    friend class AttributeTreeNode;
  };

  class _pof_AttributeTreeNode : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTreeNode() : _OMNI_NS(proxyObjectFactory)(AttributeTreeNode::_PD_repoId) {}
    virtual ~_pof_AttributeTreeNode();

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

  class _impl_AttributeTreeNode :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeTreeNode();

    virtual void SetFather(::SALOMEDS::AttributeTreeNode_ptr father) = 0;
    virtual ::CORBA::Boolean HasFather() = 0;
    virtual AttributeTreeNode_ptr GetFather() = 0;
    virtual void SetPrevious(::SALOMEDS::AttributeTreeNode_ptr sibling) = 0;
    virtual ::CORBA::Boolean HasPrevious() = 0;
    virtual AttributeTreeNode_ptr GetPrevious() = 0;
    virtual void SetNext(::SALOMEDS::AttributeTreeNode_ptr sibling) = 0;
    virtual ::CORBA::Boolean HasNext() = 0;
    virtual AttributeTreeNode_ptr GetNext() = 0;
    virtual void SetFirst(::SALOMEDS::AttributeTreeNode_ptr child) = 0;
    virtual ::CORBA::Boolean HasFirst() = 0;
    virtual AttributeTreeNode_ptr GetFirst() = 0;
    virtual void SetTreeID(const char* ID) = 0;
    virtual char* GetTreeID() = 0;
    virtual void Append(::SALOMEDS::AttributeTreeNode_ptr child) = 0;
    virtual void Prepend(::SALOMEDS::AttributeTreeNode_ptr child) = 0;
    virtual void InsertBefore(::SALOMEDS::AttributeTreeNode_ptr child) = 0;
    virtual void InsertAfter(::SALOMEDS::AttributeTreeNode_ptr child) = 0;
    virtual void Remove() = 0;
    virtual ::CORBA::Long Depth() = 0;
    virtual ::CORBA::Boolean IsRoot() = 0;
    virtual ::CORBA::Boolean IsDescendant(::SALOMEDS::AttributeTreeNode_ptr other) = 0;
    virtual ::CORBA::Boolean IsFather(::SALOMEDS::AttributeTreeNode_ptr other) = 0;
    virtual ::CORBA::Boolean IsChild(::SALOMEDS::AttributeTreeNode_ptr other) = 0;
    virtual char* Label() = 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_AttributeTreeNode;

#ifndef __SALOMEDS_mAttributeLocalID__
#define __SALOMEDS_mAttributeLocalID__

  class AttributeLocalID;
  class _objref_AttributeLocalID;
  class _impl_AttributeLocalID;
  
  typedef _objref_AttributeLocalID* AttributeLocalID_ptr;
  typedef AttributeLocalID_ptr AttributeLocalIDRef;

  class AttributeLocalID_Helper {
  public:
    typedef AttributeLocalID_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_AttributeLocalID, AttributeLocalID_Helper> AttributeLocalID_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeLocalID,AttributeLocalID_Helper > AttributeLocalID_out;

#endif

  // interface AttributeLocalID
  class AttributeLocalID {
  public:
    // Declarations for this interface type.
    typedef AttributeLocalID_ptr _ptr_type;
    typedef AttributeLocalID_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_AttributeLocalID :
    public virtual _objref_GenericAttribute
  {
  public:
    ::CORBA::Long Value();
    void SetValue(::CORBA::Long value);

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

  protected:
    virtual ~_objref_AttributeLocalID();

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

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

    friend class AttributeLocalID;
  };

  class _pof_AttributeLocalID : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeLocalID() : _OMNI_NS(proxyObjectFactory)(AttributeLocalID::_PD_repoId) {}
    virtual ~_pof_AttributeLocalID();

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

  class _impl_AttributeLocalID :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeLocalID();

    virtual ::CORBA::Long Value() = 0;
    virtual void SetValue(::CORBA::Long value) = 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_AttributeLocalID;

#ifndef __SALOMEDS_mAttributeUserID__
#define __SALOMEDS_mAttributeUserID__

  class AttributeUserID;
  class _objref_AttributeUserID;
  class _impl_AttributeUserID;
  
  typedef _objref_AttributeUserID* AttributeUserID_ptr;
  typedef AttributeUserID_ptr AttributeUserIDRef;

  class AttributeUserID_Helper {
  public:
    typedef AttributeUserID_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_AttributeUserID, AttributeUserID_Helper> AttributeUserID_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeUserID,AttributeUserID_Helper > AttributeUserID_out;

#endif

  // interface AttributeUserID
  class AttributeUserID {
  public:
    // Declarations for this interface type.
    typedef AttributeUserID_ptr _ptr_type;
    typedef AttributeUserID_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_AttributeUserID :
    public virtual _objref_GenericAttribute
  {
  public:
    char* Value();
    void SetValue(const char* value);

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

  protected:
    virtual ~_objref_AttributeUserID();

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

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

    friend class AttributeUserID;
  };

  class _pof_AttributeUserID : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeUserID() : _OMNI_NS(proxyObjectFactory)(AttributeUserID::_PD_repoId) {}
    virtual ~_pof_AttributeUserID();

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

  class _impl_AttributeUserID :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeUserID();

    virtual char* Value() = 0;
    virtual void SetValue(const char* value) = 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_AttributeUserID;

#ifndef __SALOMEDS_mAttributeTarget__
#define __SALOMEDS_mAttributeTarget__

  class AttributeTarget;
  class _objref_AttributeTarget;
  class _impl_AttributeTarget;
  
  typedef _objref_AttributeTarget* AttributeTarget_ptr;
  typedef AttributeTarget_ptr AttributeTargetRef;

  class AttributeTarget_Helper {
  public:
    typedef AttributeTarget_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_AttributeTarget, AttributeTarget_Helper> AttributeTarget_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTarget,AttributeTarget_Helper > AttributeTarget_out;

#endif

  // interface AttributeTarget
  class AttributeTarget {
  public:
    // Declarations for this interface type.
    typedef AttributeTarget_ptr _ptr_type;
    typedef AttributeTarget_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_AttributeTarget :
    public virtual _objref_GenericAttribute
  {
  public:
    void Add(::SALOMEDS::SObject_ptr refobj);
    Study::ListOfSObject* Get();
    void Remove(::SALOMEDS::SObject_ptr anObject);

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

  protected:
    virtual ~_objref_AttributeTarget();

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

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

    friend class AttributeTarget;
  };

  class _pof_AttributeTarget : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTarget() : _OMNI_NS(proxyObjectFactory)(AttributeTarget::_PD_repoId) {}
    virtual ~_pof_AttributeTarget();

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

  class _impl_AttributeTarget :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeTarget();

    virtual void Add(::SALOMEDS::SObject_ptr refobj) = 0;
    virtual Study::ListOfSObject* Get() = 0;
    virtual void Remove(::SALOMEDS::SObject_ptr anObject) = 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_AttributeTarget;

#ifndef __SALOMEDS_mAttributeTable__
#define __SALOMEDS_mAttributeTable__

  class AttributeTable;
  class _objref_AttributeTable;
  class _impl_AttributeTable;
  
  typedef _objref_AttributeTable* AttributeTable_ptr;
  typedef AttributeTable_ptr AttributeTableRef;

  class AttributeTable_Helper {
  public:
    typedef AttributeTable_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_AttributeTable, AttributeTable_Helper> AttributeTable_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTable,AttributeTable_Helper > AttributeTable_out;

#endif

  // interface AttributeTable
  class AttributeTable {
  public:
    // Declarations for this interface type.
    typedef AttributeTable_ptr _ptr_type;
    typedef AttributeTable_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 IncorrectIndex : public ::CORBA::UserException {
    public:
      
      

      inline IncorrectIndex() {
        pd_insertToAnyFn    = insertToAnyFn;
        pd_insertToAnyFnNCP = insertToAnyFnNCP;
      }
      IncorrectIndex(const IncorrectIndex&);
      
      IncorrectIndex& operator=(const IncorrectIndex&);
      virtual ~IncorrectIndex();
      virtual void _raise() const;
      static IncorrectIndex* _downcast(::CORBA::Exception*);
      static const IncorrectIndex* _downcast(const ::CORBA::Exception*);
      static inline IncorrectIndex* _narrow(::CORBA::Exception* _e) {
        return _downcast(_e);
      }
      
      inline void operator>>=(cdrStream&) const { }
      inline void operator<<=(cdrStream&) { }

      static _core_attr insertExceptionToAny    insertToAnyFn;
      static _core_attr insertExceptionToAnyNCP insertToAnyFnNCP;

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

      static _core_attr const char* _PD_repoId;
      static _core_attr const char* _PD_typeId;

    private:
      virtual const char* _NP_typeId() const;
      virtual const char* _NP_repoId(int*) const;
      virtual void _NP_marshal(cdrStream&) const;
    };

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_IncorrectIndex;

    class IncorrectArgumentLength : public ::CORBA::UserException {
    public:
      
      

      inline IncorrectArgumentLength() {
        pd_insertToAnyFn    = insertToAnyFn;
        pd_insertToAnyFnNCP = insertToAnyFnNCP;
      }
      IncorrectArgumentLength(const IncorrectArgumentLength&);
      
      IncorrectArgumentLength& operator=(const IncorrectArgumentLength&);
      virtual ~IncorrectArgumentLength();
      virtual void _raise() const;
      static IncorrectArgumentLength* _downcast(::CORBA::Exception*);
      static const IncorrectArgumentLength* _downcast(const ::CORBA::Exception*);
      static inline IncorrectArgumentLength* _narrow(::CORBA::Exception* _e) {
        return _downcast(_e);
      }
      
      inline void operator>>=(cdrStream&) const { }
      inline void operator<<=(cdrStream&) { }

      static _core_attr insertExceptionToAny    insertToAnyFn;
      static _core_attr insertExceptionToAnyNCP insertToAnyFnNCP;

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

      static _core_attr const char* _PD_repoId;
      static _core_attr const char* _PD_typeId;

    private:
      virtual const char* _NP_typeId() const;
      virtual const char* _NP_repoId(int*) const;
      virtual void _NP_marshal(cdrStream&) const;
    };

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_IncorrectArgumentLength;

    enum SortOrder { AscendingOrder, DescendingOrder /*, __max_SortOrder=0xffffffff */ };
    typedef SortOrder& SortOrder_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_SortOrder;

    enum SortPolicy { EmptyLowest, EmptyHighest, EmptyFirst, EmptyLast, EmptyIgnore /*, __max_SortPolicy=0xffffffff */ };
    typedef SortPolicy& SortPolicy_out;

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_SortPolicy;

  
  };

  class _objref_AttributeTable :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetTitle(const char* title);
    char* GetTitle();
    void SetRowTitle(::CORBA::Long row, const char* title);
    char* GetRowTitle(::CORBA::Long row);
    void SetRowTitles(const ::SALOMEDS::StringSeq& titles);
    StringSeq* GetRowTitles();
    void SetColumnTitle(::CORBA::Long column, const char* title);
    char* GetColumnTitle(::CORBA::Long column);
    void SetColumnTitles(const ::SALOMEDS::StringSeq& titles);
    StringSeq* GetColumnTitles();
    void SetRowUnit(::CORBA::Long row, const char* unit);
    char* GetRowUnit(::CORBA::Long row);
    void SetRowUnits(const ::SALOMEDS::StringSeq& units);
    StringSeq* GetRowUnits();
    ::CORBA::Long GetNbRows();
    ::CORBA::Long GetNbColumns();
    ::CORBA::Boolean HasValue(::CORBA::Long row, ::CORBA::Long column);
    void RemoveValue(::CORBA::Long row, ::CORBA::Long column);
    void SetNbColumns(::CORBA::Long columns);
    LongSeq* GetRowSetIndices(::CORBA::Long row);
    LongSeq* SortRow(::CORBA::Long row, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy);
    LongSeq* SortColumn(::CORBA::Long column, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy);
    LongSeq* SortByRow(::CORBA::Long row, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy);
    LongSeq* SortByColumn(::CORBA::Long column, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy);
    void SwapCells(::CORBA::Long row1, ::CORBA::Long column1, ::CORBA::Long row2, ::CORBA::Long column2);
    void SwapRows(::CORBA::Long row1, ::CORBA::Long row2);
    void SwapColumns(::CORBA::Long column1, ::CORBA::Long column2);
    ::CORBA::Boolean ReadFromFile(const ::SALOMEDS::TMPFile& fileStream);
    TMPFile* SaveToFile();

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

  protected:
    virtual ~_objref_AttributeTable();

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

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

    friend class AttributeTable;
  };

  class _pof_AttributeTable : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTable() : _OMNI_NS(proxyObjectFactory)(AttributeTable::_PD_repoId) {}
    virtual ~_pof_AttributeTable();

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

  class _impl_AttributeTable :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeTable();

    virtual void SetTitle(const char* title) = 0;
    virtual char* GetTitle() = 0;
    virtual void SetRowTitle(::CORBA::Long row, const char* title) = 0;
    virtual char* GetRowTitle(::CORBA::Long row) = 0;
    virtual void SetRowTitles(const ::SALOMEDS::StringSeq& titles) = 0;
    virtual StringSeq* GetRowTitles() = 0;
    virtual void SetColumnTitle(::CORBA::Long column, const char* title) = 0;
    virtual char* GetColumnTitle(::CORBA::Long column) = 0;
    virtual void SetColumnTitles(const ::SALOMEDS::StringSeq& titles) = 0;
    virtual StringSeq* GetColumnTitles() = 0;
    virtual void SetRowUnit(::CORBA::Long row, const char* unit) = 0;
    virtual char* GetRowUnit(::CORBA::Long row) = 0;
    virtual void SetRowUnits(const ::SALOMEDS::StringSeq& units) = 0;
    virtual StringSeq* GetRowUnits() = 0;
    virtual ::CORBA::Long GetNbRows() = 0;
    virtual ::CORBA::Long GetNbColumns() = 0;
    virtual ::CORBA::Boolean HasValue(::CORBA::Long row, ::CORBA::Long column) = 0;
    virtual void RemoveValue(::CORBA::Long row, ::CORBA::Long column) = 0;
    virtual void SetNbColumns(::CORBA::Long columns) = 0;
    virtual LongSeq* GetRowSetIndices(::CORBA::Long row) = 0;
    virtual LongSeq* SortRow(::CORBA::Long row, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy) = 0;
    virtual LongSeq* SortColumn(::CORBA::Long column, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy) = 0;
    virtual LongSeq* SortByRow(::CORBA::Long row, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy) = 0;
    virtual LongSeq* SortByColumn(::CORBA::Long column, ::SALOMEDS::AttributeTable::SortOrder order, ::SALOMEDS::AttributeTable::SortPolicy policy) = 0;
    virtual void SwapCells(::CORBA::Long row1, ::CORBA::Long column1, ::CORBA::Long row2, ::CORBA::Long column2) = 0;
    virtual void SwapRows(::CORBA::Long row1, ::CORBA::Long row2) = 0;
    virtual void SwapColumns(::CORBA::Long column1, ::CORBA::Long column2) = 0;
    virtual ::CORBA::Boolean ReadFromFile(const ::SALOMEDS::TMPFile& fileStream) = 0;
    virtual TMPFile* SaveToFile() = 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_AttributeTable;

#ifndef __SALOMEDS_mAttributeTableOfInteger__
#define __SALOMEDS_mAttributeTableOfInteger__

  class AttributeTableOfInteger;
  class _objref_AttributeTableOfInteger;
  class _impl_AttributeTableOfInteger;
  
  typedef _objref_AttributeTableOfInteger* AttributeTableOfInteger_ptr;
  typedef AttributeTableOfInteger_ptr AttributeTableOfIntegerRef;

  class AttributeTableOfInteger_Helper {
  public:
    typedef AttributeTableOfInteger_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_AttributeTableOfInteger, AttributeTableOfInteger_Helper> AttributeTableOfInteger_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTableOfInteger,AttributeTableOfInteger_Helper > AttributeTableOfInteger_out;

#endif

  // interface AttributeTableOfInteger
  class AttributeTableOfInteger {
  public:
    // Declarations for this interface type.
    typedef AttributeTableOfInteger_ptr _ptr_type;
    typedef AttributeTableOfInteger_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_AttributeTableOfInteger :
    public virtual _objref_AttributeTable
  {
  public:
    void AddRow(const ::SALOMEDS::LongSeq& data);
    void SetRow(::CORBA::Long row, const ::SALOMEDS::LongSeq& data);
    LongSeq* GetRow(::CORBA::Long row);
    void AddColumn(const ::SALOMEDS::LongSeq& data);
    void SetColumn(::CORBA::Long column, const ::SALOMEDS::LongSeq& data);
    LongSeq* GetColumn(::CORBA::Long column);
    void PutValue(::CORBA::Long value, ::CORBA::Long row, ::CORBA::Long column);
    ::CORBA::Long GetValue(::CORBA::Long row, ::CORBA::Long column);

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

  protected:
    virtual ~_objref_AttributeTableOfInteger();

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

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

    friend class AttributeTableOfInteger;
  };

  class _pof_AttributeTableOfInteger : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTableOfInteger() : _OMNI_NS(proxyObjectFactory)(AttributeTableOfInteger::_PD_repoId) {}
    virtual ~_pof_AttributeTableOfInteger();

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

  class _impl_AttributeTableOfInteger :
    public virtual _impl_AttributeTable
  {
  public:
    virtual ~_impl_AttributeTableOfInteger();

    virtual void AddRow(const ::SALOMEDS::LongSeq& data) = 0;
    virtual void SetRow(::CORBA::Long row, const ::SALOMEDS::LongSeq& data) = 0;
    virtual LongSeq* GetRow(::CORBA::Long row) = 0;
    virtual void AddColumn(const ::SALOMEDS::LongSeq& data) = 0;
    virtual void SetColumn(::CORBA::Long column, const ::SALOMEDS::LongSeq& data) = 0;
    virtual LongSeq* GetColumn(::CORBA::Long column) = 0;
    virtual void PutValue(::CORBA::Long value, ::CORBA::Long row, ::CORBA::Long column) = 0;
    virtual ::CORBA::Long GetValue(::CORBA::Long row, ::CORBA::Long column) = 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_AttributeTableOfInteger;

#ifndef __SALOMEDS_mAttributeTableOfReal__
#define __SALOMEDS_mAttributeTableOfReal__

  class AttributeTableOfReal;
  class _objref_AttributeTableOfReal;
  class _impl_AttributeTableOfReal;
  
  typedef _objref_AttributeTableOfReal* AttributeTableOfReal_ptr;
  typedef AttributeTableOfReal_ptr AttributeTableOfRealRef;

  class AttributeTableOfReal_Helper {
  public:
    typedef AttributeTableOfReal_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_AttributeTableOfReal, AttributeTableOfReal_Helper> AttributeTableOfReal_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTableOfReal,AttributeTableOfReal_Helper > AttributeTableOfReal_out;

#endif

  // interface AttributeTableOfReal
  class AttributeTableOfReal {
  public:
    // Declarations for this interface type.
    typedef AttributeTableOfReal_ptr _ptr_type;
    typedef AttributeTableOfReal_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_AttributeTableOfReal :
    public virtual _objref_AttributeTable
  {
  public:
    void AddRow(const ::SALOMEDS::DoubleSeq& data);
    void SetRow(::CORBA::Long row, const ::SALOMEDS::DoubleSeq& data);
    DoubleSeq* GetRow(::CORBA::Long row);
    void AddColumn(const ::SALOMEDS::DoubleSeq& data);
    void SetColumn(::CORBA::Long column, const ::SALOMEDS::DoubleSeq& data);
    DoubleSeq* GetColumn(::CORBA::Long column);
    void PutValue(::CORBA::Double value, ::CORBA::Long row, ::CORBA::Long volumn);
    ::CORBA::Double GetValue(::CORBA::Long row, ::CORBA::Long column);

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

  protected:
    virtual ~_objref_AttributeTableOfReal();

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

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

    friend class AttributeTableOfReal;
  };

  class _pof_AttributeTableOfReal : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTableOfReal() : _OMNI_NS(proxyObjectFactory)(AttributeTableOfReal::_PD_repoId) {}
    virtual ~_pof_AttributeTableOfReal();

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

  class _impl_AttributeTableOfReal :
    public virtual _impl_AttributeTable
  {
  public:
    virtual ~_impl_AttributeTableOfReal();

    virtual void AddRow(const ::SALOMEDS::DoubleSeq& data) = 0;
    virtual void SetRow(::CORBA::Long row, const ::SALOMEDS::DoubleSeq& data) = 0;
    virtual DoubleSeq* GetRow(::CORBA::Long row) = 0;
    virtual void AddColumn(const ::SALOMEDS::DoubleSeq& data) = 0;
    virtual void SetColumn(::CORBA::Long column, const ::SALOMEDS::DoubleSeq& data) = 0;
    virtual DoubleSeq* GetColumn(::CORBA::Long column) = 0;
    virtual void PutValue(::CORBA::Double value, ::CORBA::Long row, ::CORBA::Long volumn) = 0;
    virtual ::CORBA::Double GetValue(::CORBA::Long row, ::CORBA::Long column) = 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_AttributeTableOfReal;

#ifndef __SALOMEDS_mAttributeTableOfString__
#define __SALOMEDS_mAttributeTableOfString__

  class AttributeTableOfString;
  class _objref_AttributeTableOfString;
  class _impl_AttributeTableOfString;
  
  typedef _objref_AttributeTableOfString* AttributeTableOfString_ptr;
  typedef AttributeTableOfString_ptr AttributeTableOfStringRef;

  class AttributeTableOfString_Helper {
  public:
    typedef AttributeTableOfString_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_AttributeTableOfString, AttributeTableOfString_Helper> AttributeTableOfString_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeTableOfString,AttributeTableOfString_Helper > AttributeTableOfString_out;

#endif

  // interface AttributeTableOfString
  class AttributeTableOfString {
  public:
    // Declarations for this interface type.
    typedef AttributeTableOfString_ptr _ptr_type;
    typedef AttributeTableOfString_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_AttributeTableOfString :
    public virtual _objref_AttributeTable
  {
  public:
    void AddRow(const ::SALOMEDS::StringSeq& data);
    void SetRow(::CORBA::Long row, const ::SALOMEDS::StringSeq& data);
    StringSeq* GetRow(::CORBA::Long row);
    void AddColumn(const ::SALOMEDS::StringSeq& data);
    void SetColumn(::CORBA::Long column, const ::SALOMEDS::StringSeq& data);
    StringSeq* GetColumn(::CORBA::Long column);
    void PutValue(const char* value, ::CORBA::Long row, ::CORBA::Long column);
    char* GetValue(::CORBA::Long row, ::CORBA::Long column);

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

  protected:
    virtual ~_objref_AttributeTableOfString();

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

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

    friend class AttributeTableOfString;
  };

  class _pof_AttributeTableOfString : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeTableOfString() : _OMNI_NS(proxyObjectFactory)(AttributeTableOfString::_PD_repoId) {}
    virtual ~_pof_AttributeTableOfString();

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

  class _impl_AttributeTableOfString :
    public virtual _impl_AttributeTable
  {
  public:
    virtual ~_impl_AttributeTableOfString();

    virtual void AddRow(const ::SALOMEDS::StringSeq& data) = 0;
    virtual void SetRow(::CORBA::Long row, const ::SALOMEDS::StringSeq& data) = 0;
    virtual StringSeq* GetRow(::CORBA::Long row) = 0;
    virtual void AddColumn(const ::SALOMEDS::StringSeq& data) = 0;
    virtual void SetColumn(::CORBA::Long column, const ::SALOMEDS::StringSeq& data) = 0;
    virtual StringSeq* GetColumn(::CORBA::Long column) = 0;
    virtual void PutValue(const char* value, ::CORBA::Long row, ::CORBA::Long column) = 0;
    virtual char* GetValue(::CORBA::Long row, ::CORBA::Long column) = 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_AttributeTableOfString;

#ifndef __SALOMEDS_mAttributeStudyProperties__
#define __SALOMEDS_mAttributeStudyProperties__

  class AttributeStudyProperties;
  class _objref_AttributeStudyProperties;
  class _impl_AttributeStudyProperties;
  
  typedef _objref_AttributeStudyProperties* AttributeStudyProperties_ptr;
  typedef AttributeStudyProperties_ptr AttributeStudyPropertiesRef;

  class AttributeStudyProperties_Helper {
  public:
    typedef AttributeStudyProperties_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_AttributeStudyProperties, AttributeStudyProperties_Helper> AttributeStudyProperties_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeStudyProperties,AttributeStudyProperties_Helper > AttributeStudyProperties_out;

#endif

  // interface AttributeStudyProperties
  class AttributeStudyProperties {
  public:
    // Declarations for this interface type.
    typedef AttributeStudyProperties_ptr _ptr_type;
    typedef AttributeStudyProperties_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_AttributeStudyProperties :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetUserName(const char* author);
    char* GetUserName();
    void SetCreationDate(::CORBA::Long minute, ::CORBA::Long hour, ::CORBA::Long day, ::CORBA::Long month, ::CORBA::Long year);
    ::CORBA::Boolean GetCreationDate(::CORBA::Long& minute, ::CORBA::Long& hour, ::CORBA::Long& day, ::CORBA::Long& month, ::CORBA::Long& year);
    void SetCreationMode(const char* mode);
    char* GetCreationMode();
    void SetModified(::CORBA::Long modified);
    ::CORBA::Boolean IsModified();
    ::CORBA::Long GetModified();
    void SetLocked(::CORBA::Boolean lock);
    ::CORBA::Boolean IsLocked();
    void SetModification(const char* author, ::CORBA::Long minute, ::CORBA::Long hour, ::CORBA::Long day, ::CORBA::Long month, ::CORBA::Long year);
    void GetModificationsList(::SALOMEDS::StringSeq_out authors, ::SALOMEDS::LongSeq_out minutes, ::SALOMEDS::LongSeq_out hours, ::SALOMEDS::LongSeq_out days, ::SALOMEDS::LongSeq_out months, ::SALOMEDS::LongSeq_out years, ::CORBA::Boolean withCreator);

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

  protected:
    virtual ~_objref_AttributeStudyProperties();

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

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

    friend class AttributeStudyProperties;
  };

  class _pof_AttributeStudyProperties : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeStudyProperties() : _OMNI_NS(proxyObjectFactory)(AttributeStudyProperties::_PD_repoId) {}
    virtual ~_pof_AttributeStudyProperties();

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

  class _impl_AttributeStudyProperties :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeStudyProperties();

    virtual void SetUserName(const char* author) = 0;
    virtual char* GetUserName() = 0;
    virtual void SetCreationDate(::CORBA::Long minute, ::CORBA::Long hour, ::CORBA::Long day, ::CORBA::Long month, ::CORBA::Long year) = 0;
    virtual ::CORBA::Boolean GetCreationDate(::CORBA::Long& minute, ::CORBA::Long& hour, ::CORBA::Long& day, ::CORBA::Long& month, ::CORBA::Long& year) = 0;
    virtual void SetCreationMode(const char* mode) = 0;
    virtual char* GetCreationMode() = 0;
    virtual void SetModified(::CORBA::Long modified) = 0;
    virtual ::CORBA::Boolean IsModified() = 0;
    virtual ::CORBA::Long GetModified() = 0;
    virtual void SetLocked(::CORBA::Boolean lock) = 0;
    virtual ::CORBA::Boolean IsLocked() = 0;
    virtual void SetModification(const char* author, ::CORBA::Long minute, ::CORBA::Long hour, ::CORBA::Long day, ::CORBA::Long month, ::CORBA::Long year) = 0;
    virtual void GetModificationsList(::SALOMEDS::StringSeq_out authors, ::SALOMEDS::LongSeq_out minutes, ::SALOMEDS::LongSeq_out hours, ::SALOMEDS::LongSeq_out days, ::SALOMEDS::LongSeq_out months, ::SALOMEDS::LongSeq_out years, ::CORBA::Boolean withCreator) = 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_AttributeStudyProperties;

#ifndef __SALOMEDS_mAttributePythonObject__
#define __SALOMEDS_mAttributePythonObject__

  class AttributePythonObject;
  class _objref_AttributePythonObject;
  class _impl_AttributePythonObject;
  
  typedef _objref_AttributePythonObject* AttributePythonObject_ptr;
  typedef AttributePythonObject_ptr AttributePythonObjectRef;

  class AttributePythonObject_Helper {
  public:
    typedef AttributePythonObject_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_AttributePythonObject, AttributePythonObject_Helper> AttributePythonObject_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributePythonObject,AttributePythonObject_Helper > AttributePythonObject_out;

#endif

  // interface AttributePythonObject
  class AttributePythonObject {
  public:
    // Declarations for this interface type.
    typedef AttributePythonObject_ptr _ptr_type;
    typedef AttributePythonObject_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_AttributePythonObject :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetObject(const char* pyObject, ::CORBA::Boolean isScript);
    char* GetObject();
    ::CORBA::Boolean IsScript();

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

  protected:
    virtual ~_objref_AttributePythonObject();

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

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

    friend class AttributePythonObject;
  };

  class _pof_AttributePythonObject : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributePythonObject() : _OMNI_NS(proxyObjectFactory)(AttributePythonObject::_PD_repoId) {}
    virtual ~_pof_AttributePythonObject();

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

  class _impl_AttributePythonObject :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributePythonObject();

    virtual void SetObject(const char* pyObject, ::CORBA::Boolean isScript) = 0;
    virtual char* GetObject() = 0;
    virtual ::CORBA::Boolean IsScript() = 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_AttributePythonObject;

#ifndef __SALOMEDS_mAttributeParameter__
#define __SALOMEDS_mAttributeParameter__

  class AttributeParameter;
  class _objref_AttributeParameter;
  class _impl_AttributeParameter;
  
  typedef _objref_AttributeParameter* AttributeParameter_ptr;
  typedef AttributeParameter_ptr AttributeParameterRef;

  class AttributeParameter_Helper {
  public:
    typedef AttributeParameter_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_AttributeParameter, AttributeParameter_Helper> AttributeParameter_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_AttributeParameter,AttributeParameter_Helper > AttributeParameter_out;

#endif

  // interface AttributeParameter
  class AttributeParameter {
  public:
    // Declarations for this interface type.
    typedef AttributeParameter_ptr _ptr_type;
    typedef AttributeParameter_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 InvalidIdentifier : public ::CORBA::UserException {
    public:
      
      

      inline InvalidIdentifier() {
        pd_insertToAnyFn    = insertToAnyFn;
        pd_insertToAnyFnNCP = insertToAnyFnNCP;
      }
      InvalidIdentifier(const InvalidIdentifier&);
      
      InvalidIdentifier& operator=(const InvalidIdentifier&);
      virtual ~InvalidIdentifier();
      virtual void _raise() const;
      static InvalidIdentifier* _downcast(::CORBA::Exception*);
      static const InvalidIdentifier* _downcast(const ::CORBA::Exception*);
      static inline InvalidIdentifier* _narrow(::CORBA::Exception* _e) {
        return _downcast(_e);
      }
      
      inline void operator>>=(cdrStream&) const { }
      inline void operator<<=(cdrStream&) { }

      static _core_attr insertExceptionToAny    insertToAnyFn;
      static _core_attr insertExceptionToAnyNCP insertToAnyFnNCP;

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

      static _core_attr const char* _PD_repoId;
      static _core_attr const char* _PD_typeId;

    private:
      virtual const char* _NP_typeId() const;
      virtual const char* _NP_repoId(int*) const;
      virtual void _NP_marshal(cdrStream&) const;
    };

    static _dyn_attr const ::CORBA::TypeCode_ptr _tc_InvalidIdentifier;

  
  };

  class _objref_AttributeParameter :
    public virtual _objref_GenericAttribute
  {
  public:
    void SetInt(const char* ID, ::CORBA::Long value);
    ::CORBA::Long GetInt(const char* ID);
    void SetReal(const char* ID, ::CORBA::Double value);
    ::CORBA::Double GetReal(const char* ID);
    void SetString(const char* ID, const char* value);
    char* GetString(const char* ID);
    void SetBool(const char* ID, ::CORBA::Boolean value);
    ::CORBA::Boolean GetBool(const char* ID);
    void SetRealArray(const char* ID, const ::SALOMEDS::DoubleSeq& value);
    DoubleSeq* GetRealArray(const char* ID);
    void SetIntArray(const char* ID, const ::SALOMEDS::LongSeq& value);
    LongSeq* GetIntArray(const char* ID);
    void SetStrArray(const char* ID, const ::SALOMEDS::StringSeq& value);
    StringSeq* GetStrArray(const char* ID);
    ::CORBA::Boolean IsSet(const char* ID, ::CORBA::Long ptype);
    ::CORBA::Boolean RemoveID(const char* ID, ::CORBA::Long ptype);
    AttributeParameter_ptr GetFather();
    ::CORBA::Boolean HasFather();
    ::CORBA::Boolean IsRoot();
    void Clear();
    StringSeq* GetIDs(::CORBA::Long ptype);

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

  protected:
    virtual ~_objref_AttributeParameter();

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

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

    friend class AttributeParameter;
  };

  class _pof_AttributeParameter : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_AttributeParameter() : _OMNI_NS(proxyObjectFactory)(AttributeParameter::_PD_repoId) {}
    virtual ~_pof_AttributeParameter();

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

  class _impl_AttributeParameter :
    public virtual _impl_GenericAttribute
  {
  public:
    virtual ~_impl_AttributeParameter();

    virtual void SetInt(const char* ID, ::CORBA::Long value) = 0;
    virtual ::CORBA::Long GetInt(const char* ID) = 0;
    virtual void SetReal(const char* ID, ::CORBA::Double value) = 0;
    virtual ::CORBA::Double GetReal(const char* ID) = 0;
    virtual void SetString(const char* ID, const char* value) = 0;
    virtual char* GetString(const char* ID) = 0;
    virtual void SetBool(const char* ID, ::CORBA::Boolean value) = 0;
    virtual ::CORBA::Boolean GetBool(const char* ID) = 0;
    virtual void SetRealArray(const char* ID, const ::SALOMEDS::DoubleSeq& value) = 0;
    virtual DoubleSeq* GetRealArray(const char* ID) = 0;
    virtual void SetIntArray(const char* ID, const ::SALOMEDS::LongSeq& value) = 0;
    virtual LongSeq* GetIntArray(const char* ID) = 0;
    virtual void SetStrArray(const char* ID, const ::SALOMEDS::StringSeq& value) = 0;
    virtual StringSeq* GetStrArray(const char* ID) = 0;
    virtual ::CORBA::Boolean IsSet(const char* ID, ::CORBA::Long ptype) = 0;
    virtual ::CORBA::Boolean RemoveID(const char* ID, ::CORBA::Long ptype) = 0;
    virtual AttributeParameter_ptr GetFather() = 0;
    virtual ::CORBA::Boolean HasFather() = 0;
    virtual ::CORBA::Boolean IsRoot() = 0;
    virtual void Clear() = 0;
    virtual StringSeq* GetIDs(::CORBA::Long ptype) = 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_AttributeParameter;

_CORBA_MODULE_END



_CORBA_MODULE POA_SALOMEDS
_CORBA_MODULE_BEG

  class AttributeReal :
    public virtual SALOMEDS::_impl_AttributeReal,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeReal();

    inline ::SALOMEDS::AttributeReal_ptr _this() {
      return (::SALOMEDS::AttributeReal_ptr) _do_this(::SALOMEDS::AttributeReal::_PD_repoId);
    }
  };

  class AttributeInteger :
    public virtual SALOMEDS::_impl_AttributeInteger,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeInteger();

    inline ::SALOMEDS::AttributeInteger_ptr _this() {
      return (::SALOMEDS::AttributeInteger_ptr) _do_this(::SALOMEDS::AttributeInteger::_PD_repoId);
    }
  };

  class AttributeSequenceOfReal :
    public virtual SALOMEDS::_impl_AttributeSequenceOfReal,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeSequenceOfReal();

    inline ::SALOMEDS::AttributeSequenceOfReal_ptr _this() {
      return (::SALOMEDS::AttributeSequenceOfReal_ptr) _do_this(::SALOMEDS::AttributeSequenceOfReal::_PD_repoId);
    }
  };

  class AttributeSequenceOfInteger :
    public virtual SALOMEDS::_impl_AttributeSequenceOfInteger,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeSequenceOfInteger();

    inline ::SALOMEDS::AttributeSequenceOfInteger_ptr _this() {
      return (::SALOMEDS::AttributeSequenceOfInteger_ptr) _do_this(::SALOMEDS::AttributeSequenceOfInteger::_PD_repoId);
    }
  };

  class AttributeName :
    public virtual SALOMEDS::_impl_AttributeName,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeName();

    inline ::SALOMEDS::AttributeName_ptr _this() {
      return (::SALOMEDS::AttributeName_ptr) _do_this(::SALOMEDS::AttributeName::_PD_repoId);
    }
  };

  class AttributeComment :
    public virtual SALOMEDS::_impl_AttributeComment,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeComment();

    inline ::SALOMEDS::AttributeComment_ptr _this() {
      return (::SALOMEDS::AttributeComment_ptr) _do_this(::SALOMEDS::AttributeComment::_PD_repoId);
    }
  };

  class AttributeString :
    public virtual SALOMEDS::_impl_AttributeString,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeString();

    inline ::SALOMEDS::AttributeString_ptr _this() {
      return (::SALOMEDS::AttributeString_ptr) _do_this(::SALOMEDS::AttributeString::_PD_repoId);
    }
  };

  class AttributeIOR :
    public virtual SALOMEDS::_impl_AttributeIOR,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeIOR();

    inline ::SALOMEDS::AttributeIOR_ptr _this() {
      return (::SALOMEDS::AttributeIOR_ptr) _do_this(::SALOMEDS::AttributeIOR::_PD_repoId);
    }
  };

  class AttributePersistentRef :
    public virtual SALOMEDS::_impl_AttributePersistentRef,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributePersistentRef();

    inline ::SALOMEDS::AttributePersistentRef_ptr _this() {
      return (::SALOMEDS::AttributePersistentRef_ptr) _do_this(::SALOMEDS::AttributePersistentRef::_PD_repoId);
    }
  };

  class AttributeExternalFileDef :
    public virtual SALOMEDS::_impl_AttributeExternalFileDef,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeExternalFileDef();

    inline ::SALOMEDS::AttributeExternalFileDef_ptr _this() {
      return (::SALOMEDS::AttributeExternalFileDef_ptr) _do_this(::SALOMEDS::AttributeExternalFileDef::_PD_repoId);
    }
  };

  class AttributeFileType :
    public virtual SALOMEDS::_impl_AttributeFileType,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeFileType();

    inline ::SALOMEDS::AttributeFileType_ptr _this() {
      return (::SALOMEDS::AttributeFileType_ptr) _do_this(::SALOMEDS::AttributeFileType::_PD_repoId);
    }
  };

  class AttributeDrawable :
    public virtual SALOMEDS::_impl_AttributeDrawable,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeDrawable();

    inline ::SALOMEDS::AttributeDrawable_ptr _this() {
      return (::SALOMEDS::AttributeDrawable_ptr) _do_this(::SALOMEDS::AttributeDrawable::_PD_repoId);
    }
  };

  class AttributeSelectable :
    public virtual SALOMEDS::_impl_AttributeSelectable,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeSelectable();

    inline ::SALOMEDS::AttributeSelectable_ptr _this() {
      return (::SALOMEDS::AttributeSelectable_ptr) _do_this(::SALOMEDS::AttributeSelectable::_PD_repoId);
    }
  };

  class AttributeExpandable :
    public virtual SALOMEDS::_impl_AttributeExpandable,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeExpandable();

    inline ::SALOMEDS::AttributeExpandable_ptr _this() {
      return (::SALOMEDS::AttributeExpandable_ptr) _do_this(::SALOMEDS::AttributeExpandable::_PD_repoId);
    }
  };

  class AttributeFlags :
    public virtual SALOMEDS::_impl_AttributeFlags,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeFlags();

    inline ::SALOMEDS::AttributeFlags_ptr _this() {
      return (::SALOMEDS::AttributeFlags_ptr) _do_this(::SALOMEDS::AttributeFlags::_PD_repoId);
    }
  };

  class AttributeGraphic :
    public virtual SALOMEDS::_impl_AttributeGraphic,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeGraphic();

    inline ::SALOMEDS::AttributeGraphic_ptr _this() {
      return (::SALOMEDS::AttributeGraphic_ptr) _do_this(::SALOMEDS::AttributeGraphic::_PD_repoId);
    }
  };

  class AttributeOpened :
    public virtual SALOMEDS::_impl_AttributeOpened,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeOpened();

    inline ::SALOMEDS::AttributeOpened_ptr _this() {
      return (::SALOMEDS::AttributeOpened_ptr) _do_this(::SALOMEDS::AttributeOpened::_PD_repoId);
    }
  };

  class AttributeTextColor :
    public virtual SALOMEDS::_impl_AttributeTextColor,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeTextColor();

    inline ::SALOMEDS::AttributeTextColor_ptr _this() {
      return (::SALOMEDS::AttributeTextColor_ptr) _do_this(::SALOMEDS::AttributeTextColor::_PD_repoId);
    }
  };

  class AttributeTextHighlightColor :
    public virtual SALOMEDS::_impl_AttributeTextHighlightColor,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeTextHighlightColor();

    inline ::SALOMEDS::AttributeTextHighlightColor_ptr _this() {
      return (::SALOMEDS::AttributeTextHighlightColor_ptr) _do_this(::SALOMEDS::AttributeTextHighlightColor::_PD_repoId);
    }
  };

  class AttributePixMap :
    public virtual SALOMEDS::_impl_AttributePixMap,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributePixMap();

    inline ::SALOMEDS::AttributePixMap_ptr _this() {
      return (::SALOMEDS::AttributePixMap_ptr) _do_this(::SALOMEDS::AttributePixMap::_PD_repoId);
    }
  };

  class AttributeTreeNode :
    public virtual SALOMEDS::_impl_AttributeTreeNode,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeTreeNode();

    inline ::SALOMEDS::AttributeTreeNode_ptr _this() {
      return (::SALOMEDS::AttributeTreeNode_ptr) _do_this(::SALOMEDS::AttributeTreeNode::_PD_repoId);
    }
  };

  class AttributeLocalID :
    public virtual SALOMEDS::_impl_AttributeLocalID,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeLocalID();

    inline ::SALOMEDS::AttributeLocalID_ptr _this() {
      return (::SALOMEDS::AttributeLocalID_ptr) _do_this(::SALOMEDS::AttributeLocalID::_PD_repoId);
    }
  };

  class AttributeUserID :
    public virtual SALOMEDS::_impl_AttributeUserID,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeUserID();

    inline ::SALOMEDS::AttributeUserID_ptr _this() {
      return (::SALOMEDS::AttributeUserID_ptr) _do_this(::SALOMEDS::AttributeUserID::_PD_repoId);
    }
  };

  class AttributeTarget :
    public virtual SALOMEDS::_impl_AttributeTarget,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeTarget();

    inline ::SALOMEDS::AttributeTarget_ptr _this() {
      return (::SALOMEDS::AttributeTarget_ptr) _do_this(::SALOMEDS::AttributeTarget::_PD_repoId);
    }
  };

  class AttributeTable :
    public virtual SALOMEDS::_impl_AttributeTable,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeTable();

    inline ::SALOMEDS::AttributeTable_ptr _this() {
      return (::SALOMEDS::AttributeTable_ptr) _do_this(::SALOMEDS::AttributeTable::_PD_repoId);
    }
  };

  class AttributeTableOfInteger :
    public virtual SALOMEDS::_impl_AttributeTableOfInteger,
    public virtual AttributeTable
  {
  public:
    virtual ~AttributeTableOfInteger();

    inline ::SALOMEDS::AttributeTableOfInteger_ptr _this() {
      return (::SALOMEDS::AttributeTableOfInteger_ptr) _do_this(::SALOMEDS::AttributeTableOfInteger::_PD_repoId);
    }
  };

  class AttributeTableOfReal :
    public virtual SALOMEDS::_impl_AttributeTableOfReal,
    public virtual AttributeTable
  {
  public:
    virtual ~AttributeTableOfReal();

    inline ::SALOMEDS::AttributeTableOfReal_ptr _this() {
      return (::SALOMEDS::AttributeTableOfReal_ptr) _do_this(::SALOMEDS::AttributeTableOfReal::_PD_repoId);
    }
  };

  class AttributeTableOfString :
    public virtual SALOMEDS::_impl_AttributeTableOfString,
    public virtual AttributeTable
  {
  public:
    virtual ~AttributeTableOfString();

    inline ::SALOMEDS::AttributeTableOfString_ptr _this() {
      return (::SALOMEDS::AttributeTableOfString_ptr) _do_this(::SALOMEDS::AttributeTableOfString::_PD_repoId);
    }
  };

  class AttributeStudyProperties :
    public virtual SALOMEDS::_impl_AttributeStudyProperties,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeStudyProperties();

    inline ::SALOMEDS::AttributeStudyProperties_ptr _this() {
      return (::SALOMEDS::AttributeStudyProperties_ptr) _do_this(::SALOMEDS::AttributeStudyProperties::_PD_repoId);
    }
  };

  class AttributePythonObject :
    public virtual SALOMEDS::_impl_AttributePythonObject,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributePythonObject();

    inline ::SALOMEDS::AttributePythonObject_ptr _this() {
      return (::SALOMEDS::AttributePythonObject_ptr) _do_this(::SALOMEDS::AttributePythonObject::_PD_repoId);
    }
  };

  class AttributeParameter :
    public virtual SALOMEDS::_impl_AttributeParameter,
    public virtual GenericAttribute
  {
  public:
    virtual ~AttributeParameter();

    inline ::SALOMEDS::AttributeParameter_ptr _this() {
      return (::SALOMEDS::AttributeParameter_ptr) _do_this(::SALOMEDS::AttributeParameter::_PD_repoId);
    }
  };

_CORBA_MODULE_END



_CORBA_MODULE OBV_SALOMEDS
_CORBA_MODULE_BEG

_CORBA_MODULE_END





#undef _core_attr
#undef _dyn_attr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectIndex& _s);
void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectIndex* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectIndex*& _sp);

void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectArgumentLength& _s);
void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectArgumentLength* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOMEDS::AttributeTable::IncorrectArgumentLength*& _sp);

inline void operator >>=(SALOMEDS::AttributeTable::SortOrder _e, cdrStream& s) {
  ::operator>>=((::CORBA::ULong)_e, s);
}

inline void operator <<= (SALOMEDS::AttributeTable::SortOrder& _e, cdrStream& s) {
  ::CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  if (_0RL_e <= SALOMEDS::AttributeTable::DescendingOrder) {
    _e = (SALOMEDS::AttributeTable::SortOrder) _0RL_e;
  }
  else {
    OMNIORB_THROW(MARSHAL,_OMNI_NS(MARSHAL_InvalidEnumValue),
                  (::CORBA::CompletionStatus)s.completion());
  }
}

void operator<<=(::CORBA::Any& _a, SALOMEDS::AttributeTable::SortOrder _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOMEDS::AttributeTable::SortOrder& _s);

inline void operator >>=(SALOMEDS::AttributeTable::SortPolicy _e, cdrStream& s) {
  ::operator>>=((::CORBA::ULong)_e, s);
}

inline void operator <<= (SALOMEDS::AttributeTable::SortPolicy& _e, cdrStream& s) {
  ::CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  if (_0RL_e <= SALOMEDS::AttributeTable::EmptyIgnore) {
    _e = (SALOMEDS::AttributeTable::SortPolicy) _0RL_e;
  }
  else {
    OMNIORB_THROW(MARSHAL,_OMNI_NS(MARSHAL_InvalidEnumValue),
                  (::CORBA::CompletionStatus)s.completion());
  }
}

void operator<<=(::CORBA::Any& _a, SALOMEDS::AttributeTable::SortPolicy _s);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, SALOMEDS::AttributeTable::SortPolicy& _s);

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

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

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

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

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

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

void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeParameter::InvalidIdentifier& _s);
void operator<<=(::CORBA::Any& _a, const SALOMEDS::AttributeParameter::InvalidIdentifier* _sp);
_CORBA_Boolean operator>>=(const ::CORBA::Any& _a, const SALOMEDS::AttributeParameter::InvalidIdentifier*& _sp);

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



inline void
SALOMEDS::AttributeReal::_marshalObjRef(::SALOMEDS::AttributeReal_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeInteger::_marshalObjRef(::SALOMEDS::AttributeInteger_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeSequenceOfReal::_marshalObjRef(::SALOMEDS::AttributeSequenceOfReal_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeSequenceOfInteger::_marshalObjRef(::SALOMEDS::AttributeSequenceOfInteger_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeName::_marshalObjRef(::SALOMEDS::AttributeName_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeComment::_marshalObjRef(::SALOMEDS::AttributeComment_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeString::_marshalObjRef(::SALOMEDS::AttributeString_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeIOR::_marshalObjRef(::SALOMEDS::AttributeIOR_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributePersistentRef::_marshalObjRef(::SALOMEDS::AttributePersistentRef_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeExternalFileDef::_marshalObjRef(::SALOMEDS::AttributeExternalFileDef_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeFileType::_marshalObjRef(::SALOMEDS::AttributeFileType_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeDrawable::_marshalObjRef(::SALOMEDS::AttributeDrawable_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeSelectable::_marshalObjRef(::SALOMEDS::AttributeSelectable_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeExpandable::_marshalObjRef(::SALOMEDS::AttributeExpandable_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeFlags::_marshalObjRef(::SALOMEDS::AttributeFlags_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeGraphic::_marshalObjRef(::SALOMEDS::AttributeGraphic_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeOpened::_marshalObjRef(::SALOMEDS::AttributeOpened_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTextColor::_marshalObjRef(::SALOMEDS::AttributeTextColor_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTextHighlightColor::_marshalObjRef(::SALOMEDS::AttributeTextHighlightColor_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributePixMap::_marshalObjRef(::SALOMEDS::AttributePixMap_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTreeNode::_marshalObjRef(::SALOMEDS::AttributeTreeNode_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeLocalID::_marshalObjRef(::SALOMEDS::AttributeLocalID_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeUserID::_marshalObjRef(::SALOMEDS::AttributeUserID_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTarget::_marshalObjRef(::SALOMEDS::AttributeTarget_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTable::_marshalObjRef(::SALOMEDS::AttributeTable_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTableOfInteger::_marshalObjRef(::SALOMEDS::AttributeTableOfInteger_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTableOfReal::_marshalObjRef(::SALOMEDS::AttributeTableOfReal_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeTableOfString::_marshalObjRef(::SALOMEDS::AttributeTableOfString_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeStudyProperties::_marshalObjRef(::SALOMEDS::AttributeStudyProperties_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributePythonObject::_marshalObjRef(::SALOMEDS::AttributePythonObject_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
SALOMEDS::AttributeParameter::_marshalObjRef(::SALOMEDS::AttributeParameter_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}




#ifdef   USE_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
# undef  USE_stub_in_nt_dll
# undef  USE_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
#endif
#ifdef   USE_core_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
# undef  USE_core_stub_in_nt_dll
# undef  USE_core_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
#endif
#ifdef   USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
# undef  USE_dyn_stub_in_nt_dll
# undef  USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOMEDS__Attributes
#endif

#endif  // __SALOMEDS__Attributes_hh__

