-// André Ribes - EDF R&D 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+//
+//
+// File : basic_port_factory.cxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
#include "basic_port_factory.hxx"
-// André Ribes - EDF R&D 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+//
+//
+// File : basic_port_factory.hxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
#ifndef _BASIC_PORT_FACTORY_HXX_
#define _BASIC_PORT_FACTORY_HXX_
using namespace std;
+/*! \class basic_port_factory
+ * \brief This class is an example of factory for DSC_User ports.
+ *
+ * This class implements the methods to be able
+ * to be used by Superv_Component_i.
+ * It builds basic ports.
+ */
class basic_port_factory
{
public:
basic_port_factory();
virtual ~basic_port_factory();
+ /*!
+ * This method creates a provides port of Basic ports.
+ *
+ * \param type the basic port's type.
+ * \return a pointer of the provides port.
+ */
virtual provides_port * create_data_servant(string type);
+
+ /*!
+ * This method creates a uses port of Basic ports.
+ *
+ * \param type the basic port's type.
+ * \return a pointer of the uses port.
+ */
virtual uses_port * create_data_proxy(string type);
};
-// André Ribes EDF R&D - 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File : data_short_port_provides.cxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
+
#include "data_short_port_provides.hxx"
data_short_port_provides::data_short_port_provides() {
return _val;
}
-CORBA::Short
-data_short_port_provides::get_local() {
- return _val;
-}
-
Ports::Port_ptr
data_short_port_provides::get_port_ref() {
return this->_this();
-// André Ribes EDF R&D - 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File : data_short_port_provides.hxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
#ifndef _DATA_SHORT_PORT_PROVIDES_HXX_
#define _DATA_SHORT_PORT_PROVIDES_HXX_
#include "SALOME_Ports.hh"
#include "provides_port.hxx"
+/*! \class data_short_port_provides
+ * \brief This class a port that sends a CORBA short with
+ * the basic port policy.
+ */
class data_short_port_provides :
public virtual POA_Ports::Data_Short_Port,
public virtual provides_port
data_short_port_provides();
virtual ~data_short_port_provides();
+ /*!
+ * This method implements the CORBA method of the interface.
+ * \see Ports::Data_Short_Port::put
+ */
virtual void put(CORBA::Short data);
+
+ /*!
+ * This method is used by the component to get
+ * the last value received.
+ *
+ * \return the last value received (default 0).
+ */
virtual CORBA::Short get();
- virtual CORBA::Short get_local();
+ /*!
+ * This method gives the port CORBA reference.
+ *
+ * \return port's CORBA reference.
+ */
virtual Ports::Port_ptr get_port_ref();
private :
-// André Ribes EDF R&D - 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+//
+//
+// File : data_short_port_uses.cxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
#include "data_short_port_uses.hxx"
#include <iostream>
-// André Ribes EDF R&D - 2006
+// Copyright (C) 2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+//
+//
+// File : data_short_port_uses.hxx
+// Author : André RIBES (EDF)
+// Module : KERNEL
#ifndef _DATA_SHORT_PORT_USES_HXX_
#define _DATA_SHORT_PORT_USES_HXX_
#include "uses_port.hxx"
#include "SALOME_Ports.hh"
+/*! \class data_short_port_uses
+ * \brief This class a port that sends a CORBA short with
+ * the basic port policy.
+ */
class data_short_port_uses :
public virtual uses_port
{
data_short_port_uses();
virtual ~data_short_port_uses();
+ /*!
+ * This method is used by the component to get
+ * port's CORBA repository id
+ *
+ * \return port's CORBA repository id
+ */
virtual const char * get_repository_id();
+
+ /*!
+ * \warning deprecated
+ */
virtual bool set_port(Ports::Port_ptr port);
+ /*!
+ * This method is used by the component to send
+ * a short value to all the provides ports connected.
+ *
+ * \param data the short sended.
+ */
virtual void put(CORBA::Short data);
+ /*!
+ * This method is a callback for be aware of modification
+ * of the port's connections.
+ *
+ * \param new_uses_port the new uses port's sequence.
+ * \param message message associated to the modification.
+ */
virtual void uses_port_changed(Engines::DSC::uses_port * new_uses_port,
const Engines::DSC::Message message);