Author: robbinspg
Date: Tue Apr 25 20:25:35 2006
New Revision: 397068
URL: http://svn.apache.org/viewcvs?rev=397068&view=rev
Log:
TUSCANY-164 scagen tool updates for return type setting
Modified:
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfProxyCPP.xsl
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfWrapperCPP.xsl
Modified:
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfProxyCPP.xsl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfProxyCPP.xsl?rev=397068&r1=397067&r2=397068&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfProxyCPP.xsl
(original)
+++
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfProxyCPP.xsl
Tue Apr 25 20:25:35 2006
@@ -151,6 +151,7 @@
<xsl:text>_Proxy</xsl:text>
</xsl:variable>
+<!-- ignore the constructor and destructor -->
<xsl:if test="@operationNameAttr != $clazz
and @operationNameAttr != concat('~', $clazz)" >
<xsl:text>
@@ -159,26 +160,7 @@
<xsl:text> </xsl:text>
<xsl:value-of select="$clazz"/><xsl:text>::</xsl:text>
<xsl:value-of select="@operationNameAttr"/><xsl:text>(</xsl:text>
-<xsl:if test="count(scaOperationParameter)=0">
-<xsl:text>)
-{</xsl:text>
-<xsl:call-template name="proxy_method_body_no_parms"/>
-<xsl:text>
-}
-</xsl:text>
-</xsl:if>
-
<xsl:for-each select="scaOperationParameter">
-
-<xsl:if test=".='void'">
-<xsl:text>)
-{</xsl:text>
-<xsl:call-template name="proxy_method_body"/>
-<xsl:text>
-}
-</xsl:text>
-</xsl:if>
-
<xsl:if test=".!='void'">
<xsl:variable name="scaOperationParameterNameAttr">
<xsl:value-of select="concat('arg', position()-1 )"/>
@@ -190,27 +172,26 @@
<xsl:value-of select="."/> <!-- get the actual type -->
<xsl:text> </xsl:text>
<xsl:value-of select="$scaOperationParameterNameAttr"/>
- <xsl:choose>
- <xsl:when test="position()=last()"><xsl:text>)
+ <xsl:choose>
+ <xsl:when test="position()=last()">
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>, </xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:if> <!-- test=".!='void'" -->
+
+</xsl:for-each>
+<xsl:text>)
{</xsl:text>
<xsl:call-template name="proxy_method_body"/>
<xsl:text>
}
-</xsl:text>
-</xsl:when>
- <xsl:otherwise>
- <xsl:text>, </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:if>
-
-</xsl:for-each>
+</xsl:text>
</xsl:if>
</xsl:template>
-
-
<xsl:template name="proxy_method_body">
<xsl:variable name="noOfParms">
<xsl:choose>
@@ -224,141 +205,45 @@
</xsl:variable>
<xsl:text>
Operation operation("</xsl:text>
- <xsl:value-of select="../@operationNameAttr"/>
-<!--
- <xsl:text>", </xsl:text>
- <xsl:value-of select="$noOfParms"/>
--->
+ <xsl:value-of select="@operationNameAttr"/>
<xsl:text>");</xsl:text>
<xsl:if test="$noOfParms!=0">
- <xsl:for-each select="../scaOperationParameter">
+ <xsl:for-each select="scaOperationParameter">
<xsl:call-template name="proxy_method_body_set_parameter"/>
</xsl:for-each>
</xsl:if>
-<xsl:text>
- </xsl:text>
<xsl:call-template name="proxy_method_body_prepare_return_var"/>
<xsl:text>
- target->invoke(operation);
-</xsl:text>
+ target->invoke(operation);</xsl:text>
<xsl:call-template name="proxy_method_body_return"/>
</xsl:template>
-<xsl:template name="proxy_method_body_no_parms">
- <xsl:variable name="noOfParms">
- <xsl:value-of select="0"/>
- </xsl:variable>
-<xsl:text>
- Operation operation("</xsl:text>
- <xsl:value-of select="@operationNameAttr"/>
-<!--
- <xsl:text>", </xsl:text>
- <xsl:value-of select="$noOfParms"/>
--->
- <xsl:text>");
- </xsl:text>
- <xsl:call-template name="proxy_method_body_prepare_return_var_no_parms"/>
- <xsl:text>
- target->invoke(operation);
-</xsl:text>
- <xsl:call-template name="proxy_method_body_return_no_parms"/>
-</xsl:template>
-
<xsl:template name="proxy_method_body_return">
<xsl:variable name="type">
- <xsl:value-of select="../scaOperationReturnType/text()"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$type='void'"><!-- nothing -->
- <xsl:text> return;
-</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, '&')"><!-- reference -->
- <xsl:variable name="type_no_amp">
- <xsl:value-of select="substring-before($type, '&')"/>
- </xsl:variable>
- <xsl:text> return *(</xsl:text><xsl:value-of
select="$type_no_amp"/><xsl:text>*)operation.getReturnValue();
-</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, '*')"><!-- pointer -->
- <xsl:text> return (</xsl:text><xsl:value-of
select="$type"/><xsl:text>)operation.getReturnValue();
-</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, 'DataObjectPtr')"><!-- DataObjectPtr
-->
- <xsl:text> return ret;
-</xsl:text>
- </xsl:when>
- <xsl:otherwise><!-- simple type -->
- <xsl:text> return ret;
-</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="proxy_method_body_return_no_parms">
- <xsl:variable name="type">
<xsl:value-of select="scaOperationReturnType/text()"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$type='void'"><!-- nothing -->
- <xsl:text> return;
-</xsl:text>
+ <xsl:text>
+ return;</xsl:text>
</xsl:when>
<xsl:when test="contains($type, '&')"><!-- reference -->
<xsl:variable name="type_no_amp">
<xsl:value-of select="substring-before($type, '&')"/>
</xsl:variable>
- <xsl:text> return *(</xsl:text><xsl:value-of
select="$type_no_amp"/><xsl:text>*)operation.getReturnValue();
-</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, '*')"><!-- pointer -->
- <xsl:text> return (</xsl:text><xsl:value-of
select="$type"/><xsl:text>)operation.getReturnValue();
-</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, 'DataObjectPtr')"><!-- DataObjectPtr
-->
- <xsl:text> return ret;
-</xsl:text>
+ <xsl:text>
+ return *(</xsl:text><xsl:value-of
select="$type_no_amp"/><xsl:text>*)operation.getReturnValue();</xsl:text>
</xsl:when>
<xsl:otherwise><!-- simple type -->
- <xsl:text> return ret;
-</xsl:text>
+ <xsl:text>
+ return ret;</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
-
<xsl:template name="proxy_method_body_prepare_return_var">
<xsl:variable name="type">
- <xsl:value-of select="../scaOperationReturnType/text()"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$type='void'"><!-- nothing -->
- <!-- nothing -->
- </xsl:when>
- <xsl:when test="contains($type, '&')"><!-- reference -->
- </xsl:when>
- <xsl:when test="contains($type, '*')"><!-- pointer -->
- <!-- nothing to do -->
- </xsl:when>
- <xsl:when test="contains($type, 'DataObjectPtr')"><!-- DataObjectPtr
-->
- <xsl:text> commonj::sdo::DataObjectPtr ret = 0;
- operation.setReturnValue((void*)&ret);
-</xsl:text>
- </xsl:when>
- <xsl:otherwise><!-- simple type - for some reason the inital tab does
not appear -->
-<xml:text>
- </xml:text><xml:text>
- </xml:text><xsl:value-of select="$type"/><xsl:text> ret;
-</xsl:text>
-<xsl:text> operation.setReturnValue((void*)&ret);</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-
-</xsl:template>
-
-<xsl:template name="proxy_method_body_prepare_return_var_no_parms">
- <xsl:variable name="type">
<xsl:value-of select="scaOperationReturnType/text()"/>
</xsl:variable>
<xsl:choose>
@@ -367,25 +252,16 @@
</xsl:when>
<xsl:when test="contains($type, '&')"><!-- reference -->
</xsl:when>
- <xsl:when test="contains($type, '*')"><!-- pointer -->
- <!-- nothing to do -->
- </xsl:when>
- <xsl:when test="contains($type, 'DataObjectPtr')"><!-- DataObjectPtr
-->
- <xsl:text> commonj::sdo::DataObjectPtr ret = 0;
- operation.setReturnValue((void*)&ret);
-</xsl:text>
- </xsl:when>
- <xsl:otherwise><!-- simple type - for some reason the inital tab does
not appear -->
-<xml:text>
- </xml:text><xml:text>
- </xml:text><xsl:value-of select="$type"/><xsl:text> ret;
-</xsl:text>
-<xsl:text> operation.setReturnValue((void*)&ret);</xsl:text>
+ <xsl:otherwise>
+<xsl:text>
+ </xsl:text> <xsl:value-of select="$type"/><xsl:text> ret;
+ operation.setReturnValue(&ret);</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
+
<xsl:template name="proxy_method_body_set_parameter">
<xsl:variable name="scaOperationParameterNameAttrInner">
<xsl:value-of select="concat('arg', position()-1 )"/>
@@ -393,9 +269,6 @@
<xsl:variable name="type">
<xsl:value-of select="."/>
</xsl:variable>
-<!-- operation.setParameter(<xsl:value-of
select="position()-1"/><xsl:text>, (void*)</xsl:text>
-<xsl:if test="not(contains($type, '*'))">&</xsl:if> -->
- operation.addParameter(&<xsl:value-of
select="$scaOperationParameterNameAttrInner"/><xsl:text>);
-</xsl:text>
+ operation.addParameter(&<xsl:value-of
select="$scaOperationParameterNameAttrInner"/><xsl:text>);</xsl:text>
</xsl:template>
</xsl:stylesheet>
Modified:
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfWrapperCPP.xsl
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfWrapperCPP.xsl?rev=397068&r1=397067&r2=397068&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfWrapperCPP.xsl
(original)
+++
incubator/tuscany/cpp/sca/tools/scagen/src/org/apache/tuscany/sca/cpp/tools/services/xsl/SCA4CPPIntfWrapperCPP.xsl
Tue Apr 25 20:25:35 2006
@@ -234,23 +234,16 @@
<xsl:when test="contains($type, '&')"><!-- reference -->
<xsl:text> </xsl:text><xsl:value-of select="$type"/><xsl:text>
ret = </xsl:text><xsl:call-template
name="impl_arrow_op_brackets_and_parms"/><xsl:text>;</xsl:text>
<xsl:text>
- operation.setReturnValue((void*)&ret);</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, '*')"><!-- pointer -->
- <xsl:text>
- operation.setReturnValue((void*) </xsl:text><xsl:call-template
name="impl_arrow_op_brackets_and_parms"/><xsl:text>);</xsl:text>
- </xsl:when>
- <xsl:when test="contains($type, 'DataObjectPtr')"><!-- DataObjectPtr
-->
- <xsl:text> *(DataObjectPtr*)operation.getReturnValue() =
</xsl:text><xsl:call-template
name="impl_arrow_op_brackets_and_parms"/><xsl:text>;</xsl:text>
+ operation.setReturnValue(&ret);</xsl:text>
</xsl:when>
<xsl:otherwise><!-- simple type -->
- <xml:text> *(</xml:text><xsl:value-of
select="$type"/><xsl:text>*)operation.getReturnValue() =
</xsl:text><xsl:call-template
name="impl_arrow_op_brackets_and_parms"/><xsl:text>;</xsl:text>
+ <xsl:text> *(</xsl:text><xsl:value-of
select="$type"/><xsl:text>*)operation.getReturnValue() =
</xsl:text><xsl:call-template
name="impl_arrow_op_brackets_and_parms"/><xsl:text>;</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="impl_arrow_op_brackets_and_parms"><!-- context is
"scaOperation" -->
- <xml:text>impl-></xml:text><xsl:value-of
select="./@operationNameAttr"/><xml:text>(</xml:text>
+ <xsl:text>impl-></xsl:text><xsl:value-of
select="./@operationNameAttr"/><xsl:text>(</xsl:text>
<xsl:if test="./scaOperationParameter/text() != 'void' ">
<xsl:if test="./scaOperationParameter/text() != '' ">
<xsl:if test="normalize-space(./scaOperationParameter/text()) != ' ' ">