1 // Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #ifndef __MEDMEM_TRAITSFORFIELDS_HXX__
24 #define __MEDMEM_TRAITSFORFIELDS_HXX__
26 #include CORBA_SERVER_HEADER(MED)
27 #include "MEDMEM_Tags.hxx"
28 #include "MEDMEM_InterlacingPolicy.hxx"
32 template < typename T, typename INTERLACING_TAG >
35 typedef typename T::InterfaceForServant InterfaceForServant;
36 typedef typename T::FieldCorbaPtrType FieldCorbaPtrType;
37 typedef typename T::SimpleFieldCorbaPtrType SimpleFieldCorbaPtrType;
38 typedef typename T::SimpleFieldGlobalType SimpleFieldGlobalType;
39 typedef typename T::SeqType SeqType;
40 typedef typename T::SeqVarType SeqVarType;
41 typedef typename T::SenderPtrType SenderPtrType;
42 typedef typename T::SenderVarType SenderVarType;
46 struct FIELDI_TRAITS<double, FullInterlace>
48 typedef POA_SALOME_MED::FIELDDOUBLEFULL InterfaceForServant;
49 typedef SALOME_MED::FIELDDOUBLEFULL_ptr FieldCorbaPtrType;
50 typedef SALOME_MED::FIELDDOUBLE_ptr SimpleFieldCorbaPtrType;
51 typedef SALOME_MED::FIELDDOUBLE SimpleFieldGlobalType;
52 typedef SALOME_TYPES::ListOfDouble SeqType;
53 typedef SALOME_TYPES::ListOfDouble_var SeqVarType;
54 typedef SALOME::SenderDouble_ptr SenderPtrType;
55 typedef SALOME::SenderDouble_var SenderVarType;
59 struct FIELDI_TRAITS<double, NoInterlace>
61 typedef POA_SALOME_MED::FIELDDOUBLENO InterfaceForServant;
62 typedef SALOME_MED::FIELDDOUBLENO_ptr FieldCorbaPtrType;
63 typedef SALOME_MED::FIELDDOUBLE_ptr SimpleFieldCorbaPtrType;
64 typedef SALOME_MED::FIELDDOUBLE SimpleFieldGlobalType;
65 typedef SALOME_TYPES::ListOfDouble SeqType;
66 typedef SALOME_TYPES::ListOfDouble_var SeqVarType;
67 typedef SALOME::SenderDouble_ptr SenderPtrType;
68 typedef SALOME::SenderDouble_var SenderVarType;
72 struct FIELDI_TRAITS<double, NoInterlaceByType>
74 typedef POA_SALOME_MED::FIELDDOUBLENOBYTYPE InterfaceForServant;
75 typedef SALOME_MED::FIELDDOUBLENOBYTYPE_ptr FieldCorbaPtrType;
76 typedef SALOME_MED::FIELDDOUBLE_ptr SimpleFieldCorbaPtrType;
77 typedef SALOME_MED::FIELDDOUBLE SimpleFieldGlobalType;
78 typedef SALOME_TYPES::ListOfDouble SeqType;
79 typedef SALOME_TYPES::ListOfDouble_var SeqVarType;
80 typedef SALOME::SenderDouble_ptr SenderPtrType;
81 typedef SALOME::SenderDouble_var SenderVarType;
85 struct FIELDI_TRAITS<int, FullInterlace>
87 typedef POA_SALOME_MED::FIELDINTFULL InterfaceForServant;
88 typedef SALOME_MED::FIELDINTFULL_ptr FieldCorbaPtrType;
89 typedef SALOME_MED::FIELDINT_ptr SimpleFieldCorbaPtrType;
90 typedef SALOME_MED::FIELDINT SimpleFieldGlobalType;
91 typedef SALOME_TYPES::ListOfLong SeqType;
92 typedef SALOME_TYPES::ListOfLong_var SeqVarType;
93 typedef SALOME::SenderInt_ptr SenderPtrType;
94 typedef SALOME::SenderInt_var SenderVarType;
98 struct FIELDI_TRAITS<int, NoInterlace>
100 typedef POA_SALOME_MED::FIELDINTNO InterfaceForServant;
101 typedef SALOME_MED::FIELDINTNO_ptr FieldCorbaPtrType;
102 typedef SALOME_MED::FIELDINT_ptr SimpleFieldCorbaPtrType;
103 typedef SALOME_MED::FIELDINT SimpleFieldGlobalType;
104 typedef SALOME_TYPES::ListOfLong SeqType;
105 typedef SALOME_TYPES::ListOfLong_var SeqVarType;
106 typedef SALOME::SenderInt_ptr SenderPtrType;
107 typedef SALOME::SenderInt_var SenderVarType;
111 struct FIELDI_TRAITS<int, NoInterlaceByType>
113 typedef POA_SALOME_MED::FIELDINTNOBYTYPE InterfaceForServant;
114 typedef SALOME_MED::FIELDINTNOBYTYPE_ptr FieldCorbaPtrType;
115 typedef SALOME_MED::FIELDINT_ptr SimpleFieldCorbaPtrType;
116 typedef SALOME_MED::FIELDINT SimpleFieldGlobalType;
117 typedef SALOME_TYPES::ListOfLong SeqType;
118 typedef SALOME_TYPES::ListOfLong_var SeqVarType;
119 typedef SALOME::SenderInt_ptr SenderPtrType;
120 typedef SALOME::SenderInt_var SenderVarType;