Salome HOME
621d97c2ce172df7956d31030536a71bebf8100f
[samples/component.git] / idl / SyrComponent.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   : SyrComponent.idl
22 //  Author : Jean Rahuel
23
24 #ifndef _SYRCOMPONENT_IDL
25 #define _SYRCOMPONENT_IDL
26
27 #include "SALOME_Component.idl"
28
29 module SuperVisionTest {
30
31   typedef sequence<long> SeqOfSyr ;
32
33   interface ListOfSyr ;
34
35   interface Syr ;
36
37   interface SyrComponent : Engines::Component {
38
39     long C_ISEVEN( in long anInteger ) ;
40     long C_ISONE( in long anOddInteger ) ;
41     long C_M3( in long anOddInteger ) ;
42     long C_M3P1( in long anOddInteger ) ;
43     long C_DIV2( in long anEvenInteger ) ;
44     long C_INCR( in long aCount ) ;
45     void CPP_SETLONG( in long aLong ) ;
46     long CPP_ADDTOLONG( in long anIncr ) ;
47     long C_MIN( in long aMinVal , in long anInteger ) ;
48     long C_MAX( in long aMaxVal , in long anInteger ) ;
49     ListOfSyr C_LISTOFSYR() ;
50     ListOfSyr C_AVERAGE( in ListOfSyr aListOfSyr , in long anInteger ,
51                          in long aCount , out double anAverage ) ;
52
53     Syr Init( in long anOddInteger ) ;
54
55   };
56
57   interface ListOfSyr : Engines::Component {
58     SuperVisionTest::SeqOfSyr GetSeqOfSyr() ;
59     void SetSeqOfSyr( in SuperVisionTest::SeqOfSyr aSeqOfSyr ) ;
60   };
61
62   interface Syr : SyrComponent {
63
64     long Initial() ;
65     long Current() ;
66     long IsEven() ;
67     long IsOne() ;
68     long Count() ;
69     void M3p1() ;
70     void Div2() ;
71     void Incr() ;
72
73   };
74
75 } ;
76
77 #endif