Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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