Salome HOME
b28de206155295529ae76d74e8ceb8ec10d7dd0c
[modules/kernel.git] / src / DSC / DSC_User / Basic / data_short_port_uses.cxx
1 // Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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.
10 //
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.
15 //
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
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 //  File   : data_short_port_uses.cxx
24 //  Author : AndrĂ© RIBES (EDF)
25 //  Module : KERNEL
26 //
27 #include "data_short_port_uses.hxx"
28 #include <iostream>
29
30 data_short_port_uses::data_short_port_uses() {
31   _my_ports = NULL;
32 }
33
34 data_short_port_uses::~data_short_port_uses() {}
35
36 const char *
37 data_short_port_uses::get_repository_id() {
38   return "IDL:Ports/Data_Short_Port:1.0";
39 }
40
41 void
42 data_short_port_uses::put(CORBA::Short data) {
43 //  if (!CORBA::is_nil(_my_port))
44 //    _my_port->put(data);
45   if (!_my_ports)
46     std::cerr << "data_short_port_uses::put is NULL" << std::endl;
47   else
48   {
49     for(int i = 0; i < (int)_my_ports->length(); i++) //TODO: mismatch signed/unsigned
50     {
51       Ports::Data_Short_Port_ptr port = Ports::Data_Short_Port::_narrow((*_my_ports)[i]);
52       port->put(data);
53     }
54   }
55 }
56
57 void 
58 data_short_port_uses::uses_port_changed(Engines::DSC::uses_port * new_uses_port,
59                        const Engines::DSC::Message /*message*/)
60 {
61   if (_my_ports)
62     delete _my_ports;
63
64   std::cerr << "data_short_port_uses::uses_port_changed" << std::endl;
65   _my_ports = new Engines::DSC::uses_port(*new_uses_port);
66 }