diff options
Diffstat (limited to 'doc/manual/en_US/SDKRef.xml')
-rw-r--r-- | doc/manual/en_US/SDKRef.xml | 163 |
1 files changed, 129 insertions, 34 deletions
diff --git a/doc/manual/en_US/SDKRef.xml b/doc/manual/en_US/SDKRef.xml index 60039d81b..0420a5909 100644 --- a/doc/manual/en_US/SDKRef.xml +++ b/doc/manual/en_US/SDKRef.xml @@ -557,7 +557,7 @@ svccfg -s svc:/application/virtualbox/webservice:default setprop config/user=roo <para>Open a terminal and change to the directory where the JAX-WS samples reside.<footnote> <para>In - <computeroutput>sdk/bindings/webservice/java/jax-ws/samples/</computeroutput>.</para> + <computeroutput>sdk/bindings/glue/java/</computeroutput>.</para> </footnote> Examine the header of <computeroutput>Makefile</computeroutput> to see if the supplied variables (Java compiler, Java executable) and a few @@ -702,12 +702,14 @@ svccfg -s svc:/application/virtualbox/webservice:default setprop config/user=roo <para>On On Mac OS X only the Python versions bundled with the OS are officially supported. This means Python 2.3 for 10.4, Python 2.5 for 10.5 and Python 2.5 and 2.6 for 10.6.</para> - </footnote>), and you cannot connect to VirtualBox remotely. On - Windows, you can use the Main API from Python if the Win32 extensions - package for Python<footnote> + </footnote>). On Windows, you can use the Main API from Python if the Win32 extensions + package for Python<footnote> <para>See <ulink url="http://sourceforge.net/project/showfiles.php?group_id=78018">http://sourceforge.net/project/showfiles.php?group_id=78018</ulink>.</para> - </footnote> is installed.</para> + </footnote> is installed. Version of Python Win32 extensions earlier than 2.16 are known to have bugs, + leading to issues with VirtualBox Python bindings, and also some early builds of Python 2.5 for Windows have issues with + reporting platform name on some Windows versions, so please make sure to use latest available Python + and Win32 extensions.</para> <para>The VirtualBox OOWS for Python relies on the Python ZSI SOAP implementation (see <ulink @@ -1437,36 +1439,33 @@ virtualBoxManager = VirtualBoxManager("WEBSERVICE", perform operations on the IVirtualBox class. For example, the following code will a start virtual machine by name or ID:</para> - <screen>vbox = virtualBoxManager.vbox -mgr = virtualBoxManager.mgr -print "Version is",vbox.version - -def machById(id): - mach = None - for m in virtualBoxManager.getArray(vbox, 'machines'): - if m.name == id or mach.id == id: - mach = m - break - return mach - + <screen>from vboxapi import VirtualBoxManager +mgr = VirtualBoxManager(None, None) +vbox = mgr.vbox name = "Linux" -mach = machById(name) -if mach is None: - print "cannot find machine",name -else: - session = mgr.getSessionObject(vbox) - # one can also start headless session with "headless" instead of "gui" - progress = mach.launchVMProcess(session, mach.id, "gui", "") - progress.waitForCompletion(-1) - session.close() +mach = vbox.findMachine(name) +session = mgr.mgr.getSessionObject(vbox) +progress = mach.launchVMProcess(session, "gui", "") +progress.waitForCompletion(-1) +mgr.closeMachineSession(session) + </screen> + <para> + Following code will print all registered machines and their log folders + </para> + <screen>from vboxapi import VirtualBoxManager +mgr = VirtualBoxManager(None, None) +vbox = mgr.vbox + +for m in mgr.getArray(vbox, 'machines'): +print "Machine '%s' logs in '%s'" %(m.name, m.logFolder) </screen> - <para>This code also shows cross-platform access to array properties + <para>Code above demonstartes cross-platform access to array properties (certain limitations prevent one from using <computeroutput>vbox.machines</computeroutput> to access a list of available virtual machines in case of XPCOM), and a mechanism of - uniform session creation - (<computeroutput>virtualBoxManager.mgr.getSessionObject()</computeroutput>).</para> + uniform session creation and closing + (<computeroutput>mgr.mgr.getSessionObject()</computeroutput>).</para> <para>In case you want to use the glue layer with a different Python installation, use these steps in a shell to add the necessary @@ -3444,6 +3443,103 @@ AuthResult AUTHCALL AuthEntry( existing client code.</para> <sect1> + <title>Incompatible API changes with version 4.1</title> + + <itemizedlist> + <listitem> + <para>The method <xref linkend="IAppliance__importMachines" + xreflabel="IAppliance::importMachines()" /> has one more parameter + now, which allows to configure the import process in more detail. + </para> + </listitem> + + <listitem> + <para>The method <xref linkend="IVirtualBox__openMedium" + xreflabel="IVirtualBox::openMedium()" /> has one more parameter + now, which allows resolving duplicate medium UUIDs without the need + for external tools.</para> + </listitem> + + <listitem> + <para>The <xref linkend="INetworkAdapter" xreflabel="INetworkAdapter"/> + interface has been cleaned up. The various methods to activate an + attachment type have been replaced by the + <xref linkend="INetworkAdapter__attachmentType" xreflabel="INetworkAdapter::attachmentType"/> setter.</para> + <para>Additionally each attachment mode now has its own attribute, + which means that host only networks no longer share the settings with + bridged interfaces.</para> + <para>To allow introducing new network attachment implementations + without making API changes, the concept of a generic network + attachment driver has been introduced, which is configurable through + key/value properties.</para> + </listitem> + + <listitem> + <para>This version introduces the guest facilities concept. A guest + facility either represents a module or feature the guest is running or + offering, which is defined by <xref linkend="AdditionsFacilityType" + xreflabel="AdditionsFacilityType"/>. Each facility is member of a + <xref linkend="AdditionsFacilityClass" xreflabel="AdditionsFacilityClass"/> + and has a current status indicated by <xref linkend="AdditionsFacilityStatus" + xreflabel="AdditionsFacilityStatus"/>, together with a timestamp (in ms) of + the last status update.</para> + <para>To address the above concept, the following changes were made: + <itemizedlist> + <listitem> + <para> + In the <xref linkend="IGuest" xreflabel="IGuest"/> interface, the following were removed: + <itemizedlist> + <listitem> + <para>the <computeroutput>supportsSeamless</computeroutput> attribute;</para> + </listitem> + <listitem> + <para>the <computeroutput>supportsGraphics</computeroutput> attribute;</para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <para> + The function <xref linkend="IGuest__getFacilityStatus" xreflabel="IGuest::getFacilityStatus()"/> + was added. It quickly provides a facility's status without the need to get the facility + collection with <xref linkend="IGuest__facilities" xreflabel="IGuest::facilities"/>. + </para> + </listitem> + <listitem> + <para> + The attribute <xref linkend="IGuest__facilities" xreflabel="IGuest::facilities"/> + was added to provide an easy to access collection of all currently known guest + facilities, that is, it contains all facilies where at least one status update was + made since the guest was started. + </para> + </listitem> + <listitem> + <para> + The interface <xref linkend="IAdditionsFacility" xreflabel="IAdditionsFacility"/> + was added to represent a single facility returned by + <xref linkend="IGuest__facilities" xreflabel="IGuest::facilities"/>. + </para> + </listitem> + <listitem> + <para> + <xref linkend="AdditionsFacilityStatus" xreflabel="AdditionsFacilityStatus"/> + was added to represent a facility's overall status. + </para> + </listitem> + <listitem> + <para> + <xref linkend="AdditionsFacilityType" xreflabel="AdditionsFacilityType"/> and + <xref linkend="AdditionsFacilityClass" xreflabel="AdditionsFacilityClass"/> were + added to represent the facility's type and class. + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + </itemizedlist> + </sect1> + + <sect1> <title>Incompatible API changes with version 4.0</title> <itemizedlist> @@ -4002,8 +4098,8 @@ AuthResult AUTHCALL AuthEntry( <listitem> <para>The <computeroutput>IVRDPServer</computeroutput>, - <computeroutput>IRemoteDisplayInfo</computeroutput> and - <computeroutput>IConsoleCallback</computeroutput> interfaces were + <computeroutput>IRemoteDisplayInfo"</computeroutput> and + <computeroutput>IConsoleCallback</computeroutput> interfaces were changed to reflect VRDP server ability to bind to one of available ports from a list of ports.</para> @@ -4012,7 +4108,7 @@ AuthResult AUTHCALL AuthEntry( <computeroutput>IVRDPServer::ports</computeroutput>, which is a comma-separated list of ports or ranges of ports.</para> - <para>An <computeroutput>IRemoteDisplayInfo::port</computeroutput> + <para>An <computeroutput>IRemoteDisplayInfo::port"</computeroutput> attribute has been added for querying the actual port VRDP server listens on.</para> @@ -4258,8 +4354,7 @@ AuthResult AUTHCALL AuthEntry( <listitem> <para>INetworkAdapter::attachToHostInterface() has been renamed - to <xref linkend="INetworkAdapter__attachToBridgedInterface" - xreflabel="INetworkAdapter::attachToBridgedInterface()" /></para> + to INetworkAdapter::attachToBridgedInterface</para> </listitem> <listitem> |