Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[samples/component.git] / idl / DataStreamComponent.idl
1 //  Copyright (C) 2005 CEA/DEN, EDF R&D
2 // 
3 //  This library is free software; you can redistribute it and/or 
4 //  modify it under the terms of the GNU Lesser General Public 
5 //  License as published by the Free Software Foundation; either 
6 //  version 2.1 of the License. 
7 // 
8 //  This library is distributed in the hope that it will be useful, 
9 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 //  Lesser General Public License for more details. 
12 // 
13 //  You should have received a copy of the GNU Lesser General Public 
14 //  License along with this library; if not, write to the Free Software 
15 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
16 // 
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 //
20 //
21 //  File   : DataStreamComponent.idl
22 //  Author : Jean Rahuel
23
24 #ifndef _DATASTREAMCOMPONENT_IDL
25 #define _DATASTREAMCOMPONENT_IDL
26
27 #include "SALOME_Component.idl"
28
29 module DataStreamComponent {
30
31   interface DataStream ;
32
33   interface DataStreamFactory : Engines::Component {
34
35     // DataStreamPorts Setxy istream(INTEGER, in, T), ostream(INTEGER, out, T)
36     void Setxy( in long x , in long y ) ;
37
38     void Getxy( out long x , out long y ) ;
39
40      // DataStreamPorts Add istream(INTEGER, in, I), ostream(INTEGER, out, I), OStream(INTEGER, out, I )
41     void Add( in long x , in long y , out long z ) ;
42
43      // DataStreamPorts Sub istream(INTEGER, in, I), Istream(INTEGER, in, I)
44     void Sub( in long x , in long y , out long z ) ;
45
46     void Mul( in long x , in long y , out long z ) ;
47
48     // DataStreamPorts Div ostream(INTEGER, out, I)
49     void Div( in long x , in long y , out long z ) ;
50
51     DataStream NewDataStream() ;
52
53   };
54
55   interface DataStream : Engines::Component {
56
57     // DataStreamPorts StreamSetxy istream(INTEGER, in, T), ostream(INTEGER, out, T)
58     void StreamSetxy( in long x , in long y ) ;
59
60     void StreamGetxy( out long x , out long y ) ;
61
62      // DataStreamPorts StreamAdd istream(INTEGER, in, I), ostream(INTEGER, out, I), OStream(INTEGER, out, I )
63     void StreamAdd( in long x , in long y , out long z ) ;
64      // DataStreamPorts StreamSub istream(INTEGER, in, I), Istream(INTEGER, in, I)
65     void StreamSub( in long x , in long y , out long z ) ;
66     void StreamMul( in long x , in long y , out long z ) ;
67     // DataStreamPorts StreamDiv ostream(INTEGER, out, I)
68     void StreamDiv( in long x , in long y , out long z ) ;
69
70   };
71
72 } ;
73
74 #endif