VirtualBox

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


Ignore:
Timestamp:
Nov 16, 2007 9:35:01 PM (17 years ago)
Author:
vboxsync
Message:

Manual, API docs, webservice: Begin documenting webservice, add lots of/improve Main API documentation, rename ISessionManager (webservice) to IWebsessionManager

File:
1 edited

Legend:

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

    r5771 r5784  
    512512     >
    513513    <desc>
    514       The IVirtualBoxErrorInfo interface represents extended error information
    515       that can be set by components after unsuccessful method invocation and
    516       returned to the client in addition to the result code.
     514      Extended error information.
     515
     516      Such extended error information can be set by VirtualBox components
     517      after unsuccessful method invocation. This can then be returned to the
     518      client in addition to a plain result code.
    517519
    518520      In MS COM, this interface extends the IErrorInfo interface,
     
    11591161        This method tries to guess the
    11601162        <link to="HardDiskStorageType">hard disk storage type</link> from the
    1161         format of the location string and from the contens of the resource the
     1163        format of the location string and from the contents of the resource the
    11621164        location points to. Currently, a <i>file path</i> is the only
    11631165        supported format for the location string which must point to either a
     
    21762178     wsmap="struct"
    21772179     >
     2180    <desc>
     2181        BIOS settings in a virtual machine. Used in <link to="IMachine::BIOSSettings" />.
     2182    </desc>
    21782183    <attribute name="logoFadeIn" type="boolean">
    21792184      <desc>Fade in flag for BIOS logo animation.</desc>
     
    22392244     wsmap="managed"
    22402245     >
     2246    <desc>
     2247      A virtual machine, or guest, created in VirtualBox.
     2248
     2249      This is used in two contexts, mainly: A collection of these is in
     2250      <link to="IVirtualBox::machines" />, listing all the virtual machines
     2251      that are currently registered with this VirtualBox installation. Also,
     2252      once a remote session has been opened for this machine (i.e. the
     2253      virtual machine is running), a copy of the machine is in the console
     2254      object that represents the connection to the remote session; see
     2255      <link to="IConsole" /> for details.
     2256
     2257      All the settings and actions that are visible in VirtualBox's
     2258      front-ends are represented by attributes and methods of this interface.
     2259      However, in order to start a virtual machine, as indicated above,
     2260      call <link to="IVirtualBox::openRemoteSession" />; to change machine
     2261      settings, one needs to open a direct session, see
     2262      <link to="IVirtualBox::openSession" />.
     2263
     2264      <see>IConsole, ISession</see>
     2265    </desc>
     2266
    22412267    <attribute name="parent" type="IVirtualBox" readonly="yes">
    22422268      <desc>Associated parent obect.</desc>
     
    35023528     wsmap="managed"
    35033529     >
     3530    <desc>
     3531      Connection to machine's remote session.
     3532
     3533      A console conceptually represents a connection to a remote session,
     3534      as opened by <link to="IVirtualBox::openRemoteSession" />. An
     3535      IConsole object lives in the local address space (and not remotely,
     3536      like IVirtualBox and IMachine do) and allows the owner to control
     3537      the virtual machine's state.
     3538    </desc>
     3539
    35043540    <attribute name="machine" type="IMachine" readonly="yes">
    35053541      <desc>
     
    35193555          This property always returns the same value as the corresponding
    35203556          property of the IMachine object this console is sessioned with.
    3521           For the process, that owns (executes) the VM, this is the
    3522           preferrable way of quierying the VM state, because no IPC
     3557          For the process that owns (executes) the VM, this is the
     3558          preferable way of querying the VM state, because no IPC
    35233559          calls are made.
    35243560        </note>
     
    40394075     wsmap="managed"
    40404076     >
     4077    <desc>
     4078      Physical CD/DVD drive hardware on the host. Used indirectly in <link to="IHost::DVDDrives" />.
     4079    </desc>
     4080
    40414081    <attribute name="name" type="wstring" readonly="yes">
    40424082      <desc>
     
    40974137     wsmap="managed"
    40984138     >
     4139    <desc>
     4140      Physical floppy drive hardware on the host. Used indirectly in <link to="IHost::floppyDrives" />.
     4141    </desc>
    40994142    <attribute name="name" type="wstring" readonly="yes">
    41004143      <desc>
     
    42134256     wsmap="managed"
    42144257     >
     4258    <desc>
     4259      The physical machine that this VirtualBox installation runs on.
     4260
     4261      This is used in <link to="IVirtualBox::host" /> and contains both read-only
     4262      information about the host's physical hardware (such as what processors,
     4263      and disks are available, what the host operating system is, and so on).
     4264
     4265      This also allows for manipulating some of the host's hardware, such as
     4266      USB and host interface networking.
     4267
     4268    </desc>
    42154269    <attribute name="DVDDrives" type="IHostDVDDriveCollection" readonly="yes">
    42164270      <desc>List of DVD drives available on the host.</desc>
     
    45634617        is used if a virtual machine's authentication type is set to "external"
    45644618        in the VM RemoteDisplay configuration and will be called from
    4565         within the <link to="ISessionManager::logon" /> implementation.
     4619        within the <link to="IWebsessionManager::logon" /> implementation.
    45664620
    45674621        As opposed to <link to="ISystemProperties::remoteDisplayAuthLibrary" />,
     
    45694623        resource (if it is running). Only for this setting (for the webservice),
    45704624        setting this value to a literal "null" string disables authentication,
    4571         meaning that <link to="ISessionManager::logon" /> will always succeed,
     4625        meaning that <link to="IWebsessionManager::logon" /> will always succeed,
    45724626        no matter what user name and password are supplied.
    45734627
     
    46484702     >
    46494703    <desc>
    4650       The IGuest interface represents a guest (virtual machine's) operating
    4651       system. It provides information about the Guest Additions and other
    4652       guest OS properties.
    4653 
    4654       <see>IConsole::guest</see>
     4704      Operating system information of a virtual machine. Used in <link to="IConsole::guest" />.
     4705
     4706      IGuest provides information about the guest's operating system, whether
     4707      Guest Additions are installed and other OS-specific virtual machine properties.
    46554708    </desc>
    46564709
     
    57865839
    57875840    <desc>
    5788 
    5789       The IVirtualDiskImage interface represents <link to="IHardDisk">virtual
    5790       hard disks</link> that use virtual disk image files to store hard disk
    5791       data.
     5841      Specific type of <link to="IHardDisk" /> that uses VDI image files.
     5842
     5843      The Virtual Disk Image (VDI) format is VirtualBox's native format for
     5844      hard disk containers.
    57925845
    57935846      Hard disks using virtual disk images can be either opened using
     
    59365989
    59375990    <desc>
     5991      Specific type of <link to="IHardDisk" /> that uses iSCSI.
    59385992
    59395993      The IISCSIHardDisk interface represents <link to="IHardDisk">virtual
    59405994      hard disks</link> that use the Internet SCSI (iSCSI) protocol to store
    59415995      hard disk data on remote machines.
     5996
     5997      Objects that support this interface also support the
     5998      <link to="IHardDisk"/> interface. In other words, in C++ terms,
     5999      one can consider this class to be derived from IHardDisk.
     6000
     6001      As with other hard disk objects, hard disks using custom hard disk
     6002      images can be opened using <link to="IVirtualBox::openHardDisk()"/>.
    59426003
    59436004      iSCSI hard disks can be created using
     
    59496010      machines.
    59506011
    5951       Objects that support this interface also support the
    5952       <link to="IHardDisk"/> interface.
    5953 
    59546012      The <link to="IHardDisk::description">description</link>
    59556013      of the iSCSI hard disk is stored in the VirtualBox
     
    60356093     >
    60366094    <desc>
    6037 
    6038       The IVMDKImage interface represents <link to="IHardDisk">virtual hard
    6039       disks</link> that use VMware Virtual Machine Disk image files to store
    6040       hard disk data.
     6095      Specific type of <link to="IHardDisk" /> that uses VMDK image files.
     6096
     6097      The Virtual Machine Disk (VMDK) format is the industry standard format
     6098      for virtual hard disk image files, which VirtualBox supports besides its
     6099      own native VDI format.
    60416100
    60426101      Hard disks using VMDK images can be either opened using
     
    61926251     >
    61936252    <desc>
    6194 
    6195       The ICustomHardDisk interface represents <link to="IHardDisk">virtual hard
    6196       disks</link> that are supported through third-party plugins.
    6197 
    6198       Hard disks using custom hard disk images can be opened using
    6199       <link to="IVirtualBox::openHardDisk()"/>.
     6253      Specific type of <link to="IHardDisk" /> that is supported through a third-party plugin.
    62006254
    62016255      Objects that support this interface also support the
    6202       <link to="IHardDisk"/> interface.
     6256      <link to="IHardDisk"/> interface. In other words, in C++ terms,
     6257      one can consider this class to be derived from IHardDisk.
     6258
     6259      As with other hard disk objects, hard disks using custom hard disk
     6260      images can be opened using <link to="IVirtualBox::openHardDisk()"/>.
    62036261
    62046262      When a new hard disk object is created from scratch, an image file for it
     
    64666524     wsmap="managed"
    64676525     >
     6526    <desc>
     6527      Virtual CD/DVD drive in a virtual machine. Used in <link to="IMachine::DVDDrive" />.
     6528    </desc>
    64686529    <attribute name="state" type="DriveState" readonly="yes">
    64696530      <desc>Current drive state.</desc>
     
    66146675     wsmap="managed"
    66156676     >
     6677    <desc>
     6678      Virtual floppy drive in a virtual machine. Used in <link to="IMachine::FloppyDrive" />.
     6679    </desc>
     6680
    66166681    <attribute name="enabled" type="boolean">
    66176682      <desc>
     
    66626727     wsmap="managed"
    66636728     >
     6729    <desc>
     6730      A virtual machine's keyboard within an <link to="IConsole" />. Used in <link to="IConsole:.keyboard" />.
     6731
     6732      Through this interface, the virtual machine's virtual keyboard can be controlled. One
     6733      can send keystrokes to the virtual machine and send the Ctrl-Alt-Del sequence to it.
     6734    </desc>
    66646735    <method name="putScancode">
    66656736      <desc>Sends a scancode to the keyboard.</desc>
     
    67046775     >
    67056776    <desc>
    6706       The IMouse interface represents a virtual mouse device.
     6777      A virtual machine's mouse within an <link to="IConsole" />. Used in <link to="IConsole:.mouse" />.
     6778
     6779      Through this interface, the virtual machine's virtual mouse can be controlled.
    67076780    </desc>
    67086781
     
    72417314     wsmap="suppress"
    72427315     >
     7316    <desc>
     7317      A virtual machine's display within an <link to="IConsole" />.
     7318
     7319      One display object is contained in each <link to="IConsole::display" />
     7320      attribute and represents the visual output of the virtual machine. This
     7321      can represent a window on the host (for a local display).
     7322
     7323    </desc>
    72437324    <attribute name="width" type="unsigned long" readonly="yes">
    72447325      <desc>Current display width.</desc>
     
    79358016     >
    79368017    <desc>
    7937       The IUSBDevice interface represents a USB device captured by
    7938       (attached to) a running virtual machine's USB controller.
    7939       <see>IConsole::USBDevices</see>
     8018      Virtual USB device within an <link to="IConsole" />.
     8019
     8020      A collection of these is in <link to="IConsole::USBDevices" />.
     8021      Virtual USB devices can be attached to a running virtual machine's
     8022      USB controller.
     8023
    79408024    </desc>
    79418025
     
    83288412     >
    83298413    <desc>
    8330       The IHostUSBDevice interface represents a USB device attached to
    8331       the host computer.
     8414      Physical USB device attached to the host computer.
    83328415
    83338416      Among with properties inherited from IUSBDevice,
     
    83908473     >
    83918474    <desc>
    8392       The IHostUSBDeviceFilter interface represents a USB device filter used
    8393       by the host computer.
     8475      Filter for a physical USB device used by the host computer. Used indirectly
     8476      in <link to="IHost::USBDeviceFilters" />.
    83948477
    83958478      Using filters of this type, the host computer determines the initial
     
    84388521     wsmap="struct"
    84398522     >
     8523    <desc>
     8524        Virtual audio adapter in a virtual machine. Used in <link to="IMachine::audioAdapter" />.
     8525    </desc>
    84408526    <attribute name="enabled" type="boolean">
    84418527      <desc>
     
    87898875     wsmap="managed"
    87908876     >
     8877    <desc>
     8878      Serialization primitive for virtual machines.
     8879
     8880      Within VirtualBox, any time one wishes to manipulate a virtual machine,
     8881      an instance of ISession is required. One first creates a session
     8882      object locally and then passes it with the method call that initiates
     8883      the machine manipulation. The session serves several purposes: it
     8884      identifies to the inter-process VirtualBox code which process is currently
     8885      working with a virtual machine, and it ensures that there are no
     8886      incompatible requests from several processes for the same virtual machine.
     8887
     8888      For example, to start a virtual machine, one would call
     8889      <link to="IVirtualBox::openRemoteSession" />, which requires a session
     8890      object as its first parameter. This session then identifies the caller
     8891      and makes sure that no other process attempts to manipulate the virtual
     8892      machine's parameters while it is running.
     8893
     8894      As another example, to manipulate machine settings, one needs to
     8895      open a direct session on the machine first by calling
     8896      <link to="IVirtualBox::openSession" />. This prevents the machine from
     8897      being changed by other processes.
     8898
     8899      In regular COM C++ client code, one can simply create a session object,
     8900      for example by calling <tt>createLocalObject().</tt>
     8901
     8902      In the webservice, the session manager creates one session object during
     8903      <link to="IWebsessionManager::logon" /> automatically; a managed object
     8904      reference to that session object can be retrieved by calling
     8905      <link to="IWebsessionManager::getSessionObject" />.
     8906    </desc>
     8907
    87918908    <attribute name="state" type="SessionState" readonly="yes">
    87928909      <desc>Current state of this session.</desc>
     
    88408957     wscpp="hardcoded"
    88418958     >
     8959    <desc>
     8960      Webservice only: Managed object reference.
     8961
     8962      Only within the webservice, a managed object reference (which is really
     8963      an opaque number) allows a webservice client to address an object
     8964      that lives in the address space of the webservice server.
     8965
     8966      Behind each managed object reference, there is a COM object that lives
     8967      in the webservice server's address space. The COM object is not freed
     8968      until the managed object reference is released, either by an explicit
     8969      call to  <link to="IManagedObjectRef::release" /> or by logging off from
     8970      the webservice (<link to="IWebsessionManager::logoff" />), which releases
     8971      all objects created during the webservice session.
     8972
     8973      Whenever a method call of the VirtualBox API returns a COM object, the
     8974      webservice representation of that method will instead return a
     8975      managed object reference, which can then be used to invoke methods
     8976      on that object.
     8977    </desc>
     8978
    88428979    <method name="getInterfaceName">
    88438980      <desc>
     
    88518988      <desc>
    88528989        Releases this managed object reference and frees the resources that
    8853         were allocated for it in the web service server process. After calling
     8990        were allocated for it in the webservice server process. After calling
    88548991        this method, the identifier of the reference can no longer be used.
    88558992      </desc>
     
    88598996
    88608997  <!--
    8861   // ISessionManager
     8998  // IWebsessionManager
    88628999  /////////////////////////////////////////////////////////////////////////
    88639000  -->
    88649001
    88659002  <interface
    8866      name="ISessionManager" extends="$unknown"
     9003     name="IWebsessionManager" extends="$unknown"
    88679004     uuid="dea1b4c7-2de3-418a-850d-7868617f7733"
    88689005     internal="yes"
     
    88709007     wscpp="hardcoded"
    88719008     >
     9009    <desc>
     9010      Webservice only: Websession manager. This provides essential services
     9011      to webservice clients.
     9012    </desc>
    88729013    <method name="logon">
    88739014      <desc>
     
    88859026      <desc>
    88869027        Returns a managed object reference to the internal ISession object that was created
    8887         for this web service session. On each successful logon, the web service server
    8888         creates such an ISession object, which serves multiple purposes within VirtualBox.
    8889         For example, it serves as an exclusive lock to disallow several processes from
    8890         manipulating a VM at the same time.
     9028        for this web service session when the client logged on.
     9029
     9030        <see>ISession</see>
    88919031      </desc>
    88929032      <param name="refIVirtualBox" type="wstring" dir="in"/>
     
    88969036    <method name="logoff">
    88979037      <desc>
    8898         Logs off the client who has previously logged on with ISessionManager::logoff
     9038        Logs off the client who has previously logged on with <link to="IWebsessionManager::logoff" />
    88999039        and destroys all resources associated with the session (most importantly, all
    89009040        managed objects created in the server while the session was active).
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