Salome HOME
PR: merge from branch BR_auto_V310 tag mergefrom_OCC_development_for_3_2_0a2_10mar06
[modules/yacs.git] / src / SALOMEDS / SALOMEDS_ClientAttributes.hxx
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library is distributed in the hope that it will be useful 
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/
19 //
20 //  File   : SALOMEDS_Attributes.hxx
21 //  Author : Sergey RUIN
22 //  Module : SALOME
23
24 #ifndef __SALOMEDSCLIENT_ATTRIBUTES__H__
25 #define __SALOMEDSCLIENT_ATTRIBUTES__H__
26
27 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
28
29 #include "SALOMEDSImpl_GenericAttribute.hxx"
30 #include "SALOMEDSImpl_AttributeName.hxx"
31 #include "SALOMEDSImpl_AttributeComment.hxx"
32 #include "SALOMEDSImpl_AttributeInteger.hxx"
33 #include "SALOMEDSImpl_AttributeReal.hxx"
34 #include "SALOMEDSImpl_AttributeTreeNode.hxx"
35 #include "SALOMEDSImpl_AttributeUserID.hxx"
36 #include "SALOMEDSImpl_AttributeSequenceOfReal.hxx"
37 #include "SALOMEDSImpl_AttributeSequenceOfInteger.hxx" 
38 #include "SALOMEDSImpl_AttributeIOR.hxx"
39 #include "SALOMEDSImpl_AttributePersistentRef.hxx" 
40 #include "SALOMEDSImpl_AttributeDrawable.hxx"
41 #include "SALOMEDSImpl_AttributeSelectable.hxx"
42 #include "SALOMEDSImpl_AttributeExpandable.hxx"
43 #include "SALOMEDSImpl_AttributeOpened.hxx"
44 #include "SALOMEDSImpl_AttributeTextColor.hxx"
45 #include "SALOMEDSImpl_AttributeTextHighlightColor.hxx"
46 #include "SALOMEDSImpl_AttributePixMap.hxx"
47 #include "SALOMEDSImpl_AttributeLocalID.hxx"
48 #include "SALOMEDSImpl_AttributeTarget.hxx"
49 #include "SALOMEDSImpl_AttributeTableOfInteger.hxx"
50 #include "SALOMEDSImpl_AttributeTableOfReal.hxx"
51 #include "SALOMEDSImpl_AttributeTableOfString.hxx"
52 #include "SALOMEDSImpl_AttributeStudyProperties.hxx"
53 #include "SALOMEDSImpl_AttributePythonObject.hxx"
54 #include "SALOMEDSImpl_AttributeExternalFileDef.hxx"
55 #include "SALOMEDSImpl_AttributeFileType.hxx"
56 #include "SALOMEDSImpl_AttributeFlags.hxx"
57 #include "SALOMEDSImpl_AttributeGraphic.hxx"
58 #include "SALOMEDSImpl_AttributeParameter.hxx"
59
60 #include "SALOMEDS_GenericAttribute.hxx"
61 #include "SALOMEDS_AttributeName.hxx"
62 #include "SALOMEDS_AttributeComment.hxx"
63 #include "SALOMEDS_AttributeInteger.hxx"
64 #include "SALOMEDS_AttributeReal.hxx"
65 #include "SALOMEDS_AttributeTreeNode.hxx"
66 #include "SALOMEDS_AttributeUserID.hxx"
67 #include "SALOMEDS_AttributeSequenceOfReal.hxx"
68 #include "SALOMEDS_AttributeSequenceOfInteger.hxx" 
69 #include "SALOMEDS_AttributeIOR.hxx"
70 #include "SALOMEDS_AttributePersistentRef.hxx" 
71 #include "SALOMEDS_AttributeDrawable.hxx"
72 #include "SALOMEDS_AttributeSelectable.hxx"
73 #include "SALOMEDS_AttributeExpandable.hxx"
74 #include "SALOMEDS_AttributeOpened.hxx"
75 #include "SALOMEDS_AttributeTextColor.hxx"
76 #include "SALOMEDS_AttributeTextHighlightColor.hxx"
77 #include "SALOMEDS_AttributePixMap.hxx"
78 #include "SALOMEDS_AttributeLocalID.hxx"
79 #include "SALOMEDS_AttributeTarget.hxx"
80 #include "SALOMEDS_AttributeTableOfInteger.hxx"
81 #include "SALOMEDS_AttributeTableOfReal.hxx"
82 #include "SALOMEDS_AttributeTableOfString.hxx"
83 #include "SALOMEDS_AttributeStudyProperties.hxx"
84 #include "SALOMEDS_AttributePythonObject.hxx"
85 #include "SALOMEDS_AttributeExternalFileDef.hxx"
86 #include "SALOMEDS_AttributeFileType.hxx"
87 #include "SALOMEDS_AttributeFlags.hxx"
88 #include "SALOMEDS_AttributeGraphic.hxx"
89 #include "SALOMEDS_AttributeParameter.hxx"
90
91 #define __CreateClientAttributeLocal(CORBA_Name) if (strcmp(aTypeOfAttribute.c_str(), #CORBA_Name) == 0) { \
92     Handle(SALOMEDSImpl_##CORBA_Name) A = Handle(SALOMEDSImpl_##CORBA_Name)::DownCast(theGA); \
93     aGA = new SALOMEDS_##CORBA_Name(A); \
94   }
95
96 #define __CreateClientAttributeCORBA(CORBA_Name) if (strcmp(aTypeOfAttribute.c_str(), #CORBA_Name) == 0) { \
97     SALOMEDS::CORBA_Name##_var A = SALOMEDS::CORBA_Name::_narrow(theGA); \
98     aGA = new SALOMEDS_##CORBA_Name(A); \
99   }
100
101 #define __CreateGenericClientAttributeLocal \
102 __CreateClientAttributeLocal(AttributeReal) \
103 __CreateClientAttributeLocal(AttributeInteger) \
104 __CreateClientAttributeLocal(AttributeSequenceOfReal) \
105 __CreateClientAttributeLocal(AttributeSequenceOfInteger) \
106 __CreateClientAttributeLocal(AttributeName) \
107 __CreateClientAttributeLocal(AttributeComment) \
108 __CreateClientAttributeLocal(AttributeIOR) \
109 __CreateClientAttributeLocal(AttributePixMap) \
110 __CreateClientAttributeLocal(AttributeLocalID) \
111 __CreateClientAttributeLocal(AttributeTableOfInteger) \
112 __CreateClientAttributeLocal(AttributeTableOfReal) \
113 __CreateClientAttributeLocal(AttributeTableOfString) \
114 __CreateClientAttributeLocal(AttributePythonObject) \
115 __CreateClientAttributeLocal(AttributePersistentRef) \
116 __CreateClientAttributeLocal(AttributeDrawable) \
117 __CreateClientAttributeLocal(AttributeSelectable) \
118 __CreateClientAttributeLocal(AttributeExpandable) \
119 __CreateClientAttributeLocal(AttributeOpened) \
120 __CreateClientAttributeLocal(AttributeTextColor) \
121 __CreateClientAttributeLocal(AttributeTextHighlightColor) \
122 __CreateClientAttributeLocal(AttributeTarget) \
123 __CreateClientAttributeLocal(AttributeStudyProperties) \
124 __CreateClientAttributeLocal(AttributeExternalFileDef) \
125 __CreateClientAttributeLocal(AttributeFileType) \
126 __CreateClientAttributeLocal(AttributeFlags) \
127 __CreateClientAttributeLocal(AttributeGraphic) \
128 __CreateClientAttributeLocal(AttributeTreeNode) \
129 __CreateClientAttributeLocal(AttributeUserID) \
130 __CreateClientAttributeLocal(AttributeParameter)
131
132 #define __CreateGenericClientAttributeCORBA \
133 __CreateClientAttributeCORBA(AttributeReal) \
134 __CreateClientAttributeCORBA(AttributeInteger) \
135 __CreateClientAttributeCORBA(AttributeSequenceOfReal) \
136 __CreateClientAttributeCORBA(AttributeSequenceOfInteger) \
137 __CreateClientAttributeCORBA(AttributeName) \
138 __CreateClientAttributeCORBA(AttributeComment) \
139 __CreateClientAttributeCORBA(AttributeIOR) \
140 __CreateClientAttributeCORBA(AttributePixMap) \
141 __CreateClientAttributeCORBA(AttributeLocalID) \
142 __CreateClientAttributeCORBA(AttributeTableOfInteger) \
143 __CreateClientAttributeCORBA(AttributeTableOfReal) \
144 __CreateClientAttributeCORBA(AttributeTableOfString) \
145 __CreateClientAttributeCORBA(AttributePythonObject) \
146 __CreateClientAttributeCORBA(AttributePersistentRef) \
147 __CreateClientAttributeCORBA(AttributeDrawable) \
148 __CreateClientAttributeCORBA(AttributeSelectable) \
149 __CreateClientAttributeCORBA(AttributeExpandable) \
150 __CreateClientAttributeCORBA(AttributeOpened) \
151 __CreateClientAttributeCORBA(AttributeTextColor) \
152 __CreateClientAttributeCORBA(AttributeTextHighlightColor) \
153 __CreateClientAttributeCORBA(AttributeTarget) \
154 __CreateClientAttributeCORBA(AttributeStudyProperties) \
155 __CreateClientAttributeCORBA(AttributeExternalFileDef) \
156 __CreateClientAttributeCORBA(AttributeFileType) \
157 __CreateClientAttributeCORBA(AttributeFlags) \
158 __CreateClientAttributeCORBA(AttributeGraphic) \
159 __CreateClientAttributeCORBA(AttributeTreeNode) \
160 __CreateClientAttributeCORBA(AttributeUserID) \
161 __CreateClientAttributeCORBA(AttributeParameter)
162
163 #endif