Salome HOME
Merge from BR_V5_DEV 17Feb09
[samples/component.git] / idl / DataStreamComponent.idl
1 //  Copyright (C) 2007-2008  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.
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 //  File   : DataStreamComponent.idl
23 //  Author : Jean Rahuel
24 //
25 #ifndef _DATASTREAMCOMPONENT_IDL
26 #define _DATASTREAMCOMPONENT_IDL
27
28 #include "SALOME_Component.idl"
29
30 module DataStreamComponent {
31
32   interface DataStream ;
33
34   interface DataStreamFactory : Engines::Component {
35
36     // DataStreamPorts Setxy istream(INTEGER, in, T), ostream(INTEGER, out, T)
37     void Setxy( in long x , in long y ) ;
38
39     void Getxy( out long x , out long y ) ;
40
41      // DataStreamPorts Add istream(INTEGER, in, I), ostream(INTEGER, out, I), OStream(INTEGER, out, I )
42     void Add( in long x , in long y , out long z ) ;
43
44      // DataStreamPorts Sub istream(INTEGER, in, I), Istream(INTEGER, in, I)
45     void Sub( in long x , in long y , out long z ) ;
46
47     void Mul( in long x , in long y , out long z ) ;
48
49     // DataStreamPorts Div ostream(INTEGER, out, I)
50     void Div( in long x , in long y , out long z ) ;
51
52     DataStream NewDataStream() ;
53
54   };
55
56   interface DataStream : Engines::Component {
57
58     // DataStreamPorts StreamSetxy istream(INTEGER, in, T), ostream(INTEGER, out, T)
59     void StreamSetxy( in long x , in long y ) ;
60
61     void StreamGetxy( out long x , out long y ) ;
62
63      // DataStreamPorts StreamAdd istream(INTEGER, in, I), ostream(INTEGER, out, I), OStream(INTEGER, out, I )
64     void StreamAdd( in long x , in long y , out long z ) ;
65      // DataStreamPorts StreamSub istream(INTEGER, in, I), Istream(INTEGER, in, I)
66     void StreamSub( in long x , in long y , out long z ) ;
67     void StreamMul( in long x , in long y , out long z ) ;
68     // DataStreamPorts StreamDiv ostream(INTEGER, out, I)
69     void StreamDiv( in long x , in long y , out long z ) ;
70
71   };
72
73 } ;
74
75 #endif