Salome HOME
New CMake implementation
[modules/med.git] / idl / MEDCouplingCorbaServant.idl
1 // Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
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 // Author : Anthony Geay (CEA/DEN)
20
21 #ifndef __MEDCOUPLINGCORBASERVANT_IDL__
22 #define __MEDCOUPLINGCORBASERVANT_IDL__
23
24 #include "SALOME_Types.idl"
25 #include "SALOME_GenericObj.idl"
26
27 module SALOME_MED
28 {
29   interface MEDCouplingTimeLabelCorbaInterface
30   {
31     long getTimeLabel();
32     string versionStr();
33     void versionMajMinRel(out long maj, out long min, out long releas);
34   };
35
36   interface MEDCouplingRefCountCorbaInterface : SALOME::ExportableObject, MEDCouplingTimeLabelCorbaInterface
37   {
38   };
39
40   interface DataArrayCorbaInterface : MEDCouplingRefCountCorbaInterface
41   {
42     string getName();
43     SALOME_TYPES::ListOfString getInfoOnComponents();
44   };
45
46   interface DataArrayDoubleCorbaInterface : DataArrayCorbaInterface
47   {
48     void getTinyInfo(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfString sa);
49     void getSerialisationData(out SALOME_TYPES::ListOfDouble da);
50   };
51
52   interface DataArrayIntCorbaInterface : DataArrayCorbaInterface
53   {
54     void getTinyInfo(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfString sa);
55     void getSerialisationData(out SALOME_TYPES::ListOfLong la);
56   };
57
58   interface MEDCouplingMeshCorbaInterface : MEDCouplingRefCountCorbaInterface
59   {
60     string getName();
61     //!CORBA inplementation of MEDCouplingPointSet::getTinySerializationInformation
62     void getTinyInfo(out SALOME_TYPES::ListOfDouble da, out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfString sa);
63     void getSerialisationData(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da);
64   };
65
66   interface MEDCouplingPointSetCorbaInterface : MEDCouplingMeshCorbaInterface
67   {
68     DataArrayDoubleCorbaInterface getCoords();
69   };
70
71   interface MEDCouplingUMeshCorbaInterface : MEDCouplingPointSetCorbaInterface
72   {
73   };
74
75   interface MEDCouplingExtrudedMeshCorbaInterface : MEDCouplingMeshCorbaInterface
76   {
77   };
78
79   interface MEDCouplingStructuredMeshCorbaInterface : MEDCouplingMeshCorbaInterface
80   {
81   };
82
83   interface MEDCouplingCMeshCorbaInterface : MEDCouplingStructuredMeshCorbaInterface
84   {
85   };
86
87   interface MEDCouplingCurveLinearMeshCorbaInterface : MEDCouplingStructuredMeshCorbaInterface
88   {
89   };
90
91   interface MEDCouplingFieldCorbaInterface : MEDCouplingRefCountCorbaInterface
92   {
93     MEDCouplingMeshCorbaInterface getMesh();
94   };
95   
96   interface MEDCouplingFieldTemplateCorbaInterface : MEDCouplingFieldCorbaInterface
97   {
98     //!returns the 3 tiny arrays to prepare the new instance locally.
99     void getTinyInfo(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da, out SALOME_TYPES::ListOfString sa);
100     void getSerialisationData(out SALOME_TYPES::ListOfLong la);
101   };
102
103   interface MEDCouplingFieldDoubleCorbaInterface : MEDCouplingFieldCorbaInterface
104   {
105     string getName();
106     SALOME_TYPES::ListOfString getInfoOnComponents();
107     //!returns the 3 tiny arrays to prepare the new instance locally.
108     void getTinyInfo(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da, out SALOME_TYPES::ListOfString sa);
109     void getSerialisationData(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble2 da2);
110   };
111
112   typedef sequence<MEDCouplingMeshCorbaInterface> MEDCouplingMeshesCorbaInterface;
113
114   interface MEDCouplingMultiFieldsCorbaInterface : MEDCouplingRefCountCorbaInterface
115   {
116     string getName();
117     SALOME_TYPES::ListOfString getInfoOnComponents();
118     long getMainTinyInfo(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da, out long nbOfArrays, out long nbOfFields);
119     //!for field templates
120     void getTinyInfo(in long id, out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da, out SALOME_TYPES::ListOfString sa);
121     void getSerialisationData(in long id, out SALOME_TYPES::ListOfLong la);
122     //!for arrays
123     DataArrayDoubleCorbaInterface getArray(in long id);
124     //! for meshes
125     MEDCouplingMeshesCorbaInterface getMeshes();
126     MEDCouplingMeshCorbaInterface getMeshWithId(in long id);
127   };
128
129   interface MEDCouplingFieldOverTimeCorbaInterface : MEDCouplingMultiFieldsCorbaInterface
130   {
131     void getTinyInfoAboutTimeDefinition(out SALOME_TYPES::ListOfLong la, out SALOME_TYPES::ListOfDouble da);
132   };
133 };
134
135 #endif