void Print_Element_Value()

in Unix/scriptext/py/PythonBinding.c [465:856]


void Print_Element_Value(
    const MI_Value *elementValue, 
    MI_Type elementType, 
    size_t level)
{
        switch (elementType)
        {
            case MI_BOOLEAN:
            {
                PySys_WriteStdout("%s", elementValue->boolean ? "True" : "False");
                break;
            }
            case MI_SINT8:
            {
                PySys_WriteStdout("%hd", elementValue->sint8);
                break;
            }
            case MI_UINT8:
            {
                PySys_WriteStdout("%hu", elementValue->uint8);
                break;
            }
            case MI_SINT16:
            {
                PySys_WriteStdout("%d", elementValue->sint16);
                break;
            }
            case MI_UINT16:
            {
                PySys_WriteStdout("%u", elementValue->uint16);
                break;
            }
            case MI_SINT32:
            {
                PySys_WriteStdout("%i", elementValue->sint32);
                break;
            }
            case MI_UINT32:
            {
                PySys_WriteStdout("%u", elementValue->uint32);
                break;
            }
            case MI_SINT64:
            {
                PySys_WriteStdout("%lld", elementValue->sint64);
                break;
            }
            case MI_UINT64:
            {
                PySys_WriteStdout("%llu", elementValue->uint64);
                break;
            }
            case MI_REAL32:
            {
                PySys_WriteStdout("%g", elementValue->real32);
                break;
            }
            case MI_REAL64:
            {
                PySys_WriteStdout("%lg", elementValue->real64);
                break;
            }
            case MI_CHAR16:
            {
                PySys_WriteStdout("%u", elementValue->char16);
                break;
            }
            case MI_DATETIME:
            {
                MI_Char buf[26];
                DatetimeToStr(&elementValue->datetime, buf);
                PySys_WriteStdout("%s", buf);
                break;
            }
            case MI_STRING:
            {
                PySys_WriteStdout("%s", elementValue->string);
                break;
            }
            case MI_BOOLEANA:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->booleana.size; i++)
                {
                    MI_Value value;
                    value.boolean = elementValue->booleana.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_SINT8A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->sint8a.size; i++)
                {
                    MI_Value value;
                    value.sint8 = elementValue->sint8a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_UINT8A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->uint8a.size; i++)
                {
                    MI_Value value;
                    value.uint8 = elementValue->uint8a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_SINT16A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->sint16a.size; i++)
                {
                    MI_Value value;
                    value.sint16 = elementValue->sint16a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_UINT16A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->uint16a.size; i++)
                {
                    MI_Value value;
                    value.uint16 = elementValue->uint16a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_SINT32A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->sint32a.size; i++)
                {
                    MI_Value value;
                    value.sint32 = elementValue->sint32a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_UINT32A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->uint32a.size; i++)
                {
                    MI_Value value;
                    value.uint32 = elementValue->uint32a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_SINT64A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->sint64a.size; i++)
                {
                    MI_Value value;
                    value.sint64 = elementValue->sint64a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
               PySys_WriteStdout("}");
                break;
            }
            case MI_UINT64A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->uint64a.size; i++)
                {
                    MI_Value value;
                    value.uint64 = elementValue->uint64a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_REAL32A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->real32a.size; i++)
                {
                    MI_Value value;
                    value.real32 = elementValue->real32a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_REAL64A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->real64a.size; i++)
                {
                    MI_Value value;
                    value.real64 = elementValue->real64a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_CHAR16A:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->char16a.size; i++)
                {
                    MI_Value value;
                    value.char16 = elementValue->char16a.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_DATETIMEA:
            {
                MI_Uint32 i;
                MI_Type nonArrayType = (MI_Type) (elementType & (~MI_ARRAY));

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->datetimea.size; i++)
                {
                    MI_Value value;
                    value.datetime = elementValue->datetimea.data[i];
                    Print_Element_Value(&value, nonArrayType, level);
                    if (i + 1 != elementValue->datetimea.size)
                        PySys_WriteStdout(", ");
                }
                PySys_WriteStdout("}");
                break;
            }
            case MI_STRINGA:
            {
                MI_Uint32 i;

                PySys_WriteStdout("{");

                for (i = 0; i < elementValue->stringa.size; i++)
                {
                    MI_Char *value;
                    value = elementValue->stringa.data[i];
                    PySys_WriteStdout(value);
                    if (i + 1 != elementValue->stringa.size)
                        PySys_WriteStdout(", ");
                }
               PySys_WriteStdout("}");
                break;
            }
            case MI_INSTANCE:
            {
                MI_Instance* inst = elementValue->instance;

                Dump_MI_Instance(inst, MI_FALSE, level);
                break;
            }
            case MI_REFERENCE:
            {
                MI_Instance* inst = elementValue->reference;

                PySys_WriteStdout(" REF ");

                Dump_MI_Instance(inst, MI_TRUE, level);
                break;
            }
            case MI_INSTANCEA:
            {
                const MI_InstanceA* inst = &elementValue->instancea;
                MI_Uint32 i;

                PySys_WriteStdout("\n");

                Indent(level);
                PySys_WriteStdout("{\n");

                for (i = 0; i < inst->size; i++)
                {
                    Dump_MI_Instance(inst->data[i], MI_TRUE, level + 1);
                }

                Indent(level);
                PySys_WriteStdout("}");

                break;
            }
            case MI_REFERENCEA:
            {
                const MI_InstanceA* inst = &elementValue->instancea;
                MI_Uint32 i;

                PySys_WriteStdout(" REF ");

                PySys_WriteStdout("\n");

                Indent(level);
                PySys_WriteStdout("{\n");

                for (i = 0; i < inst->size; i++)
                {
                    Dump_MI_Instance(inst->data[i], MI_FALSE, level + 1);
                }

                Indent(level);
                PySys_WriteStdout("}");

                break;
            }
            default:
                break;
        }
}