1 // Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 // Author : André RIBES (EDF)
30 #include "DSC_Basic.hxx"
37 #include "SALOME_Component_i.hxx"
38 #include "DSC_interface.hxx"
40 /*! \class Engines_DSC_i
41 * \brief This class implements the interface Engines::DSC
43 * The implementation of methods are performed by the class Engines_DSC_interface.
45 class DSC_BASIC_EXPORT Engines_DSC_i:
46 public Engines_Component_i, // keyword virtual is not use to be able to
47 // call the right Engines_Component_i constructor.
48 // If virtual is used, a derived class of Engines_DSC_i
49 // will have to call the right Engines_Component_i constructor.
50 public virtual POA_Engines::DSC,
51 public Engines_DSC_interface
54 Engines_DSC_i(CORBA::ORB_ptr orb,
55 PortableServer::POA_ptr poa,
56 PortableServer::ObjectId * contId,
57 const char *instanceName,
58 const char *interfaceName,
60 Engines_DSC_i(CORBA::ORB_ptr orb,
61 PortableServer::POA_ptr poa,
62 Engines::Container_ptr container,
63 const char *instanceName,
64 const char *interfaceName,
66 bool regist = false );
68 virtual ~Engines_DSC_i();
71 * \see Engines::DSC::add_provides_port
73 virtual void add_provides_port(Ports::Port_ptr ref,
74 const char* provides_port_name,
75 Ports::PortProperties_ptr port_prop)
77 Engines_DSC_interface::add_provides_port(ref,
83 * \see Engines::DSC::add_uses_port
85 virtual void add_uses_port(const char* repository_id,
86 const char* uses_port_name,
87 Ports::PortProperties_ptr port_prop)
89 Engines_DSC_interface::add_uses_port(repository_id,
95 * \see Engines::DSC::get_provides_port
97 virtual Ports::Port_ptr get_provides_port(const char* provides_port_name,
98 const CORBA::Boolean connection_error)
100 return Engines_DSC_interface::get_provides_port(provides_port_name,
105 * \see Engines::DSC::get_uses_port
107 virtual Engines::DSC::uses_port * get_uses_port(const char* uses_port_name)
109 return Engines_DSC_interface::get_uses_port(uses_port_name);
113 * \see Engines::DSC::connect_provides_port
115 virtual void connect_provides_port(const char* provides_port_name)
117 Engines_DSC_interface::connect_provides_port(provides_port_name);
121 * \see Engines::DSC::connect_uses_port
123 virtual void connect_uses_port(const char* uses_port_name,
124 Ports::Port_ptr provides_port_ref)
126 Engines_DSC_interface::connect_uses_port(uses_port_name,
131 * \see Engines::DSC::is_connected
133 virtual CORBA::Boolean is_connected(const char* port_name)
135 return Engines_DSC_interface::is_connected(port_name);
139 * \see Engines::DSC::disconnect_provides_port
141 virtual void disconnect_provides_port(const char* provides_port_name,
142 const Engines::DSC::Message message)
144 Engines_DSC_interface::disconnect_provides_port(provides_port_name,
149 * \see Engines::DSC::disconnect_uses_port
151 virtual void disconnect_uses_port(const char* uses_port_name,
152 Ports::Port_ptr provides_port_ref,
153 const Engines::DSC::Message message)
155 Engines_DSC_interface::disconnect_uses_port(uses_port_name,
161 * \see Engines::DSC::get_port_properties
163 virtual Ports::PortProperties_ptr get_port_properties(const char* port_name)
165 return Engines_DSC_interface::get_port_properties(port_name);