@@ -196,6 +196,7 @@ func buildCPPInternalException(wHeader LanguageWriter, wImpl LanguageWriter, Nam
196196 wHeader .Writeln ("#define __%s_INTERFACEEXCEPTION_HEADER" , strings .ToUpper (NameSpace ));
197197 wHeader .Writeln ("" );
198198
199+ wHeader .Writeln ("#include <string>" );
199200 wHeader .Writeln ("#include <exception>" );
200201 wHeader .Writeln ("#include <stdexcept>" );
201202
@@ -912,7 +913,7 @@ func buildOutCacheTemplateParameters (method ComponentDefinitionMethod, NameSpac
912913
913914 cppParamType := getCppParamType (param , NameSpace , true );
914915 if param .ParamType == "class" || param .ParamType == "optionalclass" {
915- cppParamType = fmt .Sprintf ("I%s%s*" , ClassIdentifier , BaseClassName )
916+ cppParamType = fmt .Sprintf ("I%s%s*" , ClassIdentifier , param . ParamClass )
916917 }
917918 result += cppParamType ;
918919 }
@@ -1727,7 +1728,7 @@ func generatePrePostCallCPPFunctionCode(component ComponentDefinition, method Co
17271728 case "class" , "optionalclass" :
17281729 checkInputCode = append (checkInputCode , fmt .Sprintf ("if (p%s == nullptr)" , param .ParamName ))
17291730 checkInputCode = append (checkInputCode , fmt .Sprintf (" throw E%sInterfaceException (%s_ERROR_INVALIDPARAM);" , NameSpace , strings .ToUpper (NameSpace )))
1730-
1731+
17311732 paramNameSpace , paramClassName , _ := decomposeParamClassName (param .ParamClass )
17321733 if len (paramNameSpace ) > 0 {
17331734 outVarName := fmt .Sprintf ("p%s%s" , paramNameSpace , param .ParamName )
@@ -1739,10 +1740,10 @@ func generatePrePostCallCPPFunctionCode(component ComponentDefinition, method Co
17391740 callParameters = callParameters + outVarName
17401741 outCallParameters = outCallParameters + outVarName
17411742 } else {
1742- preCallCode = append (preCallCode , fmt .Sprintf ("I%s* pBase %s(nullptr);" , paramClassName , param .ParamName ))
1743- postCallCode = append (postCallCode , fmt .Sprintf ("*%s = (%s*)(pBase %s);" , variableName , IBaseClassName , param .ParamName ));
1744- callParameters = callParameters + "pBase " + param .ParamName
1745- outCallParameters = outCallParameters + "pBase" + param .ParamName
1743+ preCallCode = append (preCallCode , fmt .Sprintf ("I%s* pClass %s(nullptr);" , paramClassName , param .ParamName ))
1744+ postCallCode = append (postCallCode , fmt .Sprintf ("*%s = (%s*)(pClass %s);" , variableName , IBaseClassName , param .ParamName ));
1745+ callParameters = callParameters + "pClass " + param .ParamName
1746+ outCallParameters = fmt . Sprintf ( "%s pClass%s" , outCallParameters , param .ParamName )
17461747 }
17471748
17481749
0 commit comments