Salome HOME
5ffe1a5dba89c324b55db99477e2d1cd85a46e6a
[modules/superv.git] / src / GraphBase / DataFlowBase_Service.cxx
1 //  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
2 //
3 //  Copyright (C) 2003  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. 
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 //
24 //  File   : DataFlowBase_Service.cxx
25 //  Author : Jean Rahuel, CEA
26 //  Module : SUPERV
27 //  $Header:
28
29 using namespace std;
30 #include "DataFlowBase_Service.hxx"
31
32 void GraphBase::Service::SetService( const SALOME_ModuleCatalog::Service aService ) {
33   
34   _Service.ServiceName = CORBA::string_dup( aService.ServiceName ) ;
35   _Service.ServiceinParameter.length( aService.ServiceinParameter.length() ) ;
36   _Service.ServiceoutParameter.length( aService.ServiceoutParameter.length() ) ;
37   int i ;
38   for ( i = 0 ; i < (int ) _Service.ServiceinParameter.length() ; i++ ) {
39     _Service.ServiceinParameter[ i ].Parametertype = CORBA::string_dup( aService.ServiceinParameter[ i ].Parametertype ) ;
40     _Service.ServiceinParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceinParameter[ i ].Parametername ) ;
41   }
42   for ( i = 0 ; i < (int ) _Service.ServiceoutParameter.length() ; i++ ) {
43     _Service.ServiceoutParameter[ i ].Parametertype = CORBA::string_dup( aService.ServiceoutParameter[ i ].Parametertype ) ;
44     _Service.ServiceoutParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceoutParameter[ i ].Parametername ) ;
45   }
46
47   _Service.ServiceinDataStreamParameter.length( aService.ServiceinDataStreamParameter.length() ) ;
48   _Service.ServiceoutDataStreamParameter.length( aService.ServiceoutDataStreamParameter.length() ) ;
49   for ( i = 0 ; i < (int ) _Service.ServiceinDataStreamParameter.length() ; i++ ) {
50     _Service.ServiceinDataStreamParameter[ i ].Parametertype = aService.ServiceinDataStreamParameter[ i ].Parametertype ;
51     _Service.ServiceinDataStreamParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceinDataStreamParameter[ i ].Parametername ) ;
52     _Service.ServiceinDataStreamParameter[ i ].Parameterdependency = aService.ServiceinDataStreamParameter[ i ].Parameterdependency ;
53   }
54   for ( i = 0 ; i < (int ) _Service.ServiceoutDataStreamParameter.length() ; i++ ) {
55     _Service.ServiceoutDataStreamParameter[ i ].Parametertype = aService.ServiceoutDataStreamParameter[ i ].Parametertype ;
56     _Service.ServiceoutDataStreamParameter[ i ].Parametername = CORBA::string_dup( aService.ServiceoutDataStreamParameter[ i ].Parametername ) ;
57     _Service.ServiceoutDataStreamParameter[ i ].Parameterdependency = aService.ServiceoutDataStreamParameter[ i ].Parameterdependency ;
58   }
59 //  cdebug << "GraphBase::Service::SetService : " << _Service << endl ;
60 //  _Instance = 0 ;
61 }
62
63 ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::Service & s ) {
64   f << "Name          " << s.ServiceName << endl ;
65   int i ;
66   for ( i = 0 ; i < (int ) s.ServiceinParameter.length() ; i++ ) {
67     if ( i == 0 )
68       f << "                 Inparameters  " << i ;
69     else
70       f << "                               " << i ;
71     f << ". " << s.ServiceinParameter[i].Parametername
72       << ". " << s.ServiceinParameter[i].Parametertype << endl ;
73   }
74   for ( i = 0 ; i < (int ) s.ServiceoutParameter.length() ; i++ ) {
75     if ( i == 0 )
76       f << "                 Outparameters " << i ;
77     else
78       f << "                               " << i ;
79     f << ". " << s.ServiceoutParameter[i].Parametername
80       << ". " << s.ServiceoutParameter[i].Parametertype << endl ;
81   }
82   for ( i = 0 ; i < (int ) s.ServiceinDataStreamParameter.length() ; i++ ) {
83     if ( i == 0 )
84       f << "                 InStreamparameters  " << i ;
85     else
86       f << "                                     " << i ;
87     f << ". " << s.ServiceinDataStreamParameter[i].Parametername
88       << ". " << s.ServiceinDataStreamParameter[i].Parametertype
89       << ". " << s.ServiceinDataStreamParameter[i].Parameterdependency << endl ;
90   }
91   for ( i = 0 ; i < (int ) s.ServiceoutDataStreamParameter.length() ; i++ ) {
92     if ( i == 0 )
93       f << "                 OutStreamparameters " << i ;
94     else
95       f << "                                     " << i ;
96     f << ". " << s.ServiceoutDataStreamParameter[i].Parametername
97       << ". " << s.ServiceoutDataStreamParameter[i].Parametertype
98       << ". " << s.ServiceoutDataStreamParameter[i].Parameterdependency << endl ;
99   }
100   return f;
101 }
102