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

Function generateCCPPParameter

Source/languagec.go:637–773  ·  view source on GitHub ↗
(param ComponentDefinitionParam, className string, methodName string, NameSpace string, useCPPTypes bool)

Source from the content-addressed store, hash-verified

635
636
637func generateCCPPParameter(param ComponentDefinitionParam, className string, methodName string, NameSpace string, useCPPTypes bool) ([]CParameter, error) {
638 cParams := make([]CParameter,1)
639 var cParamTypeName string
640 var err error
641 if (useCPPTypes) {
642 cParamTypeName, err = getCPPParameterTypeName(param.ParamType, NameSpace, param.ParamClass);
643 } else {
644 cParamTypeName, err = getCParameterTypeName(param.ParamType, NameSpace, param.ParamClass);
645 }
646 if (err != nil) {
647 return nil, err;
648 }
649
650 switch (param.ParamPass) {
651 case "in":
652 switch (param.ParamType) {
653 case "uint8", "uint16", "uint32", "uint64", "int8", "int16", "int32", "int64":
654 cParams[0].ParamType = cParamTypeName;
655 cParams[0].ParamName = "n" + param.ParamName;
656 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
657
658 case "bool":
659 cParams[0].ParamType = cParamTypeName;
660 cParams[0].ParamName = "b" + param.ParamName;
661 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
662
663 case "single":
664 cParams[0].ParamType = cParamTypeName;
665 cParams[0].ParamName = "f" + param.ParamName;
666 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
667
668 case "double":
669 cParams[0].ParamType = cParamTypeName;
670 cParams[0].ParamName = "d" + param.ParamName;
671 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
672
673 case "pointer":
674 cParams[0].ParamType = cParamTypeName;
675 cParams[0].ParamName = "p" + param.ParamName;
676 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
677
678 case "string":
679 cParams[0].ParamType = "const " + cParamTypeName;
680 cParams[0].ParamName = "p" + param.ParamName;
681 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
682
683 case "enum":
684 cParams[0].ParamType = cParamTypeName;
685 cParams[0].ParamName = "e" + param.ParamName;
686 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
687
688 case "struct":
689 cParams[0].ParamType = "const " + cParamTypeName;
690 cParams[0].ParamName = "p" + param.ParamName;
691 cParams[0].ParamComment = fmt.Sprintf("* @param[in] %s - %s", cParams[0].ParamName, param.ParamDescription);
692
693 case "basicarray", "structarray":
694 cParams = make([]CParameter,2)

Callers 3

WriteCCPPAbiMethodFunction · 0.85
GenerateCParametersFunction · 0.85

Calls 2

getCPPParameterTypeNameFunction · 0.85
getCParameterTypeNameFunction · 0.85

Tested by

no test coverage detected