@@ -29,6 +29,7 @@ def __init__(self, mapping):
2929 schema_entity_statements = []
3030
3131 schema_name = mapping .schema .name .capitalize ()
32+ schema_name_upper = mapping .schema .name .upper ()
3233
3334 stringify = lambda s : '"%s"' % s
3435 cat = lambda vs : "" .join (vs )
@@ -47,6 +48,7 @@ def __init__(self, mapping):
4748 max_id = len (enum .values ),
4849 name = name ,
4950 schema_name = schema_name ,
51+ schema_name_upper = schema_name_upper ,
5052 values = catc (map (stringify , enum .values )),
5153 from_string_statements = catnl (templates .enum_from_string_stmt % dict (context ,** locals ()) for value in enum .values )
5254 )
@@ -73,6 +75,7 @@ def __init__(self, mapping):
7375 templates .const_function ,
7476 class_name = name ,
7577 schema_name = schema_name ,
78+ schema_name_upper = schema_name_upper ,
7679 name = 'has%s' % arg ['name' ],
7780 arguments = '' ,
7881 return_type = 'bool' ,
@@ -96,6 +99,7 @@ def find_template(arg):
9699 name = arg ['name' ],
97100 arguments = '' ,
98101 schema_name = schema_name ,
102+ schema_name_upper = schema_name_upper ,
99103 return_type = arg ['non_optional_type' ],
100104 body = tmpl % {'index' : arg ['index' ]- 1 ,
101105 'type' : arg ['non_optional_type' ].replace ('::Value' , '' ),
@@ -118,6 +122,7 @@ def find_template(arg):
118122 arguments = '%s v' % arg ['non_optional_type' ],
119123 return_type = 'void' ,
120124 schema_name = schema_name ,
125+ schema_name_upper = schema_name_upper ,
121126 body = tmpl % {'index' : arg ['index' ]- 1 ,
122127 'type' : arg ['non_optional_type' ].replace ('::Value' , '' )}
123128 )
@@ -148,10 +153,11 @@ def get_attribute_index(entity, attr_name):
148153 inverse = [templates .const_function % {
149154 'class_name' : name ,
150155 'schema_name' : schema_name ,
156+ 'schema_name_upper' : schema_name_upper ,
151157 'name' : i .name ,
152158 'arguments' : '' ,
153159 'return_type' : '::%s::%s::list::ptr' % (schema_name , i .entity ),
154- 'body' : templates .get_inverse % {'type' : i .entity , 'index' :get_attribute_index (i .entity , i .attribute ), 'schema_name' : schema_name }
160+ 'body' : templates .get_inverse % {'type' : i .entity , 'index' :get_attribute_index (i .entity , i .attribute ), 'schema_name' : schema_name , 'schema_name_upper' : schema_name_upper }
155161 } for i in (type .inverse .elements if type .inverse else [])]
156162
157163 superclass = "%s((IfcEntityInstanceData*)0)" % type .supertypes [0 ] if len (type .supertypes ) == 1 else 'IfcUtil::IfcBaseEntity()'
@@ -165,7 +171,8 @@ def get_attribute_index(entity, attr_name):
165171 attributes = nl (catnl (attributes )),
166172 inverse = nl (catnl (inverse )),
167173 superclass = superclass ,
168- schema_name = schema_name
174+ schema_name = schema_name ,
175+ schema_name_upper = schema_name_upper
169176 )
170177
171178 selectable_simple_types = sorted (set (sum ([b .values for a ,b in mapping .schema .selects .items ()], [])) & set (map (str , mapping .schema .types .keys ())))
@@ -212,7 +219,7 @@ def get_parent_id(s):
212219 simpletype_impl_constructor = templates .simpletype_impl_constructor_templated if mapping .is_templated_list (type ) \
213220 else templates .simpletype_impl_constructor
214221
215- def compose (params , schema_name = schema_name ):
222+ def compose (params , schema_name = schema_name , schema_name_upper = schema_name_upper ):
216223 class_name , attr_type , superclass , superclass_init , name , tmpl , return_type , args , body = params
217224 underlying_type = mapping .list_instance_type (type )
218225 arguments = "," .join (args )
@@ -229,12 +236,12 @@ def compose(params, schema_name=schema_name):
229236 ))))
230237 simple_type_impl .append ('' )
231238
232- external_definitions = [("extern entity* %s_%%s_type;" % mapping . schema . name . capitalize () ) % n for n in mapping .schema .entities .keys () ] + \
233- [("extern type_declaration* %s_%%s_type;" % mapping . schema . name . capitalize () ) % n for n in mapping .schema .simpletypes .keys ()]
239+ external_definitions = [("extern entity* %s_%%s_type;" % schema_name_upper ) % n for n in mapping .schema .entities .keys () ] + \
240+ [("extern type_declaration* %s_%%s_type;" % schema_name_upper ) % n for n in mapping .schema .simpletypes .keys ()]
234241
235242 self .str = templates .implementation % {
236- 'schema_name_upper' : mapping . schema . name . upper () ,
237- 'schema_name' : mapping . schema . name . capitalize () ,
243+ 'schema_name_upper' : schema_name_upper ,
244+ 'schema_name' : schema_name ,
238245 'max_id' : max_id ,
239246 'enumeration_functions' : cat (enumeration_functions ),
240247 'schema_entity_statements' : catnl (schema_entity_statements ),
0 commit comments