Parameterize context in cookie-type and request-matching template.
This commit is contained in:
parent
f74487e34f
commit
65ed274f05
|
@ -201,12 +201,14 @@ authorization from the authors.
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<!-- Helper template for requests, that outputs the cookie type. The
|
<!-- Helper template for requests, that outputs the cookie type. The
|
||||||
context node must be the request. -->
|
parameter "request" must be the request node, which defaults to the
|
||||||
|
context node. -->
|
||||||
<xsl:template name="cookie-type">
|
<xsl:template name="cookie-type">
|
||||||
|
<xsl:param name="request" select="." />
|
||||||
<xsl:text>XCB</xsl:text>
|
<xsl:text>XCB</xsl:text>
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="reply">
|
<xsl:when test="$request/reply">
|
||||||
<xsl:value-of select="concat($ext, @name)" />
|
<xsl:value-of select="concat($ext, $request/@name)" />
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:text>Void</xsl:text>
|
<xsl:text>Void</xsl:text>
|
||||||
|
@ -216,6 +218,7 @@ authorization from the authors.
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="request" mode="pass1">
|
<xsl:template match="request" mode="pass1">
|
||||||
|
<xsl:variable name="req" select="." />
|
||||||
<xsl:if test="reply">
|
<xsl:if test="reply">
|
||||||
<struct name="XCB{$ext}{@name}Cookie">
|
<struct name="XCB{$ext}{@name}Cookie">
|
||||||
<field type="unsigned int" name="sequence" />
|
<field type="unsigned int" name="sequence" />
|
||||||
|
@ -231,14 +234,16 @@ authorization from the authors.
|
||||||
<field type="CARD16" name="length" no-assign="true" />
|
<field type="CARD16" name="length" no-assign="true" />
|
||||||
</middle>
|
</middle>
|
||||||
</struct>
|
</struct>
|
||||||
<function name="XCB{$ext}{@name}">
|
<function name="XCB{$ext}{$req/@name}">
|
||||||
<xsl:attribute name="type">
|
<xsl:attribute name="type">
|
||||||
<xsl:call-template name="cookie-type" />
|
<xsl:call-template name="cookie-type">
|
||||||
|
<xsl:with-param name="request" select="$req" />
|
||||||
|
</xsl:call-template>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
<field type="XCBConnection *" name="c" />
|
<field type="XCBConnection *" name="c" />
|
||||||
<xsl:apply-templates select="*[not(self::reply)]" mode="param" />
|
<xsl:apply-templates select="$req/*[not(self::reply)]" mode="param" />
|
||||||
<do-request ref="XCB{$ext}{@name}Req" opcode="{@opcode}">
|
<do-request ref="XCB{$ext}{$req/@name}Req" opcode="{$req/@opcode}">
|
||||||
<xsl:if test="reply">
|
<xsl:if test="$req/reply">
|
||||||
<xsl:attribute name="has-reply">true</xsl:attribute>
|
<xsl:attribute name="has-reply">true</xsl:attribute>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</do-request>
|
</do-request>
|
||||||
|
|
Loading…
Reference in New Issue