VirtualBox

Changeset 42129 in vbox for trunk/src/VBox/Main/idl


Ignore:
Timestamp:
Jul 12, 2012 5:32:31 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
79090
Message:

Main/VirtualBox+Machine: add support for VM groups (incomplete, saving of settings is not implemented), remaining code adjusted accordingly, use better parameter checking macros, make XSLT generators process setter attributes using safearrays correctly, various cleanups and warning fixes
Frontends/VBoxManage: first traces of groups support

Location:
trunk/src/VBox/Main/idl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r42125 r42129  
    13981398  <interface
    13991399    name="IVirtualBox" extends="$unknown"
    1400     uuid="867664ba-41ce-4099-a10d-b7a8e34057c7"
     1400    uuid="53789455-fad2-425a-94c8-eb6dc4ceaa05"
    14011401    wsmap="managed"
    14021402    >
     
    14951495    </attribute>
    14961496
     1497    <attribute name="machineGroups" type="wstring" readonly="yes" safearray="yes">
     1498      <desc>
     1499        Array of all machine group names which are used by the machines which
     1500        are accessible. Each group is only listed once, however they are listed
     1501        in no particular order and there is no guarantee that there are no gaps
     1502        in the group hierarchy (i.e. "/", "/group/subgroup" is a valid result).
     1503      </desc>
     1504    </attribute>
     1505
    14971506    <attribute name="hardDisks" type="IMedium" readonly="yes" safearray="yes">
    14981507      <desc>
     
    15821591
    15831592        <ul>
    1584           <li>It gets called by <link to="#createMachine" /> if NULL is specified
    1585           for the @a settingsFile argument there, which means that API should use
    1586           a recommended default file name.</li>
     1593          <li>It gets called by <link to="#createMachine" /> if @c null or
     1594            empty string (which is recommended) is specified for the
     1595            @a settingsFile argument there, which means that API should use
     1596            a recommended default file name.</li>
    15871597
    15881598          <li>It can be called manually by a client software before creating a machine,
     
    15971607        details about the machine name.
    15981608
     1609        @a groupName defines which additional subdirectory levels should be
     1610        included. It must be either a valid group name or @c null or empty
     1611        string which designates that the machine will not be related to a
     1612        machine group.
     1613
    15991614        If @a baseFolder is a @c null or empty string (which is recommended), the
    16001615        default machine settings folder
     
    16051620
    16061621        This method does not access the host disks. In particular, it does not check
    1607         for whether a machine of this name already exists.
     1622        for whether a machine with this name already exists.
    16081623      </desc>
    16091624      <param name="name" type="wstring" dir="in">
    16101625        <desc>Suggested machine name.</desc>
     1626      </param>
     1627      <param name="group" type="wstring" dir="in">
     1628        <desc>Machine group name for the new machine or machine group. It is
     1629        used to determine the right subdirectory.</desc>
    16111630      </param>
    16121631      <param name="baseFolder" type="wstring" dir="in">
     
    16271646        and machine files can be created at arbitrary locations.
    16281647
    1629         However, it is is recommended that machines be created in the default
     1648        However, it is recommended that machines are created in the default
    16301649        machine folder (e.g. "/home/user/VirtualBox VMs/name/name.vbox"; see
    16311650        <link to="ISystemProperties::defaultMachineFolder" />). If you specify
    1632         NULL for the @a settingsFile argument, <link to="#composeMachineFilename" />
    1633         is called automatically to have such a recommended name composed based
    1634         on the machine name given in the @a name argument.
     1651        @c null or empty string (which is recommended) for the @a settingsFile
     1652        argument, <link to="#composeMachineFilename" /> is called automatically
     1653        to have such a recommended name composed based on the machine name
     1654        given in the @a name argument and the primary group.
    16351655
    16361656        If the resulting settings file already exists, this method will fail,
     
    16931713      <param name="settingsFile" type="wstring" dir="in">
    16941714        <desc>Fully qualified path where the settings file should be created,
    1695         or NULL for a default folder and file based on the @a name argument
     1715          empty string or @c null for a default folder and file based on the
     1716          @a name argument and the primary group.
    16961717        (see <link to="#composeMachineFilename" />).</desc>
    16971718      </param>
    16981719      <param name="name" type="wstring" dir="in">
    16991720        <desc>Machine name.</desc>
     1721      </param>
     1722      <param name="groups" type="wstring" safearray="yes" dir="in">
     1723        <desc>Array of group names. @c null or an empty array have the same
     1724          meaning as an array with just the empty string or "/", i.e. create a
     1725          machine without group association.</desc>
    17001726      </param>
    17011727      <param name="osTypeId" type="wstring" dir="in">
     
    37113737  <interface
    37123738    name="IMachine" extends="$unknown"
    3713     uuid="019d7a7b-1e2d-4008-b954-4b5d72d103b8"
     3739    uuid="1d03031a-ce63-4641-9d67-3a16e03778d5"
    37143740    wsmap="managed"
    37153741    >
     
    38653891    </attribute>
    38663892
     3893    <attribute name="groups" type="wstring" safearray="yes">
     3894      <desc>
     3895        Array of machine group names of which this machine is a member. "" and
     3896        "/" are synonyms for the toplevel group. Each group is only listed
     3897        once, however they are listed in no particular order and there is no
     3898        guarantee that there are no gaps in the group hierarchy
     3899        (i.e. "/group", "/group/subgroup/subsubgroup" is a valid result).
     3900      </desc>
     3901    </attribute>
     3902
    38673903    <attribute name="OSTypeId" type="wstring">
    38683904      <desc>
     
    38883924        properties.  For most VMs this is the same as the @a id, but for VMs
    38893925        which have been cloned or teleported it may be the same as the source
    3890         VM.  This latter is because the guest shouldn't notice that it was
     3926        VM. The latter is because the guest shouldn't notice that it was
    38913927        cloned or teleported.
    38923928      </desc>
     
    43544390        Enables tracepoints in PDM devices and drivers to use the VMCPU or VM
    43554391        structures when firing off trace points.  This is especially useful
    4356         with DTrace tracepoints, as it allow you to use the VMCPU or VM pointer
    4357         to obtail useful information such as guest register state.
     4392        with DTrace tracepoints, as it allows you to use the VMCPU or VM
     4393        pointer to obtain useful information such as guest register state.
    43584394
    43594395        This is disabled by default because devices and drivers normally has no
     
    45744610            <li><tt>"emergencystop"</tt>: reserved value, used for aborting
    45754611              the currently running VM or session owner. In this case the
    4576               @a session parameter may be @c NULL (if it is non-null it isn't
     4612              @a session parameter may be @c null (if it is non-null it isn't
    45774613              used in any way), and the @a progress return value will be always
    4578               NULL. The operation completes immediately.</li>
     4614              @c null. The operation completes immediately.</li>
    45794615          </ul>
    45804616        </desc>
     
    47454781      </param>
    47464782      <param name="medium" type="IMedium" dir="in">
    4747         <desc>Medium to mount or NULL for an empty drive.</desc>
     4783        <desc>Medium to mount or @c null for an empty drive.</desc>
    47484784      </param>
    47494785    </method>
     
    49755011      </param>
    49765012      <param name="bandwidthGroup" type="IBandwidthGroup" dir="in">
    4977         <desc>New value for the bandwidth group or NULL for no group.</desc>
     5013        <desc>New value for the bandwidth group or @c null for no group.</desc>
    49785014      </param>
    49795015    </method>
     
    50255061      </param>
    50265062      <param name="medium" type="IMedium" dir="in">
    5027         <desc>Medium to mount or NULL for an empty drive.</desc>
     5063        <desc>Medium to mount or @c null for an empty drive.</desc>
    50285064      </param>
    50295065      <param name="force" type="boolean" dir="in">
     
    70637099        Paused virtual machine. When the machine is PoweredOff, an
    70647100        offline snapshot is created. When the machine is Running a live
    7065         snapshot is created, and an online snapshot is is created when Paused.
     7101        snapshot is created, and an online snapshot is created when Paused.
    70667102
    70677103        The taken snapshot is always based on the
     
    1153111567
    1153211568              When deleting the current snapshot, the <link to="IMachine::currentSnapshot" />
    11533               attribute is set to the current snapshot's parent or NULL if it
     11569              attribute is set to the current snapshot's parent or @c null if it
    1153411570              has no parent. Otherwise the attribute is unchanged.
    1153511571          </li>
     
    1173611772    <const name="MultiAttach"       value="5">
    1173711773      <desc>
    11738         A medium which is is indirectly attached, so that one base medium can
     11774        A medium which is indirectly attached, so that one base medium can
    1173911775        be used for several VMs which have their own differencing medium to
    1174011776        store their modifications. In some sense a variant of Immutable
  • trunk/src/VBox/Main/idl/midl.xsl

    r35913 r42129  
    66 *  from the generic interface definition expressed in XML.
    77
    8      Copyright (C) 2006-2010 Oracle Corporation
     8     Copyright (C) 2006-2012 Oracle Corporation
    99
    1010     This file is part of VirtualBox Open Source Edition (OSE), as
     
    288288      <xsl:with-param name="str" select="@name"/>
    289289    </xsl:call-template>
    290     <xsl:text> ([in</xsl:text>
    291     <xsl:if test="@safearray='yes'">
    292       <!-- VB supports only [in, out], [out] and [out, retval] arrays -->
    293       <xsl:text>, out</xsl:text>
    294     </xsl:if>
    295     <xsl:text>] </xsl:text>
     290    <xsl:text> ([in] </xsl:text>
    296291    <xsl:if test="@safearray='yes'">
    297292      <xsl:text>SAFEARRAY(</xsl:text>
     
    299294    <xsl:apply-templates select="@type"/>
    300295    <xsl:if test="@safearray='yes'">
    301       <xsl:text>) *</xsl:text>
     296      <xsl:text>)</xsl:text>
    302297    </xsl:if>
    303298    <xsl:text> a</xsl:text>
Note: See TracChangeset for help on using the changeset viewer.

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