def _BuildProperty(self, TypeDict, meta): name = meta.getPropertyName() + '_' member = MemberInfo() member.membername = name member.xsd_object = meta._xelement member.isComplex = True child_data = meta.getDataMembers() if len(child_data) == 1: cpptype = child_data[0].ctypename member.xsd_object = child_data[0].xsd_object m = re.match('std::vector<(\S+)>', cpptype) if m: member.isSequence = True meta._isSequence = True dtype = m.group(1) member.sequenceType = dtype if IsGeneratedType(dtype): self._data_types.append(dtype) else: self._data_types.append(cpptype) else: cpptype = meta.getCType().getName() self._data_types.append(cpptype) member.ctypename = cpptype meta._memberinfo = member self._data_members.append(member)
def _BuildSimpleProperty(self, prop): member = MemberInfo() member.membername = prop.getPropertyName() + '_' member.xsd_object = prop._xelement member.isComplex = False member.ctypename = getCppType(prop._xelement.getType()) prop._memberinfo = member self._data_members.append(member)