// This file is generated by omniidl (C++ backend)- omniORB_4_1. Do not edit.
#ifndef __SALOME__Ports_hh__
#define __SALOME__Ports_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_SALOME__Ports
#endif
#ifndef  USE_core_stub_in_nt_dll
# define USE_core_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
#endif
#ifndef  USE_dyn_stub_in_nt_dll
# define USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
#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 Ports

_CORBA_MODULE_BEG

#ifndef __Ports_mPort__
#define __Ports_mPort__

  class Port;
  class _objref_Port;
  class _impl_Port;
  
  typedef _objref_Port* Port_ptr;
  typedef Port_ptr PortRef;

  class Port_Helper {
  public:
    typedef Port_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_Port, Port_Helper> Port_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_Port,Port_Helper > Port_out;

#endif

  // interface Port
  class Port {
  public:
    // Declarations for this interface type.
    typedef Port_ptr _ptr_type;
    typedef Port_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_Port :
    public virtual ::CORBA::Object,
    public virtual omniObjRef
  {
  public:
    

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

  protected:
    virtual ~_objref_Port();

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

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

    friend class Port;
  };

  class _pof_Port : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_Port() : _OMNI_NS(proxyObjectFactory)(Port::_PD_repoId) {}
    virtual ~_pof_Port();

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

  class _impl_Port :
    public virtual omniServant
  {
  public:
    virtual ~_impl_Port();

    
    
  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_Port;

#ifndef __Ports_mControl__Port__
#define __Ports_mControl__Port__

  class Control_Port;
  class _objref_Control_Port;
  class _impl_Control_Port;
  
  typedef _objref_Control_Port* Control_Port_ptr;
  typedef Control_Port_ptr Control_PortRef;

  class Control_Port_Helper {
  public:
    typedef Control_Port_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_Control_Port, Control_Port_Helper> Control_Port_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_Control_Port,Control_Port_Helper > Control_Port_out;

#endif

  // interface Control_Port
  class Control_Port {
  public:
    // Declarations for this interface type.
    typedef Control_Port_ptr _ptr_type;
    typedef Control_Port_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_Control_Port :
    public virtual _objref_Port
  {
  public:
    

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

  protected:
    virtual ~_objref_Control_Port();

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

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

    friend class Control_Port;
  };

  class _pof_Control_Port : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_Control_Port() : _OMNI_NS(proxyObjectFactory)(Control_Port::_PD_repoId) {}
    virtual ~_pof_Control_Port();

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

  class _impl_Control_Port :
    public virtual _impl_Port
  {
  public:
    virtual ~_impl_Control_Port();

    
    
  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_Control_Port;

#ifndef __Ports_mData__Port__
#define __Ports_mData__Port__

  class Data_Port;
  class _objref_Data_Port;
  class _impl_Data_Port;
  
  typedef _objref_Data_Port* Data_Port_ptr;
  typedef Data_Port_ptr Data_PortRef;

  class Data_Port_Helper {
  public:
    typedef Data_Port_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_Data_Port, Data_Port_Helper> Data_Port_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_Data_Port,Data_Port_Helper > Data_Port_out;

#endif

  // interface Data_Port
  class Data_Port {
  public:
    // Declarations for this interface type.
    typedef Data_Port_ptr _ptr_type;
    typedef Data_Port_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_Data_Port :
    public virtual _objref_Port
  {
  public:
    

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

  protected:
    virtual ~_objref_Data_Port();

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

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

    friend class Data_Port;
  };

  class _pof_Data_Port : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_Data_Port() : _OMNI_NS(proxyObjectFactory)(Data_Port::_PD_repoId) {}
    virtual ~_pof_Data_Port();

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

  class _impl_Data_Port :
    public virtual _impl_Port
  {
  public:
    virtual ~_impl_Data_Port();

    
    
  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_Data_Port;

#ifndef __Ports_mData__And__Control__Port__
#define __Ports_mData__And__Control__Port__

  class Data_And_Control_Port;
  class _objref_Data_And_Control_Port;
  class _impl_Data_And_Control_Port;
  
  typedef _objref_Data_And_Control_Port* Data_And_Control_Port_ptr;
  typedef Data_And_Control_Port_ptr Data_And_Control_PortRef;

  class Data_And_Control_Port_Helper {
  public:
    typedef Data_And_Control_Port_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_Data_And_Control_Port, Data_And_Control_Port_Helper> Data_And_Control_Port_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_Data_And_Control_Port,Data_And_Control_Port_Helper > Data_And_Control_Port_out;

#endif

  // interface Data_And_Control_Port
  class Data_And_Control_Port {
  public:
    // Declarations for this interface type.
    typedef Data_And_Control_Port_ptr _ptr_type;
    typedef Data_And_Control_Port_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_Data_And_Control_Port :
    public virtual _objref_Port
  {
  public:
    

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

  protected:
    virtual ~_objref_Data_And_Control_Port();

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

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

    friend class Data_And_Control_Port;
  };

  class _pof_Data_And_Control_Port : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_Data_And_Control_Port() : _OMNI_NS(proxyObjectFactory)(Data_And_Control_Port::_PD_repoId) {}
    virtual ~_pof_Data_And_Control_Port();

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

  class _impl_Data_And_Control_Port :
    public virtual _impl_Port
  {
  public:
    virtual ~_impl_Data_And_Control_Port();

    
    
  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_Data_And_Control_Port;

  class NotDefined : public ::CORBA::UserException {
  public:
    
    

    inline NotDefined() {
      pd_insertToAnyFn    = insertToAnyFn;
      pd_insertToAnyFnNCP = insertToAnyFnNCP;
    }
    NotDefined(const NotDefined&);
    
    NotDefined& operator=(const NotDefined&);
    virtual ~NotDefined();
    virtual void _raise() const;
    static NotDefined* _downcast(::CORBA::Exception*);
    static const NotDefined* _downcast(const ::CORBA::Exception*);
    static inline NotDefined* _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;
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_NotDefined;

  class BadType : public ::CORBA::UserException {
  public:
    
    

    inline BadType() {
      pd_insertToAnyFn    = insertToAnyFn;
      pd_insertToAnyFnNCP = insertToAnyFnNCP;
    }
    BadType(const BadType&);
    
    BadType& operator=(const BadType&);
    virtual ~BadType();
    virtual void _raise() const;
    static BadType* _downcast(::CORBA::Exception*);
    static const BadType* _downcast(const ::CORBA::Exception*);
    static inline BadType* _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;
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_BadType;

  class BadValue : public ::CORBA::UserException {
  public:
    
    

    inline BadValue() {
      pd_insertToAnyFn    = insertToAnyFn;
      pd_insertToAnyFnNCP = insertToAnyFnNCP;
    }
    BadValue(const BadValue&);
    
    BadValue& operator=(const BadValue&);
    virtual ~BadValue();
    virtual void _raise() const;
    static BadValue* _downcast(::CORBA::Exception*);
    static const BadValue* _downcast(const ::CORBA::Exception*);
    static inline BadValue* _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;
  };

  _CORBA_MODULE_VAR _dyn_attr const ::CORBA::TypeCode_ptr _tc_BadValue;

#ifndef __Ports_mPortProperties__
#define __Ports_mPortProperties__

  class PortProperties;
  class _objref_PortProperties;
  class _impl_PortProperties;
  
  typedef _objref_PortProperties* PortProperties_ptr;
  typedef PortProperties_ptr PortPropertiesRef;

  class PortProperties_Helper {
  public:
    typedef PortProperties_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_PortProperties, PortProperties_Helper> PortProperties_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_PortProperties,PortProperties_Helper > PortProperties_out;

#endif

  // interface PortProperties
  class PortProperties {
  public:
    // Declarations for this interface type.
    typedef PortProperties_ptr _ptr_type;
    typedef PortProperties_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_PortProperties :
    public virtual ::CORBA::Object,
    public virtual omniObjRef
  {
  public:
    void set_property(const char* name, const ::CORBA::Any& value);
    ::CORBA::Any* get_property(const char* name);

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

  protected:
    virtual ~_objref_PortProperties();

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

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

    friend class PortProperties;
  };

  class _pof_PortProperties : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_PortProperties() : _OMNI_NS(proxyObjectFactory)(PortProperties::_PD_repoId) {}
    virtual ~_pof_PortProperties();

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

  class _impl_PortProperties :
    public virtual omniServant
  {
  public:
    virtual ~_impl_PortProperties();

    virtual void set_property(const char* name, const ::CORBA::Any& value) = 0;
    virtual ::CORBA::Any* get_property(const char* name) = 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_PortProperties;

#ifndef __Ports_mData__Short__Port__
#define __Ports_mData__Short__Port__

  class Data_Short_Port;
  class _objref_Data_Short_Port;
  class _impl_Data_Short_Port;
  
  typedef _objref_Data_Short_Port* Data_Short_Port_ptr;
  typedef Data_Short_Port_ptr Data_Short_PortRef;

  class Data_Short_Port_Helper {
  public:
    typedef Data_Short_Port_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_Data_Short_Port, Data_Short_Port_Helper> Data_Short_Port_var;
  typedef _CORBA_ObjRef_OUT_arg<_objref_Data_Short_Port,Data_Short_Port_Helper > Data_Short_Port_out;

#endif

  // interface Data_Short_Port
  class Data_Short_Port {
  public:
    // Declarations for this interface type.
    typedef Data_Short_Port_ptr _ptr_type;
    typedef Data_Short_Port_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_Data_Short_Port :
    public virtual _objref_Data_Port
  {
  public:
    void put(::CORBA::Short data);

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

  protected:
    virtual ~_objref_Data_Short_Port();

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

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

    friend class Data_Short_Port;
  };

  class _pof_Data_Short_Port : public _OMNI_NS(proxyObjectFactory) {
  public:
    inline _pof_Data_Short_Port() : _OMNI_NS(proxyObjectFactory)(Data_Short_Port::_PD_repoId) {}
    virtual ~_pof_Data_Short_Port();

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

  class _impl_Data_Short_Port :
    public virtual _impl_Data_Port
  {
  public:
    virtual ~_impl_Data_Short_Port();

    virtual void put(::CORBA::Short data) = 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_Data_Short_Port;

_CORBA_MODULE_END



_CORBA_MODULE POA_Ports
_CORBA_MODULE_BEG

  class Port :
    public virtual Ports::_impl_Port,
    public virtual ::PortableServer::ServantBase
  {
  public:
    virtual ~Port();

    inline ::Ports::Port_ptr _this() {
      return (::Ports::Port_ptr) _do_this(::Ports::Port::_PD_repoId);
    }
  };

  class Control_Port :
    public virtual Ports::_impl_Control_Port,
    public virtual Port
  {
  public:
    virtual ~Control_Port();

    inline ::Ports::Control_Port_ptr _this() {
      return (::Ports::Control_Port_ptr) _do_this(::Ports::Control_Port::_PD_repoId);
    }
  };

  class Data_Port :
    public virtual Ports::_impl_Data_Port,
    public virtual Port
  {
  public:
    virtual ~Data_Port();

    inline ::Ports::Data_Port_ptr _this() {
      return (::Ports::Data_Port_ptr) _do_this(::Ports::Data_Port::_PD_repoId);
    }
  };

  class Data_And_Control_Port :
    public virtual Ports::_impl_Data_And_Control_Port,
    public virtual Port
  {
  public:
    virtual ~Data_And_Control_Port();

    inline ::Ports::Data_And_Control_Port_ptr _this() {
      return (::Ports::Data_And_Control_Port_ptr) _do_this(::Ports::Data_And_Control_Port::_PD_repoId);
    }
  };

  class PortProperties :
    public virtual Ports::_impl_PortProperties,
    public virtual ::PortableServer::ServantBase
  {
  public:
    virtual ~PortProperties();

    inline ::Ports::PortProperties_ptr _this() {
      return (::Ports::PortProperties_ptr) _do_this(::Ports::PortProperties::_PD_repoId);
    }
  };

  class Data_Short_Port :
    public virtual Ports::_impl_Data_Short_Port,
    public virtual Data_Port
  {
  public:
    virtual ~Data_Short_Port();

    inline ::Ports::Data_Short_Port_ptr _this() {
      return (::Ports::Data_Short_Port_ptr) _do_this(::Ports::Data_Short_Port::_PD_repoId);
    }
  };

_CORBA_MODULE_END



_CORBA_MODULE OBV_Ports
_CORBA_MODULE_BEG

_CORBA_MODULE_END





#undef _core_attr
#undef _dyn_attr

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

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

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

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

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

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

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

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

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



inline void
Ports::Port::_marshalObjRef(::Ports::Port_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
Ports::Control_Port::_marshalObjRef(::Ports::Control_Port_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
Ports::Data_Port::_marshalObjRef(::Ports::Data_Port_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
Ports::Data_And_Control_Port::_marshalObjRef(::Ports::Data_And_Control_Port_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
Ports::PortProperties::_marshalObjRef(::Ports::PortProperties_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}


inline void
Ports::Data_Short_Port::_marshalObjRef(::Ports::Data_Short_Port_ptr obj, cdrStream& s) {
  omniObjRef::_marshal(obj->_PR_getobj(),s);
}




#ifdef   USE_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
# undef  USE_stub_in_nt_dll
# undef  USE_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
#endif
#ifdef   USE_core_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
# undef  USE_core_stub_in_nt_dll
# undef  USE_core_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
#endif
#ifdef   USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
# undef  USE_dyn_stub_in_nt_dll
# undef  USE_dyn_stub_in_nt_dll_NOT_DEFINED_SALOME__Ports
#endif

#endif  // __SALOME__Ports_hh__

