def arrayTransferToDataStructure(array, buffer, dim, max, len, isSimple, formatArray, arrayFormat, dataStruct, dStart, isVarArray, oclass): nextLen = 0 if (dim != max): if (isVarArray): nextLen = varArrayDimSize(dim + 1, formatArray, dataStruct) else: nextLen = formatFormatArrayItemInt(formatArray, dim + 1) if (isSimple and dim == max): primFmttrs.DecodeArray(formatPrimitiveProc(arrayFormat), array, len, buffer) return if (isSimple): primProc = primFmttrs.pickTrans(formatPrimitiveProc(arrayFormat)) i = 0 while (i < len): if (dim != max): array[i] = validateArrayObject(array[i], nextLen, array, -1) arrayTransferToDataStructure(array[i], buffer, dim + 1, max, nextLen, isSimple, formatArray, arrayFormat, dataStruct, dStart, isVarArray, oclass) elif (isSimple): primProc.DecodeElement(array, i, buffer) elif (formatType(arrayFormat) == EnumFMT): primFmttrs.DecodeElement(primFmttrs.ENUM_FMT, array, i, buffer) else: array[i] = validateObject(array[i], dataStruct, dStart, oclass) transferToDataStructure(arrayFormat, array[i], 0, buffer, 0, True) i = i + 1
def arrayTransferToDataStructure (array, buffer, dim, max, len, isSimple, formatArray, arrayFormat, dataStruct, dStart, isVarArray, oclass) : nextLen=0 if (dim != max) : if (isVarArray) : nextLen = varArrayDimSize(dim+1, formatArray, dataStruct) else : nextLen = formatFormatArrayItemInt(formatArray, dim+1) if (isSimple and dim == max) : primFmttrs.DecodeArray(formatPrimitiveProc(arrayFormat), array, len, buffer) return if (isSimple) : primProc = primFmttrs.pickTrans(formatPrimitiveProc(arrayFormat)) i = 0 while (i < len) : if (dim != max) : array[i] = validateArrayObject(array[i], nextLen, array, -1) arrayTransferToDataStructure(array[i], buffer, dim+1, max, nextLen, isSimple, formatArray, arrayFormat, dataStruct, dStart, isVarArray, oclass) elif (isSimple) : primProc.DecodeElement(array, i, buffer) elif (formatType(arrayFormat) == EnumFMT) : primFmttrs.DecodeElement(primFmttrs.ENUM_FMT, array, i, buffer); else : array[i] = validateObject(array[i], dataStruct, dStart, oclass) transferToDataStructure(arrayFormat, array[i], 0, buffer, 0, True) i = i + 1
def arrayTransferToBuffer(array, buffer, dim, max, isSimple, formatArray, arrayFormat, dataStruct, isVarArray): if (isVarArray): len = varArrayDimSize(dim, formatArray, dataStruct) else: len = formatFormatArrayItemInt(formatArray, dim) if (isSimple and dim == max): primFmttrs.EncodeArray(formatPrimitiveProc(arrayFormat), array, len, buffer) return if (isSimple): primProc = primFmttrs.pickTrans(formatPrimitiveProc(arrayFormat)) i = 0 while (i < len): if (dim != max): arrayTransferToBuffer(array[i], buffer, dim + 1, max, isSimple, formatArray, arrayFormat, dataStruct, isVarArray) elif (isSimple): primProc.EncodeElement(array, i, buffer) elif (formatType(arrayFormat) == EnumFMT): primFmttrs.EncodeElement(primFmttrs.ENUM_FMT, array, i, buffer) else: transferToBuffer(arrayFormat, array[i], 0, buffer, 0, True) i = i + 1
def arrayTransferToBuffer (array, buffer, dim, max, isSimple, formatArray, arrayFormat, dataStruct, isVarArray) : if (isVarArray) : len = varArrayDimSize(dim, formatArray, dataStruct) else : len = formatFormatArrayItemInt(formatArray, dim) if (isSimple and dim == max) : primFmttrs.EncodeArray(formatPrimitiveProc(arrayFormat), array, len, buffer) return if (isSimple) : primProc = primFmttrs.pickTrans(formatPrimitiveProc(arrayFormat)) i = 0 while (i < len) : if (dim != max) : arrayTransferToBuffer(array[i], buffer, dim+1, max, isSimple, formatArray, arrayFormat, dataStruct, isVarArray) elif (isSimple) : primProc.EncodeElement(array, i, buffer) elif (formatType(arrayFormat) == EnumFMT) : primFmttrs.EncodeElement(primFmttrs.ENUM_FMT, array, i, buffer); else : transferToBuffer(arrayFormat, array[i], 0, buffer, 0, True) i = i + 1