MCPcopy Create free account
hub / github.com/Autodesk/AutomaticComponentToolkit / generateCTypesParameter

Function generateCTypesParameter

Source/buildbindingpython.go:565–721  ·  view source on GitHub ↗
(param ComponentDefinitionParam, className string, methodName string, NameSpace string)

Source from the content-addressed store, hash-verified

563}
564
565func generateCTypesParameter(param ComponentDefinitionParam, className string, methodName string, NameSpace string) ([]ctypesParameter, error) {
566 cParams := make([]ctypesParameter,1)
567 cParamTypeName, err := getCTypesParameterTypeName(param.ParamType, NameSpace, param.ParamClass, true);
568 if (err != nil) {
569 return nil, err;
570 }
571
572 switch (param.ParamPass) {
573 case "in":
574 switch (param.ParamType) {
575 case "uint8", "uint16", "uint32", "uint64", "int8", "int16", "int32", "int64":
576 cParams[0].ParamType = cParamTypeName;
577 cParams[0].ParamCallType = cParamTypeName;
578 cParams[0].ParamName = "n" + param.ParamName;
579 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
580
581 case "bool":
582 cParams[0].ParamType = cParamTypeName;
583 cParams[0].ParamCallType = cParamTypeName;
584 cParams[0].ParamName = "b" + param.ParamName;
585 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
586
587 case "single":
588 cParams[0].ParamType = cParamTypeName;
589 cParams[0].ParamCallType = cParamTypeName;
590 cParams[0].ParamName = "f" + param.ParamName;
591 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
592
593 case "double":
594 cParams[0].ParamType = cParamTypeName;
595 cParams[0].ParamCallType = cParamTypeName;
596 cParams[0].ParamName = "d" + param.ParamName;
597 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
598
599 case "pointer":
600 cParams[0].ParamType = cParamTypeName;
601 cParams[0].ParamCallType = cParamTypeName;
602 cParams[0].ParamName = "p" + param.ParamName;
603 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
604
605 case "string":
606 cParams[0].ParamType = cParamTypeName;
607 cParams[0].ParamCallType = cParamTypeName;
608 cParams[0].ParamName = "p" + param.ParamName;
609 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
610
611 case "enum":
612 cParams[0].ParamType = cParamTypeName;
613 cParams[0].ParamCallType = cParamTypeName;
614 cParams[0].ParamName = "e" + param.ParamName;
615 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
616
617 case "struct":
618 cParams[0].ParamType = "ctypes.POINTER("+cParamTypeName+")";
619 cParams[0].ParamCallType = cParamTypeName;
620 cParams[0].ParamName = "p" + param.ParamName;
621 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
622

Callers 4

generateCTypeParemetersFunction · 0.85
getMethodCParamsFunction · 0.85
writeMethodFunction · 0.85

Calls 1

Tested by

no test coverage detected