Index: websrv-php.xsl
===================================================================
--- websrv-php.xsl	(revision 35941)
+++ websrv-php.xsl	(working copy)
@@ -141,7 +141,7 @@
    public function <xsl:value-of select="$fname"/>($value) {
        $request = new stdClass();
        $request->_this = $this->handle;
-       if (is_int($value) || is_string($value) || is_bool($value)) {
+       if (is_null($value) || is_scalar($value)) {
             $request-><xsl:value-of select="$attrname"/> = $value;
        }
        else
@@ -344,6 +344,10 @@
 }
 </xsl:template>
 
+<xsl:template name="comResultCodes">
+   const <xsl:value-of select="@name"/> = <xsl:value-of select="@value"/>;
+</xsl:template>
+
 <xsl:template match="/">
 <xsl:text>&lt;?php
 
@@ -566,6 +570,19 @@
 }
 
 </xsl:text>
+
+<xsl:text>
+/**
+* VirtualBox COM result codes
+*/
+class VirtualBox_COM_result_codes {
+</xsl:text>
+  <xsl:for-each select="/idl/library/result">
+       <xsl:call-template name="comResultCodes"/>
+  </xsl:for-each>
+<xsl:text>
+}
+</xsl:text>
   <xsl:for-each select="//interface[@wsmap='managed' or @wsmap='global']">
        <xsl:call-template name="interface"/>
        <xsl:call-template name="collection"/>
