VirtualBox

Changeset 31708 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Aug 16, 2010 3:56:57 PM (14 years ago)
Author:
vboxsync
Message:

Java: use byte[] for glue layer (JWS converts from List<Short> atm)

Location:
trunk/src/VBox/Main
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/glue/glue-java.xsl

    r31694 r31708  
    249249
    250250  <xsl:variable name="needarray" select="($safearray='yes') and not($forceelem='yes')" />
    251 
    252   <xsl:if test="$needarray">
     251  <xsl:variable name="needlist" select="($needarray) and not($type='octet')" />
     252
     253  <xsl:if test="($needlist)">
    253254    <xsl:value-of select="'List&lt;'" />
    254255  </xsl:if>
     
    271272  </xsl:choose>
    272273
    273   <xsl:if test="$needarray">
    274     <xsl:value-of select="'&gt;'" />
    275   </xsl:if>
     274  <xsl:choose>
     275    <xsl:when test="($needlist)">
     276      <xsl:value-of select="'&gt;'" />
     277    </xsl:when>
     278    <xsl:when test="($needarray)">
     279      <xsl:value-of select="'[]'" />
     280    </xsl:when>
     281  </xsl:choose>
    276282</xsl:template>
    277283
     
    510516    </xsl:when>
    511517
    512     <xsl:when test="$idltype='unsigned long long'">
    513       <xsl:choose>
    514         <xsl:when test="$safearray='yes'">
    515           <xsl:value-of select="concat('Helper.wrapUnsignedLongLong(', $value,')')"/>
    516         </xsl:when>
    517         <xsl:otherwise>
    518           <xsl:value-of select="concat('Helper.doubleToBigInteger(', $value,')')"/>
    519         </xsl:otherwise>
    520       </xsl:choose>
    521     </xsl:when>
    522 
    523518    <xsl:otherwise>
    524519      <xsl:choose>
     520        <xsl:when test="($safearray='yes') and ($idltype='octet')">
     521          <xsl:value-of select="$value"/>
     522        </xsl:when>
    525523        <xsl:when test="$safearray='yes'">
    526524          <xsl:value-of select="concat('Helper.wrap(', $value,')')"/>
     
    656654        <xsl:when test="//interface[@name=$idltype] or $idltype='$unknown'">
    657655          <xsl:value-of select="concat('Helper.wrap(',$elemgluetype,'.class, port, ', $value,')')"/>
     656        </xsl:when>
     657        <xsl:when test="$idltype='octet'">
     658          <xsl:value-of select="concat('Helper.wrapBytes(',$value,')')"/>
    658659        </xsl:when>
    659660        <xsl:otherwise>
     
    23742375    public static <T1, T2> List<T1> wrap2(Class<T1> wrapperClass1, Class<T2> wrapperClass2, T2[] thisPtrs) {
    23752376        try {
    2376             if (thisPtrs==null) 
     2377            if (thisPtrs==null)
    23772378                return null;
    23782379
     
    32283229        }
    32293230    }
     3231    // temporary method, will bo away soon
     3232    public static byte[] wrapBytes(List<Short> arr)
     3233    {
     3234       if (arr == null)
     3235          return null;
     3236       int i = 0;
     3237       byte[] rv = new byte[arr.size()];
     3238       for (short s : arr)
     3239           rv[i++] = (byte)(s & 0xff);
     3240       return rv;
     3241    }
    32303242}
    32313243]]></xsl:text>
  • trunk/src/VBox/Main/glue/tests/TestVBox.java

    r31694 r31708  
    116116    }
    117117
    118     /*
    119     static void testReadLogBI(VirtualBoxManager mgr, IVirtualBox vbox)
    120     {
    121         IMachine m =  vbox.getMachines().get(0);
    122         long logNo = 0;
    123         BigInteger off = BigInteger.valueOf(0);
    124         BigInteger size = BigInteger.valueOf(16 * 1024);
    125         while (true)
    126         {
    127             byte[] buf = m.readLog(logNo, off, size);
    128             if (buf.length == 0)
    129                 break;
    130             System.out.print(new String(buf));
    131             off.add(BigInteger.valueOf(buf.length));
    132         }
    133     }
    134 
    135118    static void testReadLog(VirtualBoxManager mgr, IVirtualBox vbox)
    136119    {
     
    147130            off += buf.length;
    148131        }
    149         }
    150     */
     132    }
    151133
    152134
  • trunk/src/VBox/Main/webservice/websrv-shared.inc.xsl

    r28800 r31708  
    158158
    159159<xsl:variable name="G_aSharedTypes">
    160   <type idlname="octet"              xmlname="unsignedByte"  cname="unsigned char"    gluename="BYTE"    javaname="Short" />
     160  <type idlname="octet"              xmlname="unsignedByte"  cname="unsigned char"    gluename="BYTE"    javaname="byte" />
    161161  <type idlname="boolean"            xmlname="boolean"       cname="bool"             gluename="BOOL"    javaname="Boolean" />
    162162  <type idlname="short"              xmlname="short"         cname="short"            gluename="SHORT"   javaname="Short" />
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette