diff --git a/.dockerignore b/.dockerignore index 2396d413..b87cd6fb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,5 +6,3 @@ .DS_Store .SD_Store? .swp - -config.php \ No newline at end of file diff --git a/.gitignore b/.gitignore index 141c8a99..4ae4b276 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /.project /config.php /phpinfo.php +/.vscode diff --git a/.htaccess b/.htaccess new file mode 100644 index 00000000..ed19066f --- /dev/null +++ b/.htaccess @@ -0,0 +1 @@ +RedirectMatch 404 /\.git diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 7eb734dc..bcac1269 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,9 +1,96 @@ ------------------------------------- - 5.2-1 2018-07-13 + 7.2-3 2026-04-05 ------------------------------------- -New 5.2 icons thanks to @der-eismann -Import/Export fix thanks to @tom077 -Snapshot pane fixes and faster dialogs thanks to @Adam5Wu +Update jQuery to 4.0.0 and jQuery-UI to 1.14.2 +Update jQuery plugins to the latest versions +Fix deprecated jQuery usage +Fix dialogs buttons not updating + +------------------------------------- + 7.2-2 2025-11-01 +------------------------------------- +Disable Page Fusion feature +https://github.com/phpvirtualbox/phpvirtualbox/issues/363 + +Add VRDP Security Method selection to the Remote Display settings +https://github.com/phpvirtualbox/phpvirtualbox/issues/366 + +Remove the Console tab with the old Flash and Java RDP and VNC clients +https://github.com/phpvirtualbox/phpvirtualbox/issues/367 + +Fix NVRAM related issues +https://github.com/phpvirtualbox/phpvirtualbox/issues/364 +https://github.com/phpvirtualbox/phpvirtualbox/issues/369 + +Fix USB Device Filters related issues +https://github.com/phpvirtualbox/phpvirtualbox/issues/371 + +------------------------------------- + 7.2-1 2025-09-01 +------------------------------------- +Add Virtualbox 7.2 support +https://github.com/phpvirtualbox/phpvirtualbox/issues/360 + +------------------------------------- + 7.1-2 2025-04-29 +------------------------------------- +Fixed https://github.com/phpvirtualbox/phpvirtualbox/issues/350 +Clonig VMs causes an error - Vm clonig is unuseable in phpvirtualbox + +https://github.com/phpvirtualbox/phpvirtualbox/issues/341 +AD Auth broken in PHP 8 + +Fixed MySQL Auth library + +Updated install script + +Updated to jQuery 3.7.1 and jQuery-UI 1.14.1 + +PHP 8.0-8.4 compatibility + +Added Subtype OS filter in VM settings. + +Updated Encryption settings tab to match Disk Encryption wording +in VirtualBox 7.1. + +Fixed bug when pressing escape to close dialog that would cause +subsequent dialogs to malfunction until the page was reloaded. + +Implement TPM settings. + +Removed WSDL files from older versions. + +------------------------------------- + 7.1-1 2025-04-24 +------------------------------------- +Project relocated back to phpvirtualbox github org + +------------------------------------- + 7.1-0 2024-10-15 +------------------------------------- +Virtualbox 7.1 support + +------------------------------------- + 7.0-0 from Beta 1 to RC 1 +------------------------------------- +Support for VirtualBox 7.0 and PHP8.2 +Fixed clone option and encryption/decryption +Fixes for few small bugs + +------------------------------------- + 6.0-0 +------------------------------------- +Upgrade to Virtualbox 6.0 + +------------------------------------- + 5.2-1 2018-11-09 +------------------------------------- +Various snapshot fixes and improvements - @Adam5Wu +Add a configuration variable to set the VRDE address - @rosorio +New icons to match Desktop Application - @der-eismann +Fix Import/Export - @tom077 +Russian translation fixes - @SvetlanaTkachenko +Viewport and URL fixes - @krzysztof113 Convert to unix file format to reduce size ------------------------------------- diff --git a/Dockerfile b/Dockerfile index d5c62e79..34eb69ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,6 @@ -FROM php:5.6-apache +FROM php:8.4-apache RUN apt-get update && \ apt-get install -y \ libxml2 \ - libxml2-dev && \ - docker-php-ext-install soap -COPY . /var/www/html \ No newline at end of file + libxml2-dev +RUN docker-php-ext-install soap pdo_mysql diff --git a/README.md b/README.md index d7109c68..6bd0fdab 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,33 @@ # About -phpVirtualBox is from 2017 maintained by Smart Guide Pty Ltd (tudor at smartguide dot com dot au) +Web interface for Oracle VirtualBox (https://www.virtualbox.org/) -with support from various contributors (see https://github.com/phpvirtualbox/phpvirtualbox/graphs/contributors) +## Roadmap -Originally Copyright (C) 2015 Ian Moore (imoore76 at yahoo dot com) +- Ensure feature parity with VirtualBox 7.2 minus Oracle Cloud features +- PHP 8.4 compatibility +- jQuery and jQuery UI updates + +## Project history and credits + +October 2025 + +VirtualBox 7.2 support and various bugfixes. + +April 2025 + +Project adopted by Anonie Muss. Updated from https://github.com/studnitskiy/phpvirtualbox. + +October 2024 + +VirtualBox 7.1 support for x86 hosts only, no ARM hosts support. + + +2022 updated by *[Bartek Sz.](https://github.com/BartekSz95)* and various contributors. + +2017-2021 maintained by Smart Guide Pty Ltd (tudor at smartguide dot com dot au) with support from various contributors. + +2010-2015 created and maintained by Ian Moore (imoore76 at yahoo dot com). FREE, WITHOUT WARRANTY: @@ -16,24 +39,29 @@ the license file, or do not agree with its conditions, please cease using this software immediately and remove any copies you may have in your possession. -# Installation from Zip file +# Requirements + +- PHP 8.X - **Older versions are not considered.** + +- Webserver (eg. Apache HTTPD, nginx) -1) Download zip file from GitHub project site: https://github.com/phpvirtualbox/phpvirtualbox/archive/master.zip +- VirtualBox 7.2.x -2) Unzip the zipfile into a folder accessible by your web server +# Installation from ZIP file +1) Download ZIP file from the project site on GitHub - use Code > Download ZIP. +2) Unzip the ZIP file into a folder accessible by your web server. 3) Rename config.php-example to config.php and edit as needed. Read the wiki for more information : https://github.com/phpvirtualbox/phpvirtualbox/wiki # Post installation -Default login is username: admin password: admin +Default login is (**username**/**password**): *admin*/*admin* -Please report bugs / feature requests to GitHub +Please report bugs/feature requests to GitHub: https://github.com/phpvirtualbox/phpvirtualbox/issues # Password Recovery -Rename the file recovery.php-disabled to recovery.php, navigate to it in -your web browser, and follow the instructions presented. +Rename the file recovery.php-disabled to recovery.php, navigate to it in your web browser, and follow the instructions presented. diff --git a/config.php-example b/config.php-example index e84bf8b2..4351bbd6 100644 --- a/config.php-example +++ b/config.php-example @@ -56,9 +56,6 @@ var $servers = array( // Disable authentication #var $noAuth = true; -// Host / ip to use for console connections -#var $consoleHost = '192.168.1.40'; - // Disable "preview" box #var $noPreview = true; @@ -160,13 +157,6 @@ var $hostMemInfoRefreshInterval = 5; /* Disable any of phpVirtualBox's main tabs */ #var $disableTabVMSnapshots = true; // Snapshots tab -#var $disableTabVMConsole = true; // Console tab - -/* Screen resolutions for console tab */ -var $consoleResolutions = array('640x480','800x600','1024x768','1280x720','1440x900'); - -/* Console tab keyboard layout. Currently Oracle's RDP client only supports EN and DE. */ -var $consoleKeyboardLayout = 'EN'; /* Max number of network cards per VM. Do not set above VirtualBox's limit (typically 8) or below 1 */ var $nicMax = 4; diff --git a/css/layout.css b/css/layout.css index 3b014656..b0282041 100644 --- a/css/layout.css +++ b/css/layout.css @@ -377,7 +377,7 @@ div.vboxVMMDialog div.ui-dialog-buttonpane { #vboxVirtualMediaManager table.vboxVMMList span { display: inline-block; } #vboxVirtualMediaManager div.vboxVMMMediumInfo { font-size: 0.9em; } #vboxVirtualMediaManager .vboxVMMMediumInfo input { padding: 0px; margin: 0px; background: transparent; color: #000000; } -#vboxVirtualMediaManager .vboxVMMMediumInfo table { padding;0px; border: 1px solid #000; border-spacing:0px; margin-top: 12px; width: 100%; background: #fafafa; } +#vboxVirtualMediaManager .vboxVMMMediumInfo table { padding: 0px; border: 1px solid #000; border-spacing:0px; margin-top: 12px; width: 100%; background: #fafafa; } #vboxVirtualMediaManager .vboxVMMMediumInfo th { padding:2px; padding-left: 18px; text-align: right; width: auto; white-space: nowrap; } #vboxVirtualMediaManager .vboxVMMMediumInfo td { padding:0px; padding-left: 10px; text-align: left; width: 100%; } #vboxVirtualMediaManager .vboxVMMSortImgFaded img { diff --git a/docker-compose.yml b/docker-compose.yml index 3dd74bdf..32fe8b71 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,24 @@ -# Develop phpvirtualbox in docker +# Develop phpvirtualbox in docker container # # 1) Get virtualbox host-only interface IP used by docker machine: -# docker-machine inspect default -f '{{.Driver.HostOnlyCIDR}}' | sed -e 's#/.*##' +# docker network inspect bridge -f '{{ (index .IPAM.Config 0).Gateway }}' +# - or - +# docker run busybox:1.37 busybox ash -c 'ip route | grep default | awk "{ print \$3 }"' +# # 2) Start vboxwebsrv on the IP returned from the above command: # vboxwebsrv -H 192.168.99.1 # or edit vboxwebsrv startup config -# 3) Edit config.php to use the IP +# +# 3) Edit config.php $location to use the IP +# # 4) docker-compose up -# 5) Get docker machine ip: -# docker-machine ip default -# 6) phpVirtualBox should be available at http:// # -phpvirtualbox: - build: . - ports: - - "80:80" - volumes: - - .:/var/www/html \ No newline at end of file +# 5) phpVirtualBox should be available at http://localhost +# +services: + + phpvirtualbox: + build: . + ports: + - "80:80" + volumes: + - .:/var/www/html diff --git a/endpoints/api.php b/endpoints/api.php index 2dff9156..45f9c696 100644 --- a/endpoints/api.php +++ b/endpoints/api.php @@ -15,7 +15,7 @@ */ # Turn off PHP errors -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); //Set no caching @@ -57,8 +57,8 @@ } /* Check for PHP version */ - if (!version_compare(PHP_VERSION, '5.2.0', '>=')) { - throw new Exception('phpVirtualBox requires PHP >= 5.2.0, but this server is running version '. PHP_VERSION .'. Please upgrade PHP.'); + if (!version_compare(PHP_VERSION, '8.1.0', '>=')) { + throw new Exception('phpVirtualBox requires PHP >= 8.1.0, but this server is running version '. PHP_VERSION .'. Please upgrade PHP.'); } # Only valid function chars @@ -334,6 +334,9 @@ // Just append to $vbox->errors and let it get // taken care of below + if(!isset($vbox)) { + $vbox = new stdClass(); + } if(!$vbox || !$vbox->errors) { $vbox->errors = array(); } @@ -342,7 +345,7 @@ // Add any messages -if($vbox && count($vbox->messages)) { +if($vbox && isset($vbox->messages)?count($vbox->messages):false) { foreach($vbox->messages as $m) $response['messages'][] = 'vboxconnector('.$request['fn'] .'): ' . $m; } @@ -360,7 +363,7 @@ if($e->getCode() == vboxconnector::PHPVB_ERRNO_CONNECT && isset($vbox->settings)) $d .= "\n\nLocation:" . $vbox->settings->location; - $response['messages'][] = htmlentities($e->getMessage()).' ' . htmlentities($details); + $response['messages'][] = htmlentities($e->getMessage()). htmlentities(' '. $details); $response['errors'][] = array( 'error'=> ($e->getCode() & vboxconnector::PHPVB_ERRNO_HTML ? $e->getMessage() : htmlentities($e->getMessage())), diff --git a/endpoints/jqueryFileTree.php b/endpoints/jqueryFileTree.php index 875d3dbc..5d0bd0cd 100644 --- a/endpoints/jqueryFileTree.php +++ b/endpoints/jqueryFileTree.php @@ -22,7 +22,7 @@ // # Turn off PHP notices -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); global $vbox, $localbrowser, $allowed; @@ -30,8 +30,6 @@ require_once(dirname(__FILE__).'/lib/utils.php'); require_once(dirname(__FILE__).'/lib/vboxconnector.php'); -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); - session_init(); if(!$_SESSION['valid']) return; @@ -223,6 +221,8 @@ function get_windows_drives() { */ function getdir($dir, $dirsOnly=false, $recurse=array()) { + global $allowed_exts; + if(!$dir) $dir = DSEP; $entries = getDirEntries($dir, $dirsOnly); @@ -251,9 +251,9 @@ function getdir($dir, $dirsOnly=false, $recurse=array()) { // Push file on to stack } else { - $ext = strtolower(preg_replace('/^.*\./', '', $file)); + $ext = strtolower(preg_replace('/^.*\./', '', $path)); - if(count($allowed) && !$allowed['.'.$ext]) continue; + if(count($allowed_exts) && !$allowed_exts['.'.$ext]) continue; array_push($dirents, file_entry($path)); } diff --git a/endpoints/language.php b/endpoints/language.php index 645415a4..0bde5d60 100644 --- a/endpoints/language.php +++ b/endpoints/language.php @@ -8,7 +8,7 @@ */ -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT); require_once(dirname(__FILE__).'/lib/language.php'); diff --git a/endpoints/lib/auth/ActiveDirectory.php b/endpoints/lib/auth/ActiveDirectory.php index cc227ddd..b27093d2 100644 --- a/endpoints/lib/auth/ActiveDirectory.php +++ b/endpoints/lib/auth/ActiveDirectory.php @@ -24,7 +24,7 @@ class phpvbAuthActiveDirectory implements phpvbAuth { * Constructor * @param array $userConfig - user configuration for this module */ - function phpvbAuthActiveDirectory($userConfig = null) { + function __construct($userConfig = null) { // Merge user config if($userConfig) { $this->config = array_merge($this->config,$userConfig); @@ -101,7 +101,7 @@ function login($username, $password) $this->config['container'] . ',DC=' . join(',DC=', explode('.', $this->config['domain'])), $filter, array("memberof","useraccountcontrol")); - if(!result) throw new Exception ("Unable to search Active Directory server: " . ldap_error($auth)); + if(!$result) throw new Exception ("Unable to search Active Directory server: " . ldap_error($auth)); @list($entries) = @ldap_get_entries($auth, $result); @ldap_unbind($auth); if(!$entries) { diff --git a/endpoints/lib/auth/LDAP.php b/endpoints/lib/auth/LDAP.php index 7e7d49e6..3cc84d8d 100644 --- a/endpoints/lib/auth/LDAP.php +++ b/endpoints/lib/auth/LDAP.php @@ -18,7 +18,7 @@ class phpvbAuthLDAP implements phpvbAuth { 'adminUser' => '' ); - function phpvbAuthLDAP($userConfig = null) { + function __construct($userConfig = null) { if($userConfig) $this->config = array_merge($this->config,$userConfig); } @@ -44,7 +44,7 @@ function login($username, $password) } else if(strtolower(substr(PHP_OS, 0, 5)) == 'Linux') { - $ex .= ' You probably need to install the php5-ldap (or similar depending on your distribution) package.'; + $ex .= ' You probably need to install the php-ldap (or similar depending on your distribution) package.'; } throw new Exception($ex); diff --git a/endpoints/lib/auth/MySQL.php b/endpoints/lib/auth/MySQL.php index bf7caf63..d5422278 100644 --- a/endpoints/lib/auth/MySQL.php +++ b/endpoints/lib/auth/MySQL.php @@ -41,24 +41,28 @@ class phpvbAuthMySQL implements phpvbAuth 'canChangePassword' => true, 'canModifyUsers' => true, 'canLogout' => true - ); + ); + var $config = array( + 'host' => "127.0.0.1", + 'port' => 3306, + 'user' => "MySQLuser", + 'pass' => "MySQLpassword", + 'db' => "vboxAuth" + ); + /** - * + * * Connect to MySQL DB. * return PDOconnection. */ - function newPDO() - { - $host="127.0.0.1"; - $port=3306; - $user="MySQLuser"; - $pass="MySQLpassword"; - $db="vboxDB"; - + function newPDO() { try{ - return new PDO("mysql:host=$host;port=$port;dbname=$db;charset=utf8",$user,$pass); - }catch (PDOException $e){throw new Exception("Can't connect to MySQL db!",vboxconnector::PHPVB_ERRNO_CONNECT);} + return new PDO("mysql:host={$this->config['host']};port={$this->config['port']};dbname={$this->config['db']};charset=utf8", + $this->config['user'],$this->config['pass']); + } catch (PDOException $e) { + throw new Exception("Can't connect to MySQL db!",vboxconnector::PHPVB_ERRNO_CONNECT); + } } /** @@ -73,11 +77,20 @@ function PDO_selectUser($username) $statement=$this->newPDO()->prepare("SELECT username, password, admin FROM users WHERE username=:username"); $statement->bindValue(":username",$username, PDO::PARAM_STR); $statement->execute(); - }catch(PDOException $e){throw new Exception("Can't execute requested query!",vboxconnector::PHPVB_ERRNO_FATAL);} + } catch(PDOException $e){ + throw new Exception("Can't execute requested query!",vboxconnector::PHPVB_ERRNO_FATAL); + } return $statement->fetch(PDO::FETCH_ASSOC); } + function __construct($userConfig = null) { + // Merge user config set in config.php as $authConfig = array(...) + if($userConfig) { + $this->config = array_merge($this->config, $userConfig); + } + } + /** * * Generate a random salt. diff --git a/endpoints/lib/auth/WebAuth.php b/endpoints/lib/auth/WebAuth.php index fb5d4b1a..885d19c8 100644 --- a/endpoints/lib/auth/WebAuth.php +++ b/endpoints/lib/auth/WebAuth.php @@ -14,7 +14,7 @@ class phpvbAuthWebAuth implements phpvbAuth { 'serverUserKey' => 'REMOTE_USER' ); - function phpvbAuthWebAuth($userConfig = null) { + function __construct($userConfig = null) { if($userConfig) $this->config = array_merge($this->config,$userConfig); } diff --git a/endpoints/lib/config.php b/endpoints/lib/config.php index 51764169..0b69c536 100644 --- a/endpoints/lib/config.php +++ b/endpoints/lib/config.php @@ -14,7 +14,7 @@ /* * This version of phpVirtualBox */ -define('PHPVBOX_VER', '5.2-0'); +define('PHPVBOX_VER', '7.2-3'); class phpVBoxConfigClass { @@ -63,12 +63,6 @@ class phpVBoxConfigClass { */ var $browserLocal = false; - /** - * List of console resolutions available on console tab - * @var array - */ - var $consoleResolutions = array('640x480','800x600','1024x768','1280x720','1440x900'); - /** * Maximum number of NICs displayed per VM * @var integer @@ -140,8 +134,11 @@ class phpVBoxConfigClass { * @var integer */ var $eventListenerTimeout = 20; + // added vars to satisfy PHP 8.2+ dynamic property deprecation + var $enableAdvancedConfig; + var $enableHDFlushConfig; - /** + /** * Read user configuration, apply defaults, and do some sanity checking * @see vboxconnector */ @@ -157,7 +154,6 @@ function __construct() { foreach(get_object_vars($c) as $k => $v) { // Safety checks if($k == 'browserRestrictFiles' && !is_array($v)) continue; - if($k == 'consoleResolutions' && !is_array($v)) continue; if($k == 'browserRestrictFolders' && !is_array($v)) continue; $this->$k = $v; } @@ -201,10 +197,6 @@ function __construct() { // phpvirtualbox installation $this->setKey(); - // legacy rdpHost setting - if(!empty($this->rdpHost) && empty($this->consoleHost)) - $this->consoleHost = $this->rdpHost; - // Ensure authlib is set if(empty($this->authLib)) $this->authLib = 'Builtin'; // include interface diff --git a/endpoints/lib/language.php b/endpoints/lib/language.php index 7bb46ee0..5f3a48c5 100644 --- a/endpoints/lib/language.php +++ b/endpoints/lib/language.php @@ -73,6 +73,8 @@ function __construct() { $xmlObj = simplexml_load_string(@file_get_contents(VBOX_BASE_LANG_DIR.'/'.$lang.'.xml')); $arrXml = $this->objectsIntoArray($xmlObj); + if(!array_key_exists('context',$arrXml)) return; + $lang = array(); if(!@$arrXml['context'][0]) $arrXml['context'] = array($arrXml['context']); foreach($arrXml['context'] as $c) { diff --git a/endpoints/lib/vboxServiceWrappers.php b/endpoints/lib/vboxServiceWrappers.php index 1ba3053c..ad298e2c 100644 --- a/endpoints/lib/vboxServiceWrappers.php +++ b/endpoints/lib/vboxServiceWrappers.php @@ -1,7 +1,7 @@ _interfaceName) { @@ -127,49 +130,49 @@ public function offsetSet($offset, $value) } } - public function offsetExists($offset) + public function offsetExists($offset): bool { return isset($this->_objects[$offset]); } - public function offsetUnset($offset) + public function offsetUnset($offset): void { unset($this->_objects[$offset]); } - public function offsetGet($offset) + public function offsetGet($offset): mixed { return isset($this->_objects[$offset]) ? $this->_objects[$offset] : null; } /** Iterator Functions **/ - public function rewind() + public function rewind(): void { reset($this->_objects); } - public function current() + public function current(): mixed { return current($this->_objects); } - public function key() + public function key(): int|null|string { return key($this->_objects); } - public function next() + public function next(): void { - return next($this->_objects); + next($this->_objects); } - public function valid() + public function valid(): bool { return ($this->current() !== false); } /** Countable Functions **/ - public function count() + public function count(): int { return count($this->_objects); } @@ -232,7 +235,7 @@ public function __construct($connection, $handle) public function __toString() { - return (string)$this->NameMap[$this->_handle]; + return (string)$this->NameMap[$this->_handle ?? '']; } } @@ -273,6 +276,18 @@ class VirtualBox_COM_result_codes const VBOX_E_PASSWORD_INCORRECT = 0x80BB000D; + const VBOX_E_MAXIMUM_REACHED = 0x80BB000E; + + const VBOX_E_GSTCTL_GUEST_ERROR = 0x80BB000F; + + const VBOX_E_TIMEOUT = 0x80BB0010; + + const VBOX_E_DND_ERROR = 0x80BB0011; + + const VBOX_E_PLATFORM_ARCH_NOT_SUPPORTED = 0x80BB0012; + + const VBOX_E_RECORDING_ERROR = 0x80BB0013; + } /** @@ -358,7 +373,7 @@ public function addPortForwardRule($arg_isIpv6, $arg_ruleName, $arg_proto, $arg_ { $request = new stdClass(); $request->_this = $this->handle; - $request->isIpv6 = (bool)$arg_isIpv6; + $request->isIpv6 = $arg_isIpv6; $request->ruleName = $arg_ruleName; $request->proto = $arg_proto; $request->hostIP = $arg_hostIP; @@ -369,21 +384,20 @@ public function addPortForwardRule($arg_isIpv6, $arg_ruleName, $arg_proto, $arg_ return ; } - public function removePortForwardRule($arg_iSipv6, $arg_ruleName) + public function removePortForwardRule($arg_isIpv6, $arg_ruleName) { $request = new stdClass(); $request->_this = $this->handle; - $request->iSipv6 = (bool)$arg_iSipv6; + $request->isIpv6 = $arg_isIpv6; $request->ruleName = $arg_ruleName; $response = $this->connection->__soapCall('INATNetwork_removePortForwardRule', array((array)$request)); return ; } - public function start($arg_trunkType) + public function start() { $request = new stdClass(); $request->_this = $this->handle; - $request->trunkType = $arg_trunkType; $response = $this->connection->__soapCall('INATNetwork_start', array((array)$request)); return ; } @@ -433,11 +447,11 @@ public function setEnabled($value) $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->enabled = (bool)$value; + $request->enabled = $value; } else { - $request->enabled = (bool)$value->handle; + $request->enabled = $value->handle; } $this->connection->__soapCall('INATNetwork_setEnabled', array((array)$request)); } @@ -487,11 +501,11 @@ public function setIPv6Enabled($value) $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->IPv6Enabled = (bool)$value; + $request->IPv6Enabled = $value; } else { - $request->IPv6Enabled = (bool)$value->handle; + $request->IPv6Enabled = $value->handle; } $this->connection->__soapCall('INATNetwork_setIPv6Enabled', array((array)$request)); } @@ -533,11 +547,11 @@ public function setAdvertiseDefaultIPv6RouteEnabled($value) $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->advertiseDefaultIPv6RouteEnabled = (bool)$value; + $request->advertiseDefaultIPv6RouteEnabled = $value; } else { - $request->advertiseDefaultIPv6RouteEnabled = (bool)$value->handle; + $request->advertiseDefaultIPv6RouteEnabled = $value->handle; } $this->connection->__soapCall('INATNetwork_setAdvertiseDefaultIPv6RouteEnabled', array((array)$request)); } @@ -556,11 +570,11 @@ public function setNeedDhcpServer($value) $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->needDhcpServer = (bool)$value; + $request->needDhcpServer = $value; } else { - $request->needDhcpServer = (bool)$value->handle; + $request->needDhcpServer = $value->handle; } $this->connection->__soapCall('INATNetwork_setNeedDhcpServer', array((array)$request)); } @@ -589,147 +603,172 @@ public function getLocalMappings() return (array)$response->returnval; } - public function getLoopbackIp6() + public function getLocalhostReachable() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetwork_getLoopbackIp6', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('INATNetwork_getLocalhostReachable', array((array)$request)); + return (bool)$response->returnval; } - public function setLoopbackIp6($value) + public function setLocalhostReachable($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->loopbackIp6 = $value; + $request->localhostReachable = $value; } else { - $request->loopbackIp6 = $value->handle; + $request->localhostReachable = $value->handle; } - $this->connection->__soapCall('INATNetwork_setLoopbackIp6', array((array)$request)); + $this->connection->__soapCall('INATNetwork_setLocalhostReachable', array((array)$request)); } - public function getPortForwardRules6() + public function getForwardBroadcast() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetwork_getPortForwardRules6', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('INATNetwork_getForwardBroadcast', array((array)$request)); + return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATNetworkCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATNetwork"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDHCPServer extends VBox_ManagedObject -{ + public function setForwardBroadcast($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->forwardBroadcast = $value; + } + else + { + $request->forwardBroadcast = $value->handle; + } + $this->connection->__soapCall('INATNetwork_setForwardBroadcast', array((array)$request)); + } - public function addGlobalOption($arg_option, $arg_value) + public function getNatMTU() { $request = new stdClass(); $request->_this = $this->handle; - $request->option = $arg_option; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IDHCPServer_addGlobalOption', array((array)$request)); - return ; + $response = $this->connection->__soapCall('INATNetwork_getNatMTU', array((array)$request)); + return (float)$response->returnval; } - public function addVmSlotOption($arg_vmname, $arg_slot, $arg_option, $arg_value) + public function setNatMTU($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->vmname = $arg_vmname; - $request->slot = $arg_slot; - $request->option = $arg_option; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IDHCPServer_addVmSlotOption', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->natMTU = $value; + } + else + { + $request->natMTU = $value->handle; + } + $this->connection->__soapCall('INATNetwork_setNatMTU', array((array)$request)); } - public function removeVmSlotOptions($arg_vmname, $arg_slot) + public function getNatMRU() { $request = new stdClass(); $request->_this = $this->handle; - $request->vmname = $arg_vmname; - $request->slot = $arg_slot; - $response = $this->connection->__soapCall('IDHCPServer_removeVmSlotOptions', array((array)$request)); - return ; + $response = $this->connection->__soapCall('INATNetwork_getNatMRU', array((array)$request)); + return (float)$response->returnval; } - public function getVmSlotOptions($arg_vmname, $arg_slot) + public function setNatMRU($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->vmname = $arg_vmname; - $request->slot = $arg_slot; - $response = $this->connection->__soapCall('IDHCPServer_getVmSlotOptions', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->natMRU = $value; + } + else + { + $request->natMRU = $value->handle; + } + $this->connection->__soapCall('INATNetwork_setNatMRU', array((array)$request)); } - public function getMacOptions($arg_mac) + public function getLoopbackIp6() { $request = new stdClass(); $request->_this = $this->handle; - $request->mac = $arg_mac; - $response = $this->connection->__soapCall('IDHCPServer_getMacOptions', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('INATNetwork_getLoopbackIp6', array((array)$request)); + return (int)$response->returnval; } - public function setConfiguration($arg_IPAddress, $arg_networkMask, $arg_FromIPAddress, $arg_ToIPAddress) + public function setLoopbackIp6($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->IPAddress = $arg_IPAddress; - $request->networkMask = $arg_networkMask; - $request->FromIPAddress = $arg_FromIPAddress; - $request->ToIPAddress = $arg_ToIPAddress; - $response = $this->connection->__soapCall('IDHCPServer_setConfiguration', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->loopbackIp6 = $value; + } + else + { + $request->loopbackIp6 = $value->handle; + } + $this->connection->__soapCall('INATNetwork_setLoopbackIp6', array((array)$request)); } - public function start($arg_networkName, $arg_trunkName, $arg_trunkType) + public function getPortForwardRules6() { $request = new stdClass(); $request->_this = $this->handle; - $request->networkName = $arg_networkName; - $request->trunkName = $arg_trunkName; - $request->trunkType = $arg_trunkType; - $response = $this->connection->__soapCall('IDHCPServer_start', array((array)$request)); - return ; + $response = $this->connection->__soapCall('INATNetwork_getPortForwardRules6', array((array)$request)); + return (array)$response->returnval; } +} - public function stop() +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetwork"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudNetwork extends VBox_ManagedObject +{ + + public function getNetworkName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_stop', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICloudNetwork_getNetworkName', array((array)$request)); + return (string)$response->returnval; } - public function getEventSource() + public function setNetworkName($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->networkName = $value; + } + else + { + $request->networkName = $value->handle; + } + $this->connection->__soapCall('ICloudNetwork_setNetworkName', array((array)$request)); } public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getEnabled', array((array)$request)); + $response = $this->connection->__soapCall('ICloudNetwork_getEnabled', array((array)$request)); return (bool)$response->returnval; } @@ -739,12870 +778,12435 @@ public function setEnabled($value) $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->enabled = (bool)$value; + $request->enabled = $value; } else { - $request->enabled = (bool)$value->handle; + $request->enabled = $value->handle; } - $this->connection->__soapCall('IDHCPServer_setEnabled', array((array)$request)); + $this->connection->__soapCall('ICloudNetwork_setEnabled', array((array)$request)); } - public function getIPAddress() + public function getProvider() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getIPAddress', array((array)$request)); + $response = $this->connection->__soapCall('ICloudNetwork_getProvider', array((array)$request)); return (string)$response->returnval; } - public function getNetworkMask() + public function setProvider($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getNetworkMask', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->provider = $value; + } + else + { + $request->provider = $value->handle; + } + $this->connection->__soapCall('ICloudNetwork_setProvider', array((array)$request)); } - public function getNetworkName() + public function getProfile() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getNetworkName', array((array)$request)); + $response = $this->connection->__soapCall('ICloudNetwork_getProfile', array((array)$request)); return (string)$response->returnval; } - public function getLowerIP() + public function setProfile($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getLowerIP', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->profile = $value; + } + else + { + $request->profile = $value->handle; + } + $this->connection->__soapCall('ICloudNetwork_setProfile', array((array)$request)); } - public function getUpperIP() + public function getNetworkId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getUpperIP', array((array)$request)); + $response = $this->connection->__soapCall('ICloudNetwork_getNetworkId', array((array)$request)); return (string)$response->returnval; } - public function getGlobalOptions() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getGlobalOptions', array((array)$request)); - return (array)$response->returnval; - } - - public function getVmConfigs() + public function setNetworkId($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDHCPServer_getVmConfigs', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->networkId = $value; + } + else + { + $request->networkId = $value->handle; + } + $this->connection->__soapCall('ICloudNetwork_setNetworkId', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IDHCPServerCollection extends VBox_ManagedObjectCollection +class ICloudNetworkCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IDHCPServer"; + protected $_interfaceName = "ICloudNetwork"; } /** * Generated VBoxWebService Interface Wrapper */ -class IVirtualBox extends VBox_ManagedObject +class IHostOnlyNetwork extends VBox_ManagedObject { - public function composeMachineFilename($arg_name, $arg_group, $arg_createFlags, $arg_baseFolder) + public function getNetworkName() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->group = $arg_group; - $request->createFlags = $arg_createFlags; - $request->baseFolder = $arg_baseFolder; - $response = $this->connection->__soapCall('IVirtualBox_composeMachineFilename', array((array)$request)); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getNetworkName', array((array)$request)); return (string)$response->returnval; } - public function createMachine($arg_settingsFile, $arg_name, $arg_groups, $arg_osTypeId, $arg_flags) + public function setNetworkName($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->settingsFile = $arg_settingsFile; - $request->name = $arg_name; - $request->groups = $arg_groups; - $request->osTypeId = $arg_osTypeId; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IVirtualBox_createMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->networkName = $value; + } + else + { + $request->networkName = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setNetworkName', array((array)$request)); } - public function openMachine($arg_settingsFile) + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->settingsFile = $arg_settingsFile; - $response = $this->connection->__soapCall('IVirtualBox_openMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function registerMachine($arg_machine) + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->machine = $arg_machine; - $response = $this->connection->__soapCall('IVirtualBox_registerMachine', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setEnabled', array((array)$request)); } - public function findMachine($arg_nameOrId) + public function getNetworkMask() { $request = new stdClass(); $request->_this = $this->handle; - $request->nameOrId = $arg_nameOrId; - $response = $this->connection->__soapCall('IVirtualBox_findMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getNetworkMask', array((array)$request)); + return (string)$response->returnval; } - public function getMachinesByGroups($arg_groups) + public function setNetworkMask($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->groups = $arg_groups; - $response = $this->connection->__soapCall('IVirtualBox_getMachinesByGroups', array((array)$request)); - return new IMachineCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->networkMask = $value; + } + else + { + $request->networkMask = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setNetworkMask', array((array)$request)); } - public function getMachineStates($arg_machines) + public function getHostIP() { $request = new stdClass(); $request->_this = $this->handle; - $request->machines = $arg_machines; - $response = $this->connection->__soapCall('IVirtualBox_getMachineStates', array((array)$request)); - return new MachineStateCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getHostIP', array((array)$request)); + return (string)$response->returnval; } - public function createAppliance() + public function getLowerIP() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_createAppliance', array((array)$request)); - return new IAppliance ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getLowerIP', array((array)$request)); + return (string)$response->returnval; } - public function createMedium($arg_format, $arg_location, $arg_accessMode, $arg_aDeviceTypeType) + public function setLowerIP($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->format = $arg_format; - $request->location = $arg_location; - $request->accessMode = $arg_accessMode; - $request->aDeviceTypeType = $arg_aDeviceTypeType; - $response = $this->connection->__soapCall('IVirtualBox_createMedium', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->lowerIP = $value; + } + else + { + $request->lowerIP = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setLowerIP', array((array)$request)); } - public function openMedium($arg_location, $arg_deviceType, $arg_accessMode, $arg_forceNewUuid) + public function getUpperIP() { $request = new stdClass(); $request->_this = $this->handle; - $request->location = $arg_location; - $request->deviceType = $arg_deviceType; - $request->accessMode = $arg_accessMode; - $request->forceNewUuid = (bool)$arg_forceNewUuid; - $response = $this->connection->__soapCall('IVirtualBox_openMedium', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostOnlyNetwork_getUpperIP', array((array)$request)); + return (string)$response->returnval; } - public function getGuestOSType($arg_id) + public function setUpperIP($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IVirtualBox_getGuestOSType', array((array)$request)); - return new IGuestOSType ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->upperIP = $value; + } + else + { + $request->upperIP = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setUpperIP', array((array)$request)); } - public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->hostPath = $arg_hostPath; - $request->writable = (bool)$arg_writable; - $request->automount = (bool)$arg_automount; - $response = $this->connection->__soapCall('IVirtualBox_createSharedFolder', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHostOnlyNetwork_getId', array((array)$request)); + return (string)$response->returnval; } - public function removeSharedFolder($arg_name) + public function setId($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IVirtualBox_removeSharedFolder', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->id = $value; + } + else + { + $request->id = $value->handle; + } + $this->connection->__soapCall('IHostOnlyNetwork_setId', array((array)$request)); } +} - public function getExtraDataKeys() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostOnlyNetworkCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostOnlyNetwork"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDHCPServer extends VBox_ManagedObject +{ + + public function setConfiguration($arg_IPAddress, $arg_networkMask, $arg_FromIPAddress, $arg_ToIPAddress) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getExtraDataKeys', array((array)$request)); - return (array)$response->returnval; + $request->IPAddress = $arg_IPAddress; + $request->networkMask = $arg_networkMask; + $request->FromIPAddress = $arg_FromIPAddress; + $request->ToIPAddress = $arg_ToIPAddress; + $response = $this->connection->__soapCall('IDHCPServer_setConfiguration', array((array)$request)); + return ; } - public function getExtraData($arg_key) + public function start($arg_trunkName, $arg_trunkType) { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $response = $this->connection->__soapCall('IVirtualBox_getExtraData', array((array)$request)); - return (string)$response->returnval; + $request->trunkName = $arg_trunkName; + $request->trunkType = $arg_trunkType; + $response = $this->connection->__soapCall('IDHCPServer_start', array((array)$request)); + return ; } - public function setExtraData($arg_key, $arg_value) + public function stop() { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IVirtualBox_setExtraData', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPServer_stop', array((array)$request)); return ; } - public function setSettingsSecret($arg_password) + public function restart() { $request = new stdClass(); $request->_this = $this->handle; - $request->password = $arg_password; - $response = $this->connection->__soapCall('IVirtualBox_setSettingsSecret', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPServer_restart', array((array)$request)); return ; } - public function createDHCPServer($arg_name) + public function findLeaseByMAC($arg_mac, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IVirtualBox_createDHCPServer', array((array)$request)); - return new IDHCPServer ($this->connection, $response->returnval); + $request->mac = $arg_mac; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IDHCPServer_findLeaseByMAC', array((array)$request)); + return array((string)$response->address, (string)$response->state, (float)$response->issued, (float)$response->expire); } - public function findDHCPServerByNetworkName($arg_name) + public function getConfig($arg_scope, $arg_name, $arg_slot, $arg_mayAdd) { $request = new stdClass(); $request->_this = $this->handle; + $request->scope = $arg_scope; $request->name = $arg_name; - $response = $this->connection->__soapCall('IVirtualBox_findDHCPServerByNetworkName', array((array)$request)); - return new IDHCPServer ($this->connection, $response->returnval); + $request->slot = $arg_slot; + $request->mayAdd = $arg_mayAdd; + $response = $this->connection->__soapCall('IDHCPServer_getConfig', array((array)$request)); + return new IDHCPConfig ($this->connection, $response->returnval); } - public function removeDHCPServer($arg_server) + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $request->server = $arg_server; - $response = $this->connection->__soapCall('IVirtualBox_removeDHCPServer', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IDHCPServer_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function createNATNetwork($arg_networkName) + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->networkName = $arg_networkName; - $response = $this->connection->__soapCall('IVirtualBox_createNATNetwork', array((array)$request)); - return new INATNetwork ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPServer_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function findNATNetworkByName($arg_networkName) + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->networkName = $arg_networkName; - $response = $this->connection->__soapCall('IVirtualBox_findNATNetworkByName', array((array)$request)); - return new INATNetwork ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IDHCPServer_setEnabled', array((array)$request)); } - public function removeNATNetwork($arg_network) + public function getIPAddress() { $request = new stdClass(); $request->_this = $this->handle; - $request->network = $arg_network; - $response = $this->connection->__soapCall('IVirtualBox_removeNATNetwork', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IDHCPServer_getIPAddress', array((array)$request)); + return (string)$response->returnval; } - public function checkFirmwarePresent($arg_firmwareType, $arg_version) + public function getNetworkMask() { $request = new stdClass(); $request->_this = $this->handle; - $request->firmwareType = $arg_firmwareType; - $request->version = $arg_version; - $response = $this->connection->__soapCall('IVirtualBox_checkFirmwarePresent', array((array)$request)); - return array((bool)$response->returnval, (string)$response->url, (string)$response->file); + $response = $this->connection->__soapCall('IDHCPServer_getNetworkMask', array((array)$request)); + return (string)$response->returnval; } - public function getVersion() + public function getNetworkName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getVersion', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPServer_getNetworkName', array((array)$request)); return (string)$response->returnval; } - public function getVersionNormalized() + public function getLowerIP() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getVersionNormalized', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPServer_getLowerIP', array((array)$request)); return (string)$response->returnval; } - public function getRevision() + public function getUpperIP() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getRevision', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IDHCPServer_getUpperIP', array((array)$request)); + return (string)$response->returnval; } - public function getPackageType() + public function getGlobalConfig() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getPackageType', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IDHCPServer_getGlobalConfig', array((array)$request)); + return new IDHCPGlobalConfig ($this->connection, $response->returnval); } - public function getAPIVersion() + public function getGroupConfigs() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getAPIVersion', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IDHCPServer_getGroupConfigs', array((array)$request)); + return new IDHCPGroupConfigCollection ($this->connection, (array)$response->returnval); } - public function getAPIRevision() + public function getIndividualConfigs() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getAPIRevision', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IDHCPServer_getIndividualConfigs', array((array)$request)); + return new IDHCPIndividualConfigCollection ($this->connection, (array)$response->returnval); } +} - public function getHomeFolder() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDHCPServerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDHCPServer"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDHCPConfig extends VBox_ManagedObject +{ + + public function setOption($arg_option, $arg_encoding, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getHomeFolder', array((array)$request)); - return (string)$response->returnval; + $request->option = $arg_option; + $request->encoding = $arg_encoding; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IDHCPConfig_setOption', array((array)$request)); + return ; } - public function getSettingsFilePath() + public function removeOption($arg_option) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getSettingsFilePath', array((array)$request)); - return (string)$response->returnval; + $request->option = $arg_option; + $response = $this->connection->__soapCall('IDHCPConfig_removeOption', array((array)$request)); + return ; } - public function getHost() + public function removeAllOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getHost', array((array)$request)); - return new IHost ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_removeAllOptions', array((array)$request)); + return ; } - public function getSystemProperties() + public function getOption($arg_option) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getSystemProperties', array((array)$request)); - return new ISystemProperties ($this->connection, $response->returnval); + $request->option = $arg_option; + $response = $this->connection->__soapCall('IDHCPConfig_getOption', array((array)$request)); + return array((string)$response->returnval, new DHCPOptionEncoding ($this->connection, $response->encoding)); } - public function getMachines() + public function getAllOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getMachines', array((array)$request)); - return new IMachineCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getAllOptions', array((array)$request)); + return array((array)$response->returnval, new DHCPOptionCollection ($this->connection, (array)$response->options), new DHCPOptionEncodingCollection ($this->connection, (array)$response->encodings)); } - public function getMachineGroups() + public function remove() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getMachineGroups', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IDHCPConfig_remove', array((array)$request)); + return ; } - public function getHardDisks() + public function getScope() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getHardDisks', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getScope', array((array)$request)); + return new DHCPConfigScope ($this->connection, $response->returnval); } - public function getDVDImages() + public function getMinLeaseTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getDVDImages', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getMinLeaseTime', array((array)$request)); + return (float)$response->returnval; } - public function getFloppyImages() + public function setMinLeaseTime($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getFloppyImages', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->minLeaseTime = $value; + } + else + { + $request->minLeaseTime = $value->handle; + } + $this->connection->__soapCall('IDHCPConfig_setMinLeaseTime', array((array)$request)); } - public function getProgressOperations() + public function getDefaultLeaseTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getProgressOperations', array((array)$request)); - return new IProgressCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getDefaultLeaseTime', array((array)$request)); + return (float)$response->returnval; } - public function getGuestOSTypes() + public function setDefaultLeaseTime($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getGuestOSTypes', array((array)$request)); - return new IGuestOSTypeCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->defaultLeaseTime = $value; + } + else + { + $request->defaultLeaseTime = $value->handle; + } + $this->connection->__soapCall('IDHCPConfig_setDefaultLeaseTime', array((array)$request)); } - public function getSharedFolders() + public function getMaxLeaseTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getSharedFolders', array((array)$request)); - return new ISharedFolderCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getMaxLeaseTime', array((array)$request)); + return (float)$response->returnval; } - public function getPerformanceCollector() + public function setMaxLeaseTime($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getPerformanceCollector', array((array)$request)); - return new IPerformanceCollector ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->maxLeaseTime = $value; + } + else + { + $request->maxLeaseTime = $value->handle; + } + $this->connection->__soapCall('IDHCPConfig_setMaxLeaseTime', array((array)$request)); } - public function getDHCPServers() + public function getForcedOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getDHCPServers', array((array)$request)); - return new IDHCPServerCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getForcedOptions', array((array)$request)); + return new DHCPOptionCollection ($this->connection, (array)$response->returnval); } - public function getNATNetworks() + public function setForcedOptions($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getNATNetworks', array((array)$request)); - return new INATNetworkCollection ($this->connection, (array)$response->returnval); + if (is_array($value) || is_null($value) || is_scalar($value)) + { + $request->forcedOptions = $value; + } + else + { + $request->forcedOptions = $value->handle; + } + $this->connection->__soapCall('IDHCPConfig_setForcedOptions', array((array)$request)); } - public function getEventSource() + public function getSuppressedOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPConfig_getSuppressedOptions', array((array)$request)); + return new DHCPOptionCollection ($this->connection, (array)$response->returnval); } - public function getInternalNetworks() + public function setSuppressedOptions($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getInternalNetworks', array((array)$request)); - return (array)$response->returnval; + if (is_array($value) || is_null($value) || is_scalar($value)) + { + $request->suppressedOptions = $value; + } + else + { + $request->suppressedOptions = $value->handle; + } + $this->connection->__soapCall('IDHCPConfig_setSuppressedOptions', array((array)$request)); } +} - public function getGenericNetworkDrivers() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualBox_getGenericNetworkDrivers', array((array)$request)); - return (array)$response->returnval; - } +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDHCPConfigCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDHCPConfig"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDHCPGlobalConfig extends IDHCPConfig +{ } /** * Generated VBoxWebService Managed Object Collection */ -class IVirtualBoxCollection extends VBox_ManagedObjectCollection +class IDHCPGlobalConfigCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IVirtualBox"; + protected $_interfaceName = "IDHCPGlobalConfig"; } /** * Generated VBoxWebService Interface Wrapper */ -class IVFSExplorer extends VBox_ManagedObject +class IDHCPGroupCondition extends VBox_ManagedObject { - public function update() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVFSExplorer_update', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); - } - - public function cd($arg_dir) + public function remove() { $request = new stdClass(); $request->_this = $this->handle; - $request->dir = $arg_dir; - $response = $this->connection->__soapCall('IVFSExplorer_cd', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPGroupCondition_remove', array((array)$request)); + return ; } - public function cdUp() + public function getInclusive() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVFSExplorer_cdUp', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPGroupCondition_getInclusive', array((array)$request)); + return (bool)$response->returnval; } - public function entryList() + public function setInclusive($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVFSExplorer_entryList', array((array)$request)); - return array((array)$response->names, (array)$response->types, (array)$response->sizes, (array)$response->modes); + if (is_null($value) || is_scalar($value)) + { + $request->inclusive = $value; + } + else + { + $request->inclusive = $value->handle; + } + $this->connection->__soapCall('IDHCPGroupCondition_setInclusive', array((array)$request)); } - public function exists($arg_names) + public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $request->names = $arg_names; - $response = $this->connection->__soapCall('IVFSExplorer_exists', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IDHCPGroupCondition_getType', array((array)$request)); + return new DHCPGroupConditionType ($this->connection, $response->returnval); } - public function remove($arg_names) + public function setType($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->names = $arg_names; - $response = $this->connection->__soapCall('IVFSExplorer_remove', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->type = $value; + } + else + { + $request->type = $value->handle; + } + $this->connection->__soapCall('IDHCPGroupCondition_setType', array((array)$request)); } - public function getPath() + public function getValue() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVFSExplorer_getPath', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPGroupCondition_getValue', array((array)$request)); return (string)$response->returnval; } - public function getType() + public function setValue($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVFSExplorer_getType', array((array)$request)); - return new VFSType ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->value = $value; + } + else + { + $request->value = $value->handle; + } + $this->connection->__soapCall('IDHCPGroupCondition_setValue', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IVFSExplorerCollection extends VBox_ManagedObjectCollection +class IDHCPGroupConditionCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IVFSExplorer"; + protected $_interfaceName = "IDHCPGroupCondition"; } /** * Generated VBoxWebService Interface Wrapper */ -class IAppliance extends VBox_ManagedObject +class IDHCPGroupConfig extends IDHCPConfig { - public function read($arg_file) + public function addCondition($arg_inclusive, $arg_type, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $request->file = $arg_file; - $response = $this->connection->__soapCall('IAppliance_read', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $request->inclusive = $arg_inclusive; + $request->type = $arg_type; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IDHCPGroupConfig_addCondition', array((array)$request)); + return new IDHCPGroupCondition ($this->connection, $response->returnval); } - public function interpret() + public function removeAllConditions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_interpret', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPGroupConfig_removeAllConditions', array((array)$request)); return ; } - public function importMachines($arg_options) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->options = $arg_options; - $response = $this->connection->__soapCall('IAppliance_importMachines', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); - } - - public function createVFSExplorer($arg_URI) + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $request->URI = $arg_URI; - $response = $this->connection->__soapCall('IAppliance_createVFSExplorer', array((array)$request)); - return new IVFSExplorer ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDHCPGroupConfig_getName', array((array)$request)); + return (string)$response->returnval; } - public function write($arg_format, $arg_options, $arg_path) + public function setName($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->format = $arg_format; - $request->options = $arg_options; - $request->path = $arg_path; - $response = $this->connection->__soapCall('IAppliance_write', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IDHCPGroupConfig_setName', array((array)$request)); } - public function getWarnings() + public function getConditions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getWarnings', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IDHCPGroupConfig_getConditions', array((array)$request)); + return new IDHCPGroupConditionCollection ($this->connection, (array)$response->returnval); } +} - public function getPasswordIds() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getPasswordIds', array((array)$request)); - return (array)$response->returnval; - } +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDHCPGroupConfigCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDHCPGroupConfig"; +} - public function getMediumIdsForPasswordId($arg_passwordId) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->passwordId = $arg_passwordId; - $response = $this->connection->__soapCall('IAppliance_getMediumIdsForPasswordId', array((array)$request)); - return (array)$response->returnval; - } +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDHCPIndividualConfig extends IDHCPConfig +{ - public function addPasswords($arg_identifiers, $arg_passwords) + public function getMACAddress() { $request = new stdClass(); $request->_this = $this->handle; - $request->identifiers = $arg_identifiers; - $request->passwords = $arg_passwords; - $response = $this->connection->__soapCall('IAppliance_addPasswords', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IDHCPIndividualConfig_getMACAddress', array((array)$request)); + return (string)$response->returnval; } - public function getPath() + public function getMachineId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getPath', array((array)$request)); + $response = $this->connection->__soapCall('IDHCPIndividualConfig_getMachineId', array((array)$request)); return (string)$response->returnval; } - public function getDisks() + public function getSlot() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getDisks', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IDHCPIndividualConfig_getSlot', array((array)$request)); + return (float)$response->returnval; } - public function getVirtualSystemDescriptions() + public function getFixedAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getVirtualSystemDescriptions', array((array)$request)); - return new IVirtualSystemDescriptionCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IDHCPIndividualConfig_getFixedAddress', array((array)$request)); + return (string)$response->returnval; } - public function getMachines() + public function setFixedAddress($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAppliance_getMachines', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->fixedAddress = $value; + } + else + { + $request->fixedAddress = $value->handle; + } + $this->connection->__soapCall('IDHCPIndividualConfig_setFixedAddress', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IApplianceCollection extends VBox_ManagedObjectCollection +class IDHCPIndividualConfigCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IAppliance"; + protected $_interfaceName = "IDHCPIndividualConfig"; } /** * Generated VBoxWebService Interface Wrapper */ -class IVirtualSystemDescription extends VBox_ManagedObject +class IVirtualBox extends VBox_ManagedObject { - public function getDescription() + public function composeMachineFilename($arg_name, $arg_group, $arg_createFlags, $arg_baseFolder) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualSystemDescription_getDescription', array((array)$request)); - return array(new VirtualSystemDescriptionTypeCollection ($this->connection, (array)$response->types), (array)$response->refs, (array)$response->OVFValues, (array)$response->VBoxValues, (array)$response->extraConfigValues); + $request->name = $arg_name; + $request->group = $arg_group; + $request->createFlags = $arg_createFlags; + $request->baseFolder = $arg_baseFolder; + $response = $this->connection->__soapCall('IVirtualBox_composeMachineFilename', array((array)$request)); + return (string)$response->returnval; } - public function getDescriptionByType($arg_type) + public function getPlatformProperties($arg_architecture) { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IVirtualSystemDescription_getDescriptionByType', array((array)$request)); - return array(new VirtualSystemDescriptionTypeCollection ($this->connection, (array)$response->types), (array)$response->refs, (array)$response->OVFValues, (array)$response->VBoxValues, (array)$response->extraConfigValues); + $request->architecture = $arg_architecture; + $response = $this->connection->__soapCall('IVirtualBox_getPlatformProperties', array((array)$request)); + return new IPlatformProperties ($this->connection, $response->returnval); } - public function getValuesByType($arg_type, $arg_which) + public function createMachine($arg_settingsFile, $arg_name, $arg_platform, $arg_groups, $arg_osTypeId, $arg_flags, $arg_cipher, $arg_passwordId, $arg_password) { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $request->which = $arg_which; - $response = $this->connection->__soapCall('IVirtualSystemDescription_getValuesByType', array((array)$request)); - return (array)$response->returnval; + $request->settingsFile = $arg_settingsFile; + $request->name = $arg_name; + $request->platform = $arg_platform; + $request->groups = $arg_groups; + $request->osTypeId = $arg_osTypeId; + $request->flags = $arg_flags; + $request->cipher = $arg_cipher; + $request->passwordId = $arg_passwordId; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IVirtualBox_createMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } - public function setFinalValues($arg_enabled, $arg_VBoxValues, $arg_extraConfigValues) + public function openMachine($arg_settingsFile, $arg_password) { $request = new stdClass(); $request->_this = $this->handle; - $request->enabled = $arg_enabled; - $request->VBoxValues = $arg_VBoxValues; - $request->extraConfigValues = $arg_extraConfigValues; - $response = $this->connection->__soapCall('IVirtualSystemDescription_setFinalValues', array((array)$request)); - return ; + $request->settingsFile = $arg_settingsFile; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IVirtualBox_openMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } - public function addDescription($arg_type, $arg_VBoxValue, $arg_extraConfigValue) + public function registerMachine($arg_machine) { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $request->VBoxValue = $arg_VBoxValue; - $request->extraConfigValue = $arg_extraConfigValue; - $response = $this->connection->__soapCall('IVirtualSystemDescription_addDescription', array((array)$request)); + $request->machine = $arg_machine; + $response = $this->connection->__soapCall('IVirtualBox_registerMachine', array((array)$request)); return ; } - public function getCount() + public function findMachine($arg_nameOrId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVirtualSystemDescription_getCount', array((array)$request)); - return (float)$response->returnval; + $request->nameOrId = $arg_nameOrId; + $response = $this->connection->__soapCall('IVirtualBox_findMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVirtualSystemDescriptionCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVirtualSystemDescription"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IBIOSSettings extends VBox_ManagedObject -{ + public function getMachinesByGroups($arg_groups) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->groups = $arg_groups; + $response = $this->connection->__soapCall('IVirtualBox_getMachinesByGroups', array((array)$request)); + return new IMachineCollection ($this->connection, (array)$response->returnval); + } - public function getLogoFadeIn() + public function getMachineStates($arg_machines) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getLogoFadeIn', array((array)$request)); - return (bool)$response->returnval; + $request->machines = $arg_machines; + $response = $this->connection->__soapCall('IVirtualBox_getMachineStates', array((array)$request)); + return new MachineStateCollection ($this->connection, (array)$response->returnval); } - public function setLogoFadeIn($value) + public function createAppliance() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logoFadeIn = (bool)$value; - } - else - { - $request->logoFadeIn = (bool)$value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setLogoFadeIn', array((array)$request)); + $response = $this->connection->__soapCall('IVirtualBox_createAppliance', array((array)$request)); + return new IAppliance ($this->connection, $response->returnval); } - public function getLogoFadeOut() + public function createUnattendedInstaller() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getLogoFadeOut', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IVirtualBox_createUnattendedInstaller', array((array)$request)); + return new IUnattended ($this->connection, $response->returnval); } - public function setLogoFadeOut($value) + public function createMedium($arg_format, $arg_location, $arg_accessMode, $arg_aDeviceTypeType) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logoFadeOut = (bool)$value; - } - else - { - $request->logoFadeOut = (bool)$value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setLogoFadeOut', array((array)$request)); + $request->format = $arg_format; + $request->location = $arg_location; + $request->accessMode = $arg_accessMode; + $request->aDeviceTypeType = $arg_aDeviceTypeType; + $response = $this->connection->__soapCall('IVirtualBox_createMedium', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getLogoDisplayTime() + public function openMedium($arg_location, $arg_deviceType, $arg_accessMode, $arg_forceNewUuid) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getLogoDisplayTime', array((array)$request)); - return (float)$response->returnval; + $request->location = $arg_location; + $request->deviceType = $arg_deviceType; + $request->accessMode = $arg_accessMode; + $request->forceNewUuid = $arg_forceNewUuid; + $response = $this->connection->__soapCall('IVirtualBox_openMedium', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function setLogoDisplayTime($value) + public function getGuestOSType($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logoDisplayTime = $value; - } - else - { - $request->logoDisplayTime = $value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setLogoDisplayTime', array((array)$request)); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IVirtualBox_getGuestOSType', array((array)$request)); + return new IGuestOSType ($this->connection, $response->returnval); } - public function getLogoImagePath() + public function getGuestOSSubtypesByFamilyId($arg_family) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getLogoImagePath', array((array)$request)); - return (string)$response->returnval; + $request->family = $arg_family; + $response = $this->connection->__soapCall('IVirtualBox_getGuestOSSubtypesByFamilyId', array((array)$request)); + return (array)$response->returnval; } - public function setLogoImagePath($value) + public function getGuestOSDescsBySubtype($arg_OSSubtype) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logoImagePath = $value; - } - else - { - $request->logoImagePath = $value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setLogoImagePath', array((array)$request)); + $request->OSSubtype = $arg_OSSubtype; + $response = $this->connection->__soapCall('IVirtualBox_getGuestOSDescsBySubtype', array((array)$request)); + return (array)$response->returnval; } - public function getBootMenuMode() + public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount, $arg_autoMountPoint) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getBootMenuMode', array((array)$request)); - return new BIOSBootMenuMode ($this->connection, $response->returnval); + $request->name = $arg_name; + $request->hostPath = $arg_hostPath; + $request->writable = $arg_writable; + $request->automount = $arg_automount; + $request->autoMountPoint = $arg_autoMountPoint; + $response = $this->connection->__soapCall('IVirtualBox_createSharedFolder', array((array)$request)); + return ; } - public function setBootMenuMode($value) + public function removeSharedFolder($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->bootMenuMode = $value; - } - else - { - $request->bootMenuMode = $value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setBootMenuMode', array((array)$request)); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IVirtualBox_removeSharedFolder', array((array)$request)); + return ; } - public function getACPIEnabled() + public function getExtraDataKeys() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getACPIEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IVirtualBox_getExtraDataKeys', array((array)$request)); + return (array)$response->returnval; } - public function setACPIEnabled($value) + public function getExtraData($arg_key) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->ACPIEnabled = (bool)$value; - } - else - { - $request->ACPIEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setACPIEnabled', array((array)$request)); + $request->key = $arg_key; + $response = $this->connection->__soapCall('IVirtualBox_getExtraData', array((array)$request)); + return (string)$response->returnval; } - public function getIOAPICEnabled() + public function setExtraData($arg_key, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getIOAPICEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->key = $arg_key; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IVirtualBox_setExtraData', array((array)$request)); + return ; } - public function setIOAPICEnabled($value) + public function setSettingsSecret($arg_password) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->IOAPICEnabled = (bool)$value; - } - else - { - $request->IOAPICEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setIOAPICEnabled', array((array)$request)); + $request->password = $arg_password; + $response = $this->connection->__soapCall('IVirtualBox_setSettingsSecret', array((array)$request)); + return ; } - public function getTimeOffset() + public function createDHCPServer($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getTimeOffset', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IVirtualBox_createDHCPServer', array((array)$request)); + return new IDHCPServer ($this->connection, $response->returnval); } - public function setTimeOffset($value) + public function findDHCPServerByNetworkName($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->timeOffset = $value; - } - else - { - $request->timeOffset = $value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setTimeOffset', array((array)$request)); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IVirtualBox_findDHCPServerByNetworkName', array((array)$request)); + return new IDHCPServer ($this->connection, $response->returnval); } - public function getPXEDebugEnabled() + public function removeDHCPServer($arg_server) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getPXEDebugEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->server = $arg_server; + $response = $this->connection->__soapCall('IVirtualBox_removeDHCPServer', array((array)$request)); + return ; } - public function setPXEDebugEnabled($value) + public function createNATNetwork($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->PXEDebugEnabled = (bool)$value; - } - else - { - $request->PXEDebugEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IBIOSSettings_setPXEDebugEnabled', array((array)$request)); + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_createNATNetwork', array((array)$request)); + return new INATNetwork ($this->connection, $response->returnval); } - public function getNonVolatileStorageFile() + public function findNATNetworkByName($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBIOSSettings_getNonVolatileStorageFile', array((array)$request)); - return (string)$response->returnval; + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_findNATNetworkByName', array((array)$request)); + return new INATNetwork ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IBIOSSettingsCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IBIOSSettings"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IPCIAddress extends VBox_ManagedObject -{ - public function asLong() + public function removeNATNetwork($arg_network) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPCIAddress_asLong', array((array)$request)); - return (int)$response->returnval; + $request->network = $arg_network; + $response = $this->connection->__soapCall('IVirtualBox_removeNATNetwork', array((array)$request)); + return ; } - public function fromLong($arg_number) + public function createHostOnlyNetwork($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - $request->number = $arg_number; - $response = $this->connection->__soapCall('IPCIAddress_fromLong', array((array)$request)); - return ; + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_createHostOnlyNetwork', array((array)$request)); + return new IHostOnlyNetwork ($this->connection, $response->returnval); } - public function getBus() + public function findHostOnlyNetworkByName($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPCIAddress_getBus', array((array)$request)); - return (int)$response->returnval; + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_findHostOnlyNetworkByName', array((array)$request)); + return new IHostOnlyNetwork ($this->connection, $response->returnval); } - public function setBus($value) + public function findHostOnlyNetworkById($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->bus = $value; - } - else - { - $request->bus = $value->handle; - } - $this->connection->__soapCall('IPCIAddress_setBus', array((array)$request)); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IVirtualBox_findHostOnlyNetworkById', array((array)$request)); + return new IHostOnlyNetwork ($this->connection, $response->returnval); } - public function getDevice() + public function removeHostOnlyNetwork($arg_network) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPCIAddress_getDevice', array((array)$request)); - return (int)$response->returnval; + $request->network = $arg_network; + $response = $this->connection->__soapCall('IVirtualBox_removeHostOnlyNetwork', array((array)$request)); + return ; } - public function setDevice($value) + public function createCloudNetwork($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->device = $value; - } - else - { - $request->device = $value->handle; - } - $this->connection->__soapCall('IPCIAddress_setDevice', array((array)$request)); + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_createCloudNetwork', array((array)$request)); + return new ICloudNetwork ($this->connection, $response->returnval); } - public function getDevFunction() + public function findCloudNetworkByName($arg_networkName) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPCIAddress_getDevFunction', array((array)$request)); - return (int)$response->returnval; + $request->networkName = $arg_networkName; + $response = $this->connection->__soapCall('IVirtualBox_findCloudNetworkByName', array((array)$request)); + return new ICloudNetwork ($this->connection, $response->returnval); } - public function setDevFunction($value) + public function removeCloudNetwork($arg_network) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->devFunction = $value; - } - else - { - $request->devFunction = $value->handle; - } - $this->connection->__soapCall('IPCIAddress_setDevFunction', array((array)$request)); + $request->network = $arg_network; + $response = $this->connection->__soapCall('IVirtualBox_removeCloudNetwork', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IPCIAddressCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IPCIAddress"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMachine extends VBox_ManagedObject -{ - public function lockMachine($arg_session, $arg_lockType) + public function checkFirmwarePresent($arg_platformArchitecture, $arg_firmwareType, $arg_version) { $request = new stdClass(); $request->_this = $this->handle; - $request->session = $arg_session; - $request->lockType = $arg_lockType; - $response = $this->connection->__soapCall('IMachine_lockMachine', array((array)$request)); - return ; + $request->platformArchitecture = $arg_platformArchitecture; + $request->firmwareType = $arg_firmwareType; + $request->version = $arg_version; + $response = $this->connection->__soapCall('IVirtualBox_checkFirmwarePresent', array((array)$request)); + return array((bool)$response->returnval, (string)$response->url, (string)$response->file); } - public function launchVMProcess($arg_session, $arg_name, $arg_environment) + public function findProgressById($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $request->session = $arg_session; - $request->name = $arg_name; - $request->environment = $arg_environment; - $response = $this->connection->__soapCall('IMachine_launchVMProcess', array((array)$request)); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IVirtualBox_findProgressById', array((array)$request)); return new IProgress ($this->connection, $response->returnval); } - public function setBootOrder($arg_position, $arg_device) + public function getTrackedObject($arg_trObjId) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $request->device = $arg_device; - $response = $this->connection->__soapCall('IMachine_setBootOrder', array((array)$request)); - return ; + $request->trObjId = $arg_trObjId; + $response = $this->connection->__soapCall('IVirtualBox_getTrackedObject', array((array)$request)); + return array(new VBox_ManagedObject ($this->connection, $response->pIface), new TrackedObjectState ($this->connection, $response->state), (float)$response->creationTime, (float)$response->deletionTime); } - public function getBootOrder($arg_position) + public function getTrackedObjectIds($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $response = $this->connection->__soapCall('IMachine_getBootOrder', array((array)$request)); - return new DeviceType ($this->connection, $response->returnval); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IVirtualBox_getTrackedObjectIds', array((array)$request)); + return (array)$response->returnval; } - public function attachDevice($arg_name, $arg_controllerPort, $arg_device, $arg_type, $arg_medium) + public function getVersion() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->type = $arg_type; - $request->medium = $arg_medium; - $response = $this->connection->__soapCall('IMachine_attachDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getVersion', array((array)$request)); + return (string)$response->returnval; } - public function attachDeviceWithoutMedium($arg_name, $arg_controllerPort, $arg_device, $arg_type) + public function getVersionNormalized() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IMachine_attachDeviceWithoutMedium', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getVersionNormalized', array((array)$request)); + return (string)$response->returnval; } - public function detachDevice($arg_name, $arg_controllerPort, $arg_device) + public function getRevision() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $response = $this->connection->__soapCall('IMachine_detachDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getRevision', array((array)$request)); + return (float)$response->returnval; } - public function passthroughDevice($arg_name, $arg_controllerPort, $arg_device, $arg_passthrough) + public function getPackageType() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->passthrough = (bool)$arg_passthrough; - $response = $this->connection->__soapCall('IMachine_passthroughDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getPackageType', array((array)$request)); + return (string)$response->returnval; } - public function temporaryEjectDevice($arg_name, $arg_controllerPort, $arg_device, $arg_temporaryEject) + public function getAPIVersion() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->temporaryEject = (bool)$arg_temporaryEject; - $response = $this->connection->__soapCall('IMachine_temporaryEjectDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getAPIVersion', array((array)$request)); + return (string)$response->returnval; } - public function nonRotationalDevice($arg_name, $arg_controllerPort, $arg_device, $arg_nonRotational) + public function getAPIRevision() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->nonRotational = (bool)$arg_nonRotational; - $response = $this->connection->__soapCall('IMachine_nonRotationalDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getAPIRevision', array((array)$request)); + return (float)$response->returnval; } - public function setAutoDiscardForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_discard) + public function getHomeFolder() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->discard = (bool)$arg_discard; - $response = $this->connection->__soapCall('IMachine_setAutoDiscardForDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getHomeFolder', array((array)$request)); + return (string)$response->returnval; } - public function setHotPluggableForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_hotPluggable) + public function getSettingsFilePath() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->hotPluggable = (bool)$arg_hotPluggable; - $response = $this->connection->__soapCall('IMachine_setHotPluggableForDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getSettingsFilePath', array((array)$request)); + return (string)$response->returnval; } - public function setBandwidthGroupForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_bandwidthGroup) + public function getHost() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->bandwidthGroup = $arg_bandwidthGroup; - $response = $this->connection->__soapCall('IMachine_setBandwidthGroupForDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getHost', array((array)$request)); + return new IHost ($this->connection, $response->returnval); } - public function setNoBandwidthGroupForDevice($arg_name, $arg_controllerPort, $arg_device) + public function getSystemProperties() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $response = $this->connection->__soapCall('IMachine_setNoBandwidthGroupForDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getSystemProperties', array((array)$request)); + return new ISystemProperties ($this->connection, $response->returnval); } - public function unmountMedium($arg_name, $arg_controllerPort, $arg_device, $arg_force) + public function getMachines() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->force = (bool)$arg_force; - $response = $this->connection->__soapCall('IMachine_unmountMedium', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getMachines', array((array)$request)); + return new IMachineCollection ($this->connection, (array)$response->returnval); } - public function mountMedium($arg_name, $arg_controllerPort, $arg_device, $arg_medium, $arg_force) + public function getMachineGroups() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $request->medium = $arg_medium; - $request->force = (bool)$arg_force; - $response = $this->connection->__soapCall('IMachine_mountMedium', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getMachineGroups', array((array)$request)); + return (array)$response->returnval; } - public function getMedium($arg_name, $arg_controllerPort, $arg_device) + public function getHardDisks() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $response = $this->connection->__soapCall('IMachine_getMedium', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getHardDisks', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function getMediumAttachmentsOfController($arg_name) + public function getDVDImages() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_getMediumAttachmentsOfController', array((array)$request)); - return new IMediumAttachmentCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getDVDImages', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function getMediumAttachment($arg_name, $arg_controllerPort, $arg_device) + public function getFloppyImages() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->controllerPort = $arg_controllerPort; - $request->device = $arg_device; - $response = $this->connection->__soapCall('IMachine_getMediumAttachment', array((array)$request)); - return new IMediumAttachment ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getFloppyImages', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function attachHostPCIDevice($arg_hostAddress, $arg_desiredGuestAddress, $arg_tryToUnbind) + public function getProgressOperations() { $request = new stdClass(); $request->_this = $this->handle; - $request->hostAddress = $arg_hostAddress; - $request->desiredGuestAddress = $arg_desiredGuestAddress; - $request->tryToUnbind = (bool)$arg_tryToUnbind; - $response = $this->connection->__soapCall('IMachine_attachHostPCIDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getProgressOperations', array((array)$request)); + return new IProgressCollection ($this->connection, (array)$response->returnval); } - public function detachHostPCIDevice($arg_hostAddress) + public function getGuestOSTypes() { $request = new stdClass(); $request->_this = $this->handle; - $request->hostAddress = $arg_hostAddress; - $response = $this->connection->__soapCall('IMachine_detachHostPCIDevice', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getGuestOSTypes', array((array)$request)); + return new IGuestOSTypeCollection ($this->connection, (array)$response->returnval); } - public function getNetworkAdapter($arg_slot) + public function getGuestOSFamilies() { $request = new stdClass(); $request->_this = $this->handle; - $request->slot = $arg_slot; - $response = $this->connection->__soapCall('IMachine_getNetworkAdapter', array((array)$request)); - return new INetworkAdapter ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getGuestOSFamilies', array((array)$request)); + return (array)$response->returnval; } - public function addStorageController($arg_name, $arg_connectionType) + public function getSharedFolders() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->connectionType = $arg_connectionType; - $response = $this->connection->__soapCall('IMachine_addStorageController', array((array)$request)); - return new IStorageController ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getSharedFolders', array((array)$request)); + return new ISharedFolderCollection ($this->connection, (array)$response->returnval); } - public function getStorageControllerByName($arg_name) + public function getPerformanceCollector() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_getStorageControllerByName', array((array)$request)); - return new IStorageController ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getPerformanceCollector', array((array)$request)); + return new IPerformanceCollector ($this->connection, $response->returnval); } - public function getStorageControllerByInstance($arg_connectionType, $arg_instance) + public function getDHCPServers() { $request = new stdClass(); $request->_this = $this->handle; - $request->connectionType = $arg_connectionType; - $request->instance = $arg_instance; - $response = $this->connection->__soapCall('IMachine_getStorageControllerByInstance', array((array)$request)); - return new IStorageController ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getDHCPServers', array((array)$request)); + return new IDHCPServerCollection ($this->connection, (array)$response->returnval); } - public function removeStorageController($arg_name) + public function getNATNetworks() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_removeStorageController', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getNATNetworks', array((array)$request)); + return new INATNetworkCollection ($this->connection, (array)$response->returnval); } - public function setStorageControllerBootable($arg_name, $arg_bootable) + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->bootable = (bool)$arg_bootable; - $response = $this->connection->__soapCall('IMachine_setStorageControllerBootable', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function addUSBController($arg_name, $arg_type) + public function getInternalNetworks() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IMachine_addUSBController', array((array)$request)); - return new IUSBController ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getInternalNetworks', array((array)$request)); + return (array)$response->returnval; } - public function removeUSBController($arg_name) + public function getHostOnlyNetworks() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_removeUSBController', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVirtualBox_getHostOnlyNetworks', array((array)$request)); + return new IHostOnlyNetworkCollection ($this->connection, (array)$response->returnval); } - public function getUSBControllerByName($arg_name) + public function getGenericNetworkDrivers() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_getUSBControllerByName', array((array)$request)); - return new IUSBController ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getGenericNetworkDrivers', array((array)$request)); + return (array)$response->returnval; } - public function getUSBControllerCountByType($arg_type) + public function getCloudNetworks() { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IMachine_getUSBControllerCountByType', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IVirtualBox_getCloudNetworks', array((array)$request)); + return new ICloudNetworkCollection ($this->connection, (array)$response->returnval); } - public function getSerialPort($arg_slot) + public function getCloudProviderManager() { $request = new stdClass(); $request->_this = $this->handle; - $request->slot = $arg_slot; - $response = $this->connection->__soapCall('IMachine_getSerialPort', array((array)$request)); - return new ISerialPort ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualBox_getCloudProviderManager', array((array)$request)); + return new ICloudProviderManager ($this->connection, $response->returnval); } +} - public function getParallelPort($arg_slot) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVirtualBoxCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVirtualBox"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVFSExplorer extends VBox_ManagedObject +{ + + public function update() { $request = new stdClass(); $request->_this = $this->handle; - $request->slot = $arg_slot; - $response = $this->connection->__soapCall('IMachine_getParallelPort', array((array)$request)); - return new IParallelPort ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVFSExplorer_update', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getExtraDataKeys() + public function cd($arg_dir) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getExtraDataKeys', array((array)$request)); - return (array)$response->returnval; - } - - public function getExtraData($arg_key) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->key = $arg_key; - $response = $this->connection->__soapCall('IMachine_getExtraData', array((array)$request)); - return (string)$response->returnval; + $request->dir = $arg_dir; + $response = $this->connection->__soapCall('IVFSExplorer_cd', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setExtraData($arg_key, $arg_value) + public function cdUp() { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IMachine_setExtraData', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVFSExplorer_cdUp', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getCPUProperty($arg_property) + public function entryList() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $response = $this->connection->__soapCall('IMachine_getCPUProperty', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IVFSExplorer_entryList', array((array)$request)); + return array((array)$response->names, (array)$response->types, (array)$response->sizes, (array)$response->modes); } - public function setCPUProperty($arg_property, $arg_value) + public function exists($arg_names) { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $request->value = (bool)$arg_value; - $response = $this->connection->__soapCall('IMachine_setCPUProperty', array((array)$request)); - return ; + $request->names = $arg_names; + $response = $this->connection->__soapCall('IVFSExplorer_exists', array((array)$request)); + return (array)$response->returnval; } - public function getCPUIDLeaf($arg_id) + public function remove($arg_names) { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IMachine_getCPUIDLeaf', array((array)$request)); - return array((float)$response->valEax, (float)$response->valEbx, (float)$response->valEcx, (float)$response->valEdx); + $request->names = $arg_names; + $response = $this->connection->__soapCall('IVFSExplorer_remove', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setCPUIDLeaf($arg_id, $arg_valEax, $arg_valEbx, $arg_valEcx, $arg_valEdx) + public function getPath() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $request->valEax = $arg_valEax; - $request->valEbx = $arg_valEbx; - $request->valEcx = $arg_valEcx; - $request->valEdx = $arg_valEdx; - $response = $this->connection->__soapCall('IMachine_setCPUIDLeaf', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVFSExplorer_getPath', array((array)$request)); + return (string)$response->returnval; } - public function removeCPUIDLeaf($arg_id) + public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IMachine_removeCPUIDLeaf', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IVFSExplorer_getType', array((array)$request)); + return new VFSType ($this->connection, $response->returnval); } +} - public function removeAllCPUIDLeaves() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVFSExplorerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVFSExplorer"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICertificate extends VBox_ManagedObject +{ + + public function isCurrentlyExpired() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_removeAllCPUIDLeaves', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_isCurrentlyExpired', array((array)$request)); + return (bool)$response->returnval; } - public function getHWVirtExProperty($arg_property) + public function queryInfo($arg_what) { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $response = $this->connection->__soapCall('IMachine_getHWVirtExProperty', array((array)$request)); - return (bool)$response->returnval; + $request->what = $arg_what; + $response = $this->connection->__soapCall('ICertificate_queryInfo', array((array)$request)); + return (string)$response->returnval; } - public function setHWVirtExProperty($arg_property, $arg_value) + public function getVersionNumber() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $request->value = (bool)$arg_value; - $response = $this->connection->__soapCall('IMachine_setHWVirtExProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getVersionNumber', array((array)$request)); + return new CertificateVersion ($this->connection, $response->returnval); } - public function setSettingsFilePath($arg_settingsFilePath) + public function getSerialNumber() { $request = new stdClass(); $request->_this = $this->handle; - $request->settingsFilePath = $arg_settingsFilePath; - $response = $this->connection->__soapCall('IMachine_setSettingsFilePath', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ICertificate_getSerialNumber', array((array)$request)); + return (string)$response->returnval; } - public function saveSettings() + public function getSignatureAlgorithmOID() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_saveSettings', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getSignatureAlgorithmOID', array((array)$request)); + return (string)$response->returnval; } - public function discardSettings() + public function getSignatureAlgorithmName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_discardSettings', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getSignatureAlgorithmName', array((array)$request)); + return (string)$response->returnval; } - public function unregister($arg_cleanupMode) + public function getIssuerName() { $request = new stdClass(); $request->_this = $this->handle; - $request->cleanupMode = $arg_cleanupMode; - $response = $this->connection->__soapCall('IMachine_unregister', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('ICertificate_getIssuerName', array((array)$request)); + return (array)$response->returnval; } - public function deleteConfig($arg_media) + public function getSubjectName() { $request = new stdClass(); $request->_this = $this->handle; - $request->media = $arg_media; - $response = $this->connection->__soapCall('IMachine_deleteConfig', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ICertificate_getSubjectName', array((array)$request)); + return (array)$response->returnval; } - public function exportTo($arg_appliance, $arg_location) + public function getFriendlyName() { $request = new stdClass(); $request->_this = $this->handle; - $request->appliance = $arg_appliance; - $request->location = $arg_location; - $response = $this->connection->__soapCall('IMachine_exportTo', array((array)$request)); - return new IVirtualSystemDescription ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ICertificate_getFriendlyName', array((array)$request)); + return (string)$response->returnval; } - public function findSnapshot($arg_nameOrId) + public function getValidityPeriodNotBefore() { $request = new stdClass(); $request->_this = $this->handle; - $request->nameOrId = $arg_nameOrId; - $response = $this->connection->__soapCall('IMachine_findSnapshot', array((array)$request)); - return new ISnapshot ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ICertificate_getValidityPeriodNotBefore', array((array)$request)); + return (string)$response->returnval; } - public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount) + public function getValidityPeriodNotAfter() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->hostPath = $arg_hostPath; - $request->writable = (bool)$arg_writable; - $request->automount = (bool)$arg_automount; - $response = $this->connection->__soapCall('IMachine_createSharedFolder', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getValidityPeriodNotAfter', array((array)$request)); + return (string)$response->returnval; } - public function removeSharedFolder($arg_name) + public function getPublicKeyAlgorithmOID() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_removeSharedFolder', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getPublicKeyAlgorithmOID', array((array)$request)); + return (string)$response->returnval; } - public function canShowConsoleWindow() + public function getPublicKeyAlgorithm() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_canShowConsoleWindow', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ICertificate_getPublicKeyAlgorithm', array((array)$request)); + return (string)$response->returnval; } - public function showConsoleWindow() + public function getSubjectPublicKey() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_showConsoleWindow', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ICertificate_getSubjectPublicKey', array((array)$request)); + return (array)$response->returnval; } - public function getGuestProperty($arg_name) + public function getIssuerUniqueIdentifier() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_getGuestProperty', array((array)$request)); - return array((string)$response->value, (float)$response->timestamp, (string)$response->flags); + $response = $this->connection->__soapCall('ICertificate_getIssuerUniqueIdentifier', array((array)$request)); + return (string)$response->returnval; } - public function getGuestPropertyValue($arg_property) + public function getSubjectUniqueIdentifier() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $response = $this->connection->__soapCall('IMachine_getGuestPropertyValue', array((array)$request)); + $response = $this->connection->__soapCall('ICertificate_getSubjectUniqueIdentifier', array((array)$request)); return (string)$response->returnval; } - public function getGuestPropertyTimestamp($arg_property) + public function getCertificateAuthority() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $response = $this->connection->__soapCall('IMachine_getGuestPropertyTimestamp', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ICertificate_getCertificateAuthority', array((array)$request)); + return (bool)$response->returnval; } - public function setGuestProperty($arg_property, $arg_value, $arg_flags) + public function getKeyUsage() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $request->value = $arg_value; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IMachine_setGuestProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getKeyUsage', array((array)$request)); + return (float)$response->returnval; } - public function setGuestPropertyValue($arg_property, $arg_value) + public function getExtendedKeyUsage() { $request = new stdClass(); $request->_this = $this->handle; - $request->property = $arg_property; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IMachine_setGuestPropertyValue', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getExtendedKeyUsage', array((array)$request)); + return (array)$response->returnval; } - public function deleteGuestProperty($arg_name) + public function getRawCertData() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachine_deleteGuestProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICertificate_getRawCertData', array((array)$request)); + return (array)$response->returnval; } - public function enumerateGuestProperties($arg_patterns) + public function getSelfSigned() { $request = new stdClass(); $request->_this = $this->handle; - $request->patterns = $arg_patterns; - $response = $this->connection->__soapCall('IMachine_enumerateGuestProperties', array((array)$request)); - return array((array)$response->names, (array)$response->values, (array)$response->timestamps, (array)$response->flags); + $response = $this->connection->__soapCall('ICertificate_getSelfSigned', array((array)$request)); + return (bool)$response->returnval; } - public function querySavedGuestScreenInfo($arg_screenId) + public function getTrusted() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IMachine_querySavedGuestScreenInfo', array((array)$request)); - return array((float)$response->originX, (float)$response->originY, (float)$response->width, (float)$response->height, (bool)$response->enabled); + $response = $this->connection->__soapCall('ICertificate_getTrusted', array((array)$request)); + return (bool)$response->returnval; } - public function readSavedThumbnailToArray($arg_screenId, $arg_bitmapFormat) + public function getExpired() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->bitmapFormat = $arg_bitmapFormat; - $response = $this->connection->__soapCall('IMachine_readSavedThumbnailToArray', array((array)$request)); - return array((array)$response->returnval, (float)$response->width, (float)$response->height); + $response = $this->connection->__soapCall('ICertificate_getExpired', array((array)$request)); + return (bool)$response->returnval; } +} - public function querySavedScreenshotInfo($arg_screenId) +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICertificateCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICertificate"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IAppliance extends VBox_ManagedObject +{ + + public function read($arg_file) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IMachine_querySavedScreenshotInfo', array((array)$request)); - return array(new BitmapFormatCollection ($this->connection, (array)$response->returnval), (float)$response->width, (float)$response->height); + $request->file = $arg_file; + $response = $this->connection->__soapCall('IAppliance_read', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function readSavedScreenshotToArray($arg_screenId, $arg_bitmapFormat) + public function interpret() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->bitmapFormat = $arg_bitmapFormat; - $response = $this->connection->__soapCall('IMachine_readSavedScreenshotToArray', array((array)$request)); - return array((array)$response->returnval, (float)$response->width, (float)$response->height); + $response = $this->connection->__soapCall('IAppliance_interpret', array((array)$request)); + return ; } - public function hotPlugCPU($arg_cpu) + public function importMachines($arg_options) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpu = $arg_cpu; - $response = $this->connection->__soapCall('IMachine_hotPlugCPU', array((array)$request)); - return ; + $request->options = $arg_options; + $response = $this->connection->__soapCall('IAppliance_importMachines', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function hotUnplugCPU($arg_cpu) + public function createVFSExplorer($arg_URI) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpu = $arg_cpu; - $response = $this->connection->__soapCall('IMachine_hotUnplugCPU', array((array)$request)); - return ; + $request->URI = $arg_URI; + $response = $this->connection->__soapCall('IAppliance_createVFSExplorer', array((array)$request)); + return new IVFSExplorer ($this->connection, $response->returnval); } - public function getCPUStatus($arg_cpu) + public function write($arg_format, $arg_options, $arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpu = $arg_cpu; - $response = $this->connection->__soapCall('IMachine_getCPUStatus', array((array)$request)); - return (bool)$response->returnval; + $request->format = $arg_format; + $request->options = $arg_options; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IAppliance_write', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getEffectiveParavirtProvider() + public function getWarnings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getEffectiveParavirtProvider', array((array)$request)); - return new ParavirtProvider ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IAppliance_getWarnings', array((array)$request)); + return (array)$response->returnval; } - public function queryLogFilename($arg_idx) + public function getPasswordIds() { $request = new stdClass(); $request->_this = $this->handle; - $request->idx = $arg_idx; - $response = $this->connection->__soapCall('IMachine_queryLogFilename', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IAppliance_getPasswordIds', array((array)$request)); + return (array)$response->returnval; } - public function readLog($arg_idx, $arg_offset, $arg_size) + public function getMediumIdsForPasswordId($arg_passwordId) { $request = new stdClass(); $request->_this = $this->handle; - $request->idx = $arg_idx; - $request->offset = $arg_offset; - $request->size = $arg_size; - $response = $this->connection->__soapCall('IMachine_readLog', array((array)$request)); + $request->passwordId = $arg_passwordId; + $response = $this->connection->__soapCall('IAppliance_getMediumIdsForPasswordId', array((array)$request)); return (array)$response->returnval; } - public function cloneTo($arg_target, $arg_mode, $arg_options) + public function addPasswords($arg_identifiers, $arg_passwords) { $request = new stdClass(); $request->_this = $this->handle; - $request->target = $arg_target; - $request->mode = $arg_mode; - $request->options = $arg_options; - $response = $this->connection->__soapCall('IMachine_cloneTo', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $request->identifiers = $arg_identifiers; + $request->passwords = $arg_passwords; + $response = $this->connection->__soapCall('IAppliance_addPasswords', array((array)$request)); + return ; } - public function saveState() + public function createVirtualSystemDescriptions($arg_requested) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_saveState', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $request->requested = $arg_requested; + $response = $this->connection->__soapCall('IAppliance_createVirtualSystemDescriptions', array((array)$request)); + return (float)$response->returnval; } - public function adoptSavedState($arg_savedStateFile) + public function getPath() { $request = new stdClass(); $request->_this = $this->handle; - $request->savedStateFile = $arg_savedStateFile; - $response = $this->connection->__soapCall('IMachine_adoptSavedState', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IAppliance_getPath', array((array)$request)); + return (string)$response->returnval; } - public function discardSavedState($arg_fRemoveFile) + public function getDisks() { $request = new stdClass(); $request->_this = $this->handle; - $request->fRemoveFile = (bool)$arg_fRemoveFile; - $response = $this->connection->__soapCall('IMachine_discardSavedState', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IAppliance_getDisks', array((array)$request)); + return (array)$response->returnval; } - public function takeSnapshot($arg_name, $arg_description, $arg_pause) + public function getVirtualSystemDescriptions() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->description = $arg_description; - $request->pause = (bool)$arg_pause; - $response = $this->connection->__soapCall('IMachine_takeSnapshot', array((array)$request)); - return array(new IProgress ($this->connection, $response->returnval), (string)$response->id); + $response = $this->connection->__soapCall('IAppliance_getVirtualSystemDescriptions', array((array)$request)); + return new IVirtualSystemDescriptionCollection ($this->connection, (array)$response->returnval); } - public function deleteSnapshot($arg_id) + public function getMachines() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IMachine_deleteSnapshot', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IAppliance_getMachines', array((array)$request)); + return (array)$response->returnval; } - public function deleteSnapshotAndAllChildren($arg_id) + public function getCertificate() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IMachine_deleteSnapshotAndAllChildren', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IAppliance_getCertificate', array((array)$request)); + return new ICertificate ($this->connection, $response->returnval); } +} - public function deleteSnapshotRange($arg_startId, $arg_endId) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IApplianceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IAppliance"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVirtualSystemDescription extends VBox_ManagedObject +{ + + public function getDescription() { $request = new stdClass(); $request->_this = $this->handle; - $request->startId = $arg_startId; - $request->endId = $arg_endId; - $response = $this->connection->__soapCall('IMachine_deleteSnapshotRange', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IVirtualSystemDescription_getDescription', array((array)$request)); + return array(new VirtualSystemDescriptionTypeCollection ($this->connection, (array)$response->types), (array)$response->refs, (array)$response->OVFValues, (array)$response->VBoxValues, (array)$response->extraConfigValues); } - public function restoreSnapshot($arg_snapshot) + public function getDescriptionByType($arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $request->snapshot = $arg_snapshot; - $response = $this->connection->__soapCall('IMachine_restoreSnapshot', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $request->type = $arg_type; + $response = $this->connection->__soapCall('IVirtualSystemDescription_getDescriptionByType', array((array)$request)); + return array(new VirtualSystemDescriptionTypeCollection ($this->connection, (array)$response->types), (array)$response->refs, (array)$response->OVFValues, (array)$response->VBoxValues, (array)$response->extraConfigValues); } - public function applyDefaults($arg_flags) + public function removeDescriptionByType($arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IMachine_applyDefaults', array((array)$request)); + $request->type = $arg_type; + $response = $this->connection->__soapCall('IVirtualSystemDescription_removeDescriptionByType', array((array)$request)); return ; } - public function getParent() + public function getValuesByType($arg_type, $arg_which) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getParent', array((array)$request)); - return new IVirtualBox ($this->connection, $response->returnval); + $request->type = $arg_type; + $request->which = $arg_which; + $response = $this->connection->__soapCall('IVirtualSystemDescription_getValuesByType', array((array)$request)); + return (array)$response->returnval; } - public function getIcon() + public function setFinalValues($arg_enabled, $arg_VBoxValues, $arg_extraConfigValues) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getIcon', array((array)$request)); - return (array)$response->returnval; + $request->enabled = $arg_enabled; + $request->VBoxValues = $arg_VBoxValues; + $request->extraConfigValues = $arg_extraConfigValues; + $response = $this->connection->__soapCall('IVirtualSystemDescription_setFinalValues', array((array)$request)); + return ; } - public function setIcon($value) + public function addDescription($arg_type, $arg_VBoxValue, $arg_extraConfigValue) { $request = new stdClass(); $request->_this = $this->handle; - if (is_array($value) || is_null($value) || is_scalar($value)) - { - $request->icon = $value; - } - else - { - $request->icon = $value->handle; - } - $this->connection->__soapCall('IMachine_setIcon', array((array)$request)); + $request->type = $arg_type; + $request->VBoxValue = $arg_VBoxValue; + $request->extraConfigValue = $arg_extraConfigValue; + $response = $this->connection->__soapCall('IVirtualSystemDescription_addDescription', array((array)$request)); + return ; } - public function getAccessible() + public function getCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAccessible', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IVirtualSystemDescription_getCount', array((array)$request)); + return (float)$response->returnval; } +} - public function getAccessError() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVirtualSystemDescriptionCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVirtualSystemDescription"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUnattended extends VBox_ManagedObject +{ + + public function detectIsoOS() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAccessError', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_detectIsoOS', array((array)$request)); + return ; } - public function getName() + public function prepare() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_prepare', array((array)$request)); + return ; } - public function setName($value) + public function constructMedia() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('IMachine_setName', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_constructMedia', array((array)$request)); + return ; } - public function getDescription() + public function reconfigureVM() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getDescription', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_reconfigureVM', array((array)$request)); + return ; + } + + public function done() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUnattended_done', array((array)$request)); + return ; + } + + public function getIsoPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUnattended_getIsoPath', array((array)$request)); return (string)$response->returnval; } - public function setDescription($value) + public function setIsoPath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->description = $value; + $request->isoPath = $value; } else { - $request->description = $value->handle; + $request->isoPath = $value->handle; } - $this->connection->__soapCall('IMachine_setDescription', array((array)$request)); - } - - public function getId() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getId', array((array)$request)); - return (string)$response->returnval; + $this->connection->__soapCall('IUnattended_setIsoPath', array((array)$request)); } - public function getGroups() + public function getMachine() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getGroups', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } - public function setGroups($value) + public function setMachine($value) { $request = new stdClass(); $request->_this = $this->handle; - if (is_array($value) || is_null($value) || is_scalar($value)) + if (is_null($value) || is_scalar($value)) { - $request->groups = $value; + $request->machine = $value; } else { - $request->groups = $value->handle; + $request->machine = $value->handle; } - $this->connection->__soapCall('IMachine_setGroups', array((array)$request)); + $this->connection->__soapCall('IUnattended_setMachine', array((array)$request)); } - public function getOSTypeId() + public function getUser() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getOSTypeId', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getUser', array((array)$request)); return (string)$response->returnval; } - public function setOSTypeId($value) + public function setUser($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->OSTypeId = $value; + $request->user = $value; } else { - $request->OSTypeId = $value->handle; + $request->user = $value->handle; } - $this->connection->__soapCall('IMachine_setOSTypeId', array((array)$request)); + $this->connection->__soapCall('IUnattended_setUser', array((array)$request)); } - public function getHardwareVersion() + public function getUserPassword() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getHardwareVersion', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getUserPassword', array((array)$request)); return (string)$response->returnval; } - public function setHardwareVersion($value) + public function setUserPassword($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->hardwareVersion = $value; + $request->userPassword = $value; } else { - $request->hardwareVersion = $value->handle; + $request->userPassword = $value->handle; } - $this->connection->__soapCall('IMachine_setHardwareVersion', array((array)$request)); + $this->connection->__soapCall('IUnattended_setUserPassword', array((array)$request)); } - public function getHardwareUUID() + public function getAdminPassword() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getHardwareUUID', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getAdminPassword', array((array)$request)); return (string)$response->returnval; } - public function setHardwareUUID($value) + public function setAdminPassword($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->hardwareUUID = $value; + $request->adminPassword = $value; } else { - $request->hardwareUUID = $value->handle; + $request->adminPassword = $value->handle; } - $this->connection->__soapCall('IMachine_setHardwareUUID', array((array)$request)); + $this->connection->__soapCall('IUnattended_setAdminPassword', array((array)$request)); } - public function getCPUCount() + public function getFullUserName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCPUCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getFullUserName', array((array)$request)); + return (string)$response->returnval; } - public function setCPUCount($value) + public function setFullUserName($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->CPUCount = $value; + $request->fullUserName = $value; } else { - $request->CPUCount = $value->handle; + $request->fullUserName = $value->handle; } - $this->connection->__soapCall('IMachine_setCPUCount', array((array)$request)); + $this->connection->__soapCall('IUnattended_setFullUserName', array((array)$request)); } - public function getCPUHotPlugEnabled() + public function getProductKey() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCPUHotPlugEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getProductKey', array((array)$request)); + return (string)$response->returnval; } - public function setCPUHotPlugEnabled($value) + public function setProductKey($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->CPUHotPlugEnabled = (bool)$value; + $request->productKey = $value; } else { - $request->CPUHotPlugEnabled = (bool)$value->handle; + $request->productKey = $value->handle; } - $this->connection->__soapCall('IMachine_setCPUHotPlugEnabled', array((array)$request)); + $this->connection->__soapCall('IUnattended_setProductKey', array((array)$request)); } - public function getCPUExecutionCap() + public function getAdditionsIsoPath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCPUExecutionCap', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getAdditionsIsoPath', array((array)$request)); + return (string)$response->returnval; } - public function setCPUExecutionCap($value) + public function setAdditionsIsoPath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->CPUExecutionCap = $value; + $request->additionsIsoPath = $value; } else { - $request->CPUExecutionCap = $value->handle; + $request->additionsIsoPath = $value->handle; } - $this->connection->__soapCall('IMachine_setCPUExecutionCap', array((array)$request)); + $this->connection->__soapCall('IUnattended_setAdditionsIsoPath', array((array)$request)); } - public function getCPUIDPortabilityLevel() + public function getInstallGuestAdditions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCPUIDPortabilityLevel', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getInstallGuestAdditions', array((array)$request)); + return (bool)$response->returnval; } - public function setCPUIDPortabilityLevel($value) + public function setInstallGuestAdditions($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->CPUIDPortabilityLevel = $value; + $request->installGuestAdditions = $value; } else { - $request->CPUIDPortabilityLevel = $value->handle; + $request->installGuestAdditions = $value->handle; } - $this->connection->__soapCall('IMachine_setCPUIDPortabilityLevel', array((array)$request)); + $this->connection->__soapCall('IUnattended_setInstallGuestAdditions', array((array)$request)); } - public function getMemorySize() + public function getProductKeyRequired() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getMemorySize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getProductKeyRequired', array((array)$request)); + return (bool)$response->returnval; } - public function setMemorySize($value) + public function getValidationKitIsoPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUnattended_getValidationKitIsoPath', array((array)$request)); + return (string)$response->returnval; + } + + public function setValidationKitIsoPath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->memorySize = $value; + $request->validationKitIsoPath = $value; } else { - $request->memorySize = $value->handle; + $request->validationKitIsoPath = $value->handle; } - $this->connection->__soapCall('IMachine_setMemorySize', array((array)$request)); + $this->connection->__soapCall('IUnattended_setValidationKitIsoPath', array((array)$request)); } - public function getMemoryBalloonSize() + public function getInstallTestExecService() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getMemoryBalloonSize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getInstallTestExecService', array((array)$request)); + return (bool)$response->returnval; } - public function setMemoryBalloonSize($value) + public function setInstallTestExecService($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->memoryBalloonSize = $value; + $request->installTestExecService = $value; } else { - $request->memoryBalloonSize = $value->handle; + $request->installTestExecService = $value->handle; } - $this->connection->__soapCall('IMachine_setMemoryBalloonSize', array((array)$request)); + $this->connection->__soapCall('IUnattended_setInstallTestExecService', array((array)$request)); } - public function getPageFusionEnabled() + public function getUserPayloadIsoPath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getPageFusionEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getUserPayloadIsoPath', array((array)$request)); + return (string)$response->returnval; } - public function setPageFusionEnabled($value) + public function setUserPayloadIsoPath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->pageFusionEnabled = (bool)$value; + $request->userPayloadIsoPath = $value; } else { - $request->pageFusionEnabled = (bool)$value->handle; + $request->userPayloadIsoPath = $value->handle; } - $this->connection->__soapCall('IMachine_setPageFusionEnabled', array((array)$request)); + $this->connection->__soapCall('IUnattended_setUserPayloadIsoPath', array((array)$request)); } - public function getGraphicsControllerType() + public function getInstallUserPayload() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getGraphicsControllerType', array((array)$request)); - return new GraphicsControllerType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_getInstallUserPayload', array((array)$request)); + return (bool)$response->returnval; } - public function setGraphicsControllerType($value) + public function setInstallUserPayload($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->graphicsControllerType = $value; + $request->installUserPayload = $value; } else { - $request->graphicsControllerType = $value->handle; + $request->installUserPayload = $value->handle; } - $this->connection->__soapCall('IMachine_setGraphicsControllerType', array((array)$request)); + $this->connection->__soapCall('IUnattended_setInstallUserPayload', array((array)$request)); } - public function getVRAMSize() + public function getTimeZone() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVRAMSize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getTimeZone', array((array)$request)); + return (string)$response->returnval; } - public function setVRAMSize($value) + public function setTimeZone($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->VRAMSize = $value; + $request->timeZone = $value; } else { - $request->VRAMSize = $value->handle; + $request->timeZone = $value->handle; } - $this->connection->__soapCall('IMachine_setVRAMSize', array((array)$request)); + $this->connection->__soapCall('IUnattended_setTimeZone', array((array)$request)); } - public function getAccelerate3DEnabled() + public function getKeyboardLayout() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAccelerate3DEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getKeyboardLayout', array((array)$request)); + return (string)$response->returnval; } - public function setAccelerate3DEnabled($value) + public function setKeyboardLayout($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->accelerate3DEnabled = (bool)$value; + $request->keyboardLayout = $value; } else { - $request->accelerate3DEnabled = (bool)$value->handle; + $request->keyboardLayout = $value->handle; } - $this->connection->__soapCall('IMachine_setAccelerate3DEnabled', array((array)$request)); + $this->connection->__soapCall('IUnattended_setKeyboardLayout', array((array)$request)); } - public function getAccelerate2DVideoEnabled() + public function getKeyboardVariant() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAccelerate2DVideoEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getKeyboardVariant', array((array)$request)); + return (string)$response->returnval; } - public function setAccelerate2DVideoEnabled($value) + public function setKeyboardVariant($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->accelerate2DVideoEnabled = (bool)$value; + $request->keyboardVariant = $value; } else { - $request->accelerate2DVideoEnabled = (bool)$value->handle; + $request->keyboardVariant = $value->handle; } - $this->connection->__soapCall('IMachine_setAccelerate2DVideoEnabled', array((array)$request)); + $this->connection->__soapCall('IUnattended_setKeyboardVariant', array((array)$request)); } - public function getMonitorCount() + public function getLocale() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getMonitorCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getLocale', array((array)$request)); + return (string)$response->returnval; } - public function setMonitorCount($value) + public function setLocale($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->monitorCount = $value; + $request->locale = $value; } else { - $request->monitorCount = $value->handle; + $request->locale = $value->handle; } - $this->connection->__soapCall('IMachine_setMonitorCount', array((array)$request)); + $this->connection->__soapCall('IUnattended_setLocale', array((array)$request)); } - public function getVideoCaptureEnabled() + public function getLanguage() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getLanguage', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureEnabled($value) + public function setLanguage($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureEnabled = (bool)$value; + $request->language = $value; } else { - $request->videoCaptureEnabled = (bool)$value->handle; + $request->language = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureEnabled', array((array)$request)); + $this->connection->__soapCall('IUnattended_setLanguage', array((array)$request)); } - public function getVideoCaptureScreens() + public function getCountry() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureScreens', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getCountry', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureScreens($value) + public function setCountry($value) { $request = new stdClass(); $request->_this = $this->handle; - if (is_array($value) || is_null($value) || is_scalar($value)) + if (is_null($value) || is_scalar($value)) { - $request->videoCaptureScreens = $value; + $request->country = $value; } else { - $request->videoCaptureScreens = $value->handle; + $request->country = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureScreens', array((array)$request)); + $this->connection->__soapCall('IUnattended_setCountry', array((array)$request)); } - public function getVideoCaptureFile() + public function getProxy() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureFile', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getProxy', array((array)$request)); return (string)$response->returnval; } - public function setVideoCaptureFile($value) + public function setProxy($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureFile = $value; + $request->proxy = $value; } else { - $request->videoCaptureFile = $value->handle; + $request->proxy = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureFile', array((array)$request)); + $this->connection->__soapCall('IUnattended_setProxy', array((array)$request)); } - public function getVideoCaptureWidth() + public function getPackageSelectionAdjustments() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureWidth', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getPackageSelectionAdjustments', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureWidth($value) + public function setPackageSelectionAdjustments($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureWidth = $value; + $request->packageSelectionAdjustments = $value; } else { - $request->videoCaptureWidth = $value->handle; + $request->packageSelectionAdjustments = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureWidth', array((array)$request)); + $this->connection->__soapCall('IUnattended_setPackageSelectionAdjustments', array((array)$request)); } - public function getVideoCaptureHeight() + public function getHostname() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureHeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getHostname', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureHeight($value) + public function setHostname($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureHeight = $value; + $request->hostname = $value; } else { - $request->videoCaptureHeight = $value->handle; + $request->hostname = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureHeight', array((array)$request)); + $this->connection->__soapCall('IUnattended_setHostname', array((array)$request)); } - public function getVideoCaptureRate() + public function getAuxiliaryBasePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureRate', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getAuxiliaryBasePath', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureRate($value) + public function setAuxiliaryBasePath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureRate = $value; + $request->auxiliaryBasePath = $value; } else { - $request->videoCaptureRate = $value->handle; + $request->auxiliaryBasePath = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureRate', array((array)$request)); + $this->connection->__soapCall('IUnattended_setAuxiliaryBasePath', array((array)$request)); } - public function getVideoCaptureFPS() + public function getImageIndex() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureFPS', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getImageIndex', array((array)$request)); return (float)$response->returnval; } - public function setVideoCaptureFPS($value) + public function setImageIndex($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureFPS = $value; + $request->imageIndex = $value; } else { - $request->videoCaptureFPS = $value->handle; + $request->imageIndex = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureFPS', array((array)$request)); + $this->connection->__soapCall('IUnattended_setImageIndex', array((array)$request)); } - public function getVideoCaptureMaxTime() + public function getScriptTemplatePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureMaxTime', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getScriptTemplatePath', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureMaxTime($value) + public function setScriptTemplatePath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureMaxTime = $value; + $request->scriptTemplatePath = $value; } else { - $request->videoCaptureMaxTime = $value->handle; + $request->scriptTemplatePath = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureMaxTime', array((array)$request)); + $this->connection->__soapCall('IUnattended_setScriptTemplatePath', array((array)$request)); } - public function getVideoCaptureMaxFileSize() + public function getPostInstallScriptTemplatePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureMaxFileSize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getPostInstallScriptTemplatePath', array((array)$request)); + return (string)$response->returnval; } - public function setVideoCaptureMaxFileSize($value) + public function setPostInstallScriptTemplatePath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureMaxFileSize = $value; + $request->postInstallScriptTemplatePath = $value; } else { - $request->videoCaptureMaxFileSize = $value->handle; + $request->postInstallScriptTemplatePath = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureMaxFileSize', array((array)$request)); + $this->connection->__soapCall('IUnattended_setPostInstallScriptTemplatePath', array((array)$request)); } - public function getVideoCaptureOptions() + public function getPostInstallCommand() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVideoCaptureOptions', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getPostInstallCommand', array((array)$request)); return (string)$response->returnval; } - public function setVideoCaptureOptions($value) + public function setPostInstallCommand($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->videoCaptureOptions = $value; + $request->postInstallCommand = $value; } else { - $request->videoCaptureOptions = $value->handle; + $request->postInstallCommand = $value->handle; } - $this->connection->__soapCall('IMachine_setVideoCaptureOptions', array((array)$request)); - } - - public function getBIOSSettings() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getBIOSSettings', array((array)$request)); - return new IBIOSSettings ($this->connection, $response->returnval); + $this->connection->__soapCall('IUnattended_setPostInstallCommand', array((array)$request)); } - public function getFirmwareType() + public function getExtraInstallKernelParameters() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFirmwareType', array((array)$request)); - return new FirmwareType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_getExtraInstallKernelParameters', array((array)$request)); + return (string)$response->returnval; } - public function setFirmwareType($value) + public function setExtraInstallKernelParameters($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->firmwareType = $value; + $request->extraInstallKernelParameters = $value; } else { - $request->firmwareType = $value->handle; + $request->extraInstallKernelParameters = $value->handle; } - $this->connection->__soapCall('IMachine_setFirmwareType', array((array)$request)); + $this->connection->__soapCall('IUnattended_setExtraInstallKernelParameters', array((array)$request)); } - public function getPointingHIDType() + public function getDetectedOSTypeId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getPointingHIDType', array((array)$request)); - return new PointingHIDType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_getDetectedOSTypeId', array((array)$request)); + return (string)$response->returnval; } - public function setPointingHIDType($value) + public function getDetectedOSVersion() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->pointingHIDType = $value; - } - else - { - $request->pointingHIDType = $value->handle; - } - $this->connection->__soapCall('IMachine_setPointingHIDType', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getDetectedOSVersion', array((array)$request)); + return (string)$response->returnval; } - public function getKeyboardHIDType() + public function getDetectedOSFlavor() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getKeyboardHIDType', array((array)$request)); - return new KeyboardHIDType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_getDetectedOSFlavor', array((array)$request)); + return (string)$response->returnval; } - public function setKeyboardHIDType($value) + public function getDetectedOSLanguages() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->keyboardHIDType = $value; - } - else - { - $request->keyboardHIDType = $value->handle; - } - $this->connection->__soapCall('IMachine_setKeyboardHIDType', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getDetectedOSLanguages', array((array)$request)); + return (string)$response->returnval; } - public function getHPETEnabled() + public function getDetectedOSHints() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getHPETEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getDetectedOSHints', array((array)$request)); + return (string)$response->returnval; } - public function setHPETEnabled($value) + public function getDetectedImageNames() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->HPETEnabled = (bool)$value; - } - else - { - $request->HPETEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IMachine_setHPETEnabled', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getDetectedImageNames', array((array)$request)); + return (array)$response->returnval; } - public function getChipsetType() + public function getDetectedImageIndices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getChipsetType', array((array)$request)); - return new ChipsetType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUnattended_getDetectedImageIndices', array((array)$request)); + return (array)$response->returnval; } - public function setChipsetType($value) + public function getIsUnattendedInstallSupported() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->chipsetType = $value; - } - else - { - $request->chipsetType = $value->handle; - } - $this->connection->__soapCall('IMachine_setChipsetType', array((array)$request)); + $response = $this->connection->__soapCall('IUnattended_getIsUnattendedInstallSupported', array((array)$request)); + return (bool)$response->returnval; } - public function getSnapshotFolder() + public function getAvoidUpdatesOverNetwork() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSnapshotFolder', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IUnattended_getAvoidUpdatesOverNetwork', array((array)$request)); + return (bool)$response->returnval; } - public function setSnapshotFolder($value) + public function setAvoidUpdatesOverNetwork($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->snapshotFolder = $value; + $request->avoidUpdatesOverNetwork = $value; } else { - $request->snapshotFolder = $value->handle; + $request->avoidUpdatesOverNetwork = $value->handle; } - $this->connection->__soapCall('IMachine_setSnapshotFolder', array((array)$request)); + $this->connection->__soapCall('IUnattended_setAvoidUpdatesOverNetwork', array((array)$request)); } +} - public function getVRDEServer() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUnattendedCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUnattended"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGraphicsAdapter extends VBox_ManagedObject +{ + + public function setFeature($arg_feature, $arg_enabled) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVRDEServer', array((array)$request)); - return new IVRDEServer ($this->connection, $response->returnval); + $request->feature = $arg_feature; + $request->enabled = $arg_enabled; + $response = $this->connection->__soapCall('IGraphicsAdapter_setFeature', array((array)$request)); + return ; } - public function getEmulatedUSBCardReaderEnabled() + public function isFeatureEnabled($arg_feature) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getEmulatedUSBCardReaderEnabled', array((array)$request)); + $request->feature = $arg_feature; + $response = $this->connection->__soapCall('IGraphicsAdapter_isFeatureEnabled', array((array)$request)); return (bool)$response->returnval; } - public function setEmulatedUSBCardReaderEnabled($value) + public function getGraphicsControllerType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGraphicsAdapter_getGraphicsControllerType', array((array)$request)); + return new GraphicsControllerType ($this->connection, $response->returnval); + } + + public function setGraphicsControllerType($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->emulatedUSBCardReaderEnabled = (bool)$value; + $request->graphicsControllerType = $value; } else { - $request->emulatedUSBCardReaderEnabled = (bool)$value->handle; + $request->graphicsControllerType = $value->handle; } - $this->connection->__soapCall('IMachine_setEmulatedUSBCardReaderEnabled', array((array)$request)); + $this->connection->__soapCall('IGraphicsAdapter_setGraphicsControllerType', array((array)$request)); } - public function getMediumAttachments() + public function getVRAMSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getMediumAttachments', array((array)$request)); - return new IMediumAttachmentCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IGraphicsAdapter_getVRAMSize', array((array)$request)); + return (float)$response->returnval; } - public function getUSBControllers() + public function setVRAMSize($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getUSBControllers', array((array)$request)); - return new IUSBControllerCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->VRAMSize = $value; + } + else + { + $request->VRAMSize = $value->handle; + } + $this->connection->__soapCall('IGraphicsAdapter_setVRAMSize', array((array)$request)); } - public function getUSBDeviceFilters() + public function getMonitorCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getUSBDeviceFilters', array((array)$request)); - return new IUSBDeviceFilters ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGraphicsAdapter_getMonitorCount', array((array)$request)); + return (float)$response->returnval; } - public function getAudioAdapter() + public function setMonitorCount($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAudioAdapter', array((array)$request)); - return new IAudioAdapter ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->monitorCount = $value; + } + else + { + $request->monitorCount = $value->handle; + } + $this->connection->__soapCall('IGraphicsAdapter_setMonitorCount', array((array)$request)); } +} - public function getStorageControllers() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getStorageControllers', array((array)$request)); - return new IStorageControllerCollection ($this->connection, (array)$response->returnval); - } +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGraphicsAdapterCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGraphicsAdapter"; +} - public function getSettingsFilePath() +/** + * Generated VBoxWebService Interface Wrapper + */ +class IFirmwareSettings extends VBox_ManagedObject +{ + + public function getFirmwareType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSettingsFilePath', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getFirmwareType', array((array)$request)); + return new FirmwareType ($this->connection, $response->returnval); } - public function getSettingsModified() + public function setFirmwareType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSettingsModified', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->firmwareType = $value; + } + else + { + $request->firmwareType = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setFirmwareType', array((array)$request)); } - public function getSessionState() + public function getLogoFadeIn() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSessionState', array((array)$request)); - return new SessionState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFirmwareSettings_getLogoFadeIn', array((array)$request)); + return (bool)$response->returnval; } - public function getSessionName() + public function setLogoFadeIn($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSessionName', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->logoFadeIn = $value; + } + else + { + $request->logoFadeIn = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setLogoFadeIn', array((array)$request)); } - public function getSessionPID() + public function getLogoFadeOut() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSessionPID', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getLogoFadeOut', array((array)$request)); + return (bool)$response->returnval; } - public function getState() + public function setLogoFadeOut($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getState', array((array)$request)); - return new MachineState ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->logoFadeOut = $value; + } + else + { + $request->logoFadeOut = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setLogoFadeOut', array((array)$request)); } - public function getLastStateChange() + public function getLogoDisplayTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getLastStateChange', array((array)$request)); + $response = $this->connection->__soapCall('IFirmwareSettings_getLogoDisplayTime', array((array)$request)); return (float)$response->returnval; } - public function getStateFilePath() + public function setLogoDisplayTime($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getStateFilePath', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->logoDisplayTime = $value; + } + else + { + $request->logoDisplayTime = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setLogoDisplayTime', array((array)$request)); } - public function getLogFolder() + public function getLogoImagePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getLogFolder', array((array)$request)); + $response = $this->connection->__soapCall('IFirmwareSettings_getLogoImagePath', array((array)$request)); return (string)$response->returnval; } - public function getCurrentSnapshot() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCurrentSnapshot', array((array)$request)); - return new ISnapshot ($this->connection, $response->returnval); - } - - public function getSnapshotCount() + public function setLogoImagePath($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSnapshotCount', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->logoImagePath = $value; + } + else + { + $request->logoImagePath = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setLogoImagePath', array((array)$request)); } - public function getCurrentStateModified() + public function getBootMenuMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getCurrentStateModified', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getBootMenuMode', array((array)$request)); + return new FirmwareBootMenuMode ($this->connection, $response->returnval); } - public function getSharedFolders() + public function setBootMenuMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getSharedFolders', array((array)$request)); - return new ISharedFolderCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->bootMenuMode = $value; + } + else + { + $request->bootMenuMode = $value->handle; + } + $this->connection->__soapCall('IFirmwareSettings_setBootMenuMode', array((array)$request)); } - public function getClipboardMode() + public function getACPIEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getClipboardMode', array((array)$request)); - return new ClipboardMode ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFirmwareSettings_getACPIEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function setClipboardMode($value) + public function setACPIEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->clipboardMode = $value; + $request->ACPIEnabled = $value; } else { - $request->clipboardMode = $value->handle; + $request->ACPIEnabled = $value->handle; } - $this->connection->__soapCall('IMachine_setClipboardMode', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setACPIEnabled', array((array)$request)); } - public function getDnDMode() + public function getIOAPICEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getDnDMode', array((array)$request)); - return new DnDMode ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFirmwareSettings_getIOAPICEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function setDnDMode($value) + public function setIOAPICEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->dnDMode = $value; + $request->IOAPICEnabled = $value; } else { - $request->dnDMode = $value->handle; + $request->IOAPICEnabled = $value->handle; } - $this->connection->__soapCall('IMachine_setDnDMode', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setIOAPICEnabled', array((array)$request)); } - public function getTeleporterEnabled() + public function getAPICMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTeleporterEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getAPICMode', array((array)$request)); + return new APICMode ($this->connection, $response->returnval); } - public function setTeleporterEnabled($value) + public function setAPICMode($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->teleporterEnabled = (bool)$value; + $request->APICMode = $value; } else { - $request->teleporterEnabled = (bool)$value->handle; + $request->APICMode = $value->handle; } - $this->connection->__soapCall('IMachine_setTeleporterEnabled', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setAPICMode', array((array)$request)); } - public function getTeleporterPort() + public function getTimeOffset() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTeleporterPort', array((array)$request)); + $response = $this->connection->__soapCall('IFirmwareSettings_getTimeOffset', array((array)$request)); return (float)$response->returnval; } - public function setTeleporterPort($value) + public function setTimeOffset($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->teleporterPort = $value; + $request->timeOffset = $value; } else { - $request->teleporterPort = $value->handle; + $request->timeOffset = $value->handle; } - $this->connection->__soapCall('IMachine_setTeleporterPort', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setTimeOffset', array((array)$request)); } - public function getTeleporterAddress() + public function getPXEDebugEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTeleporterAddress', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getPXEDebugEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function setTeleporterAddress($value) + public function setPXEDebugEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->teleporterAddress = $value; + $request->PXEDebugEnabled = $value; } else { - $request->teleporterAddress = $value->handle; + $request->PXEDebugEnabled = $value->handle; } - $this->connection->__soapCall('IMachine_setTeleporterAddress', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setPXEDebugEnabled', array((array)$request)); } - public function getTeleporterPassword() + public function getSMBIOSUuidLittleEndian() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTeleporterPassword', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IFirmwareSettings_getSMBIOSUuidLittleEndian', array((array)$request)); + return (bool)$response->returnval; } - public function setTeleporterPassword($value) + public function setSMBIOSUuidLittleEndian($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->teleporterPassword = $value; + $request->SMBIOSUuidLittleEndian = $value; } else { - $request->teleporterPassword = $value->handle; + $request->SMBIOSUuidLittleEndian = $value->handle; } - $this->connection->__soapCall('IMachine_setTeleporterPassword', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setSMBIOSUuidLittleEndian', array((array)$request)); } - public function getParavirtProvider() + public function getAutoSerialNumGen() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getParavirtProvider', array((array)$request)); - return new ParavirtProvider ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFirmwareSettings_getAutoSerialNumGen', array((array)$request)); + return (bool)$response->returnval; } - public function setParavirtProvider($value) + public function setAutoSerialNumGen($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->paravirtProvider = $value; + $request->AutoSerialNumGen = $value; } else { - $request->paravirtProvider = $value->handle; + $request->AutoSerialNumGen = $value->handle; } - $this->connection->__soapCall('IMachine_setParavirtProvider', array((array)$request)); + $this->connection->__soapCall('IFirmwareSettings_setAutoSerialNumGen', array((array)$request)); } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IFirmwareSettingsCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IFirmwareSettings"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ITrustedPlatformModule extends VBox_ManagedObject +{ - public function getFaultToleranceState() + public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFaultToleranceState', array((array)$request)); - return new FaultToleranceState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ITrustedPlatformModule_getType', array((array)$request)); + return new TpmType ($this->connection, $response->returnval); } - public function setFaultToleranceState($value) + public function setType($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->faultToleranceState = $value; + $request->type = $value; } else { - $request->faultToleranceState = $value->handle; + $request->type = $value->handle; } - $this->connection->__soapCall('IMachine_setFaultToleranceState', array((array)$request)); + $this->connection->__soapCall('ITrustedPlatformModule_setType', array((array)$request)); } - public function getFaultTolerancePort() + public function getLocation() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFaultTolerancePort', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ITrustedPlatformModule_getLocation', array((array)$request)); + return (string)$response->returnval; } - public function setFaultTolerancePort($value) + public function setLocation($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->faultTolerancePort = $value; + $request->location = $value; } else { - $request->faultTolerancePort = $value->handle; + $request->location = $value->handle; } - $this->connection->__soapCall('IMachine_setFaultTolerancePort', array((array)$request)); + $this->connection->__soapCall('ITrustedPlatformModule_setLocation', array((array)$request)); } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ITrustedPlatformModuleCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ITrustedPlatformModule"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRecordingScreenSettings extends VBox_ManagedObject +{ - public function getFaultToleranceAddress() + public function isFeatureEnabled($arg_feature) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFaultToleranceAddress', array((array)$request)); - return (string)$response->returnval; + $request->feature = $arg_feature; + $response = $this->connection->__soapCall('IRecordingScreenSettings_isFeatureEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getId', array((array)$request)); + return (float)$response->returnval; + } + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function setFaultToleranceAddress($value) + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->faultToleranceAddress = $value; + $request->enabled = $value; } else { - $request->faultToleranceAddress = $value->handle; + $request->enabled = $value->handle; } - $this->connection->__soapCall('IMachine_setFaultToleranceAddress', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setEnabled', array((array)$request)); } - public function getFaultTolerancePassword() + public function getFeatures() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFaultTolerancePassword', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getFeatures', array((array)$request)); + return new RecordingFeatureCollection ($this->connection, (array)$response->returnval); } - public function setFaultTolerancePassword($value) + public function setFeatures($value) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) + if (is_array($value) || is_null($value) || is_scalar($value)) { - $request->faultTolerancePassword = $value; + $request->features = $value; } else { - $request->faultTolerancePassword = $value->handle; + $request->features = $value->handle; } - $this->connection->__soapCall('IMachine_setFaultTolerancePassword', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setFeatures', array((array)$request)); } - public function getFaultToleranceSyncInterval() + public function getDestination() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getFaultToleranceSyncInterval', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getDestination', array((array)$request)); + return new RecordingDestination ($this->connection, $response->returnval); } - public function setFaultToleranceSyncInterval($value) + public function setDestination($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->faultToleranceSyncInterval = $value; + $request->destination = $value; } else { - $request->faultToleranceSyncInterval = $value->handle; + $request->destination = $value->handle; } - $this->connection->__soapCall('IMachine_setFaultToleranceSyncInterval', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setDestination', array((array)$request)); } - public function getRTCUseUTC() + public function getFilename() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getRTCUseUTC', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getFilename', array((array)$request)); + return (string)$response->returnval; } - public function setRTCUseUTC($value) + public function setFilename($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->RTCUseUTC = (bool)$value; + $request->filename = $value; } else { - $request->RTCUseUTC = (bool)$value->handle; + $request->filename = $value->handle; } - $this->connection->__soapCall('IMachine_setRTCUseUTC', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setFilename', array((array)$request)); } - public function getIOCacheEnabled() + public function getMaxTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getIOCacheEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getMaxTime', array((array)$request)); + return (float)$response->returnval; } - public function setIOCacheEnabled($value) + public function setMaxTime($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->IOCacheEnabled = (bool)$value; + $request->maxTime = $value; } else { - $request->IOCacheEnabled = (bool)$value->handle; + $request->maxTime = $value->handle; } - $this->connection->__soapCall('IMachine_setIOCacheEnabled', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setMaxTime', array((array)$request)); } - public function getIOCacheSize() + public function getMaxFileSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getIOCacheSize', array((array)$request)); + $response = $this->connection->__soapCall('IRecordingScreenSettings_getMaxFileSize', array((array)$request)); return (float)$response->returnval; } - public function setIOCacheSize($value) + public function setMaxFileSize($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->IOCacheSize = $value; + $request->maxFileSize = $value; } else { - $request->IOCacheSize = $value->handle; + $request->maxFileSize = $value->handle; } - $this->connection->__soapCall('IMachine_setIOCacheSize', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setMaxFileSize', array((array)$request)); } - public function getPCIDeviceAssignments() + public function getOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getPCIDeviceAssignments', array((array)$request)); - return new IPCIDeviceAttachmentCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IRecordingScreenSettings_getOptions', array((array)$request)); + return (string)$response->returnval; } - public function getBandwidthControl() + public function setOptions($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getBandwidthControl', array((array)$request)); - return new IBandwidthControl ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->options = $value; + } + else + { + $request->options = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setOptions', array((array)$request)); } - public function getTracingEnabled() + public function getAudioCodec() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTracingEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioCodec', array((array)$request)); + return new RecordingAudioCodec ($this->connection, $response->returnval); } - public function setTracingEnabled($value) + public function setAudioCodec($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->tracingEnabled = (bool)$value; + $request->audioCodec = $value; } else { - $request->tracingEnabled = (bool)$value->handle; + $request->audioCodec = $value->handle; } - $this->connection->__soapCall('IMachine_setTracingEnabled', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioCodec', array((array)$request)); } - public function getTracingConfig() + public function getAudioRateControlMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getTracingConfig', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioRateControlMode', array((array)$request)); + return new RecordingRateControlMode ($this->connection, $response->returnval); } - public function setTracingConfig($value) + public function setAudioRateControlMode($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->tracingConfig = $value; + $request->audioRateControlMode = $value; } else { - $request->tracingConfig = $value->handle; + $request->audioRateControlMode = $value->handle; } - $this->connection->__soapCall('IMachine_setTracingConfig', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioRateControlMode', array((array)$request)); } - public function getAllowTracingToAccessVM() + public function getAudioDeadline() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAllowTracingToAccessVM', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioDeadline', array((array)$request)); + return new RecordingCodecDeadline ($this->connection, $response->returnval); } - public function setAllowTracingToAccessVM($value) + public function setAudioDeadline($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->allowTracingToAccessVM = (bool)$value; + $request->audioDeadline = $value; } else { - $request->allowTracingToAccessVM = (bool)$value->handle; + $request->audioDeadline = $value->handle; } - $this->connection->__soapCall('IMachine_setAllowTracingToAccessVM', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioDeadline', array((array)$request)); } - public function getAutostartEnabled() + public function getAudioHz() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAutostartEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioHz', array((array)$request)); + return (float)$response->returnval; } - public function setAutostartEnabled($value) + public function setAudioHz($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->autostartEnabled = (bool)$value; + $request->audioHz = $value; } else { - $request->autostartEnabled = (bool)$value->handle; + $request->audioHz = $value->handle; } - $this->connection->__soapCall('IMachine_setAutostartEnabled', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioHz', array((array)$request)); } - public function getAutostartDelay() + public function getAudioBits() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAutostartDelay', array((array)$request)); + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioBits', array((array)$request)); return (float)$response->returnval; } - public function setAutostartDelay($value) + public function setAudioBits($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->autostartDelay = $value; + $request->audioBits = $value; } else { - $request->autostartDelay = $value->handle; + $request->audioBits = $value->handle; } - $this->connection->__soapCall('IMachine_setAutostartDelay', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioBits', array((array)$request)); } - public function getAutostopType() + public function getAudioChannels() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getAutostopType', array((array)$request)); - return new AutostopType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IRecordingScreenSettings_getAudioChannels', array((array)$request)); + return (float)$response->returnval; } - public function setAutostopType($value) + public function setAudioChannels($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->autostopType = $value; + $request->audioChannels = $value; } else { - $request->autostopType = $value->handle; + $request->audioChannels = $value->handle; } - $this->connection->__soapCall('IMachine_setAutostopType', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setAudioChannels', array((array)$request)); } - public function getDefaultFrontend() + public function getVideoCodec() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getDefaultFrontend', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoCodec', array((array)$request)); + return new RecordingVideoCodec ($this->connection, $response->returnval); } - public function setDefaultFrontend($value) + public function setVideoCodec($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->defaultFrontend = $value; + $request->videoCodec = $value; } else { - $request->defaultFrontend = $value->handle; + $request->videoCodec = $value->handle; } - $this->connection->__soapCall('IMachine_setDefaultFrontend', array((array)$request)); - } - - public function getUSBProxyAvailable() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getUSBProxyAvailable', array((array)$request)); - return (bool)$response->returnval; + $this->connection->__soapCall('IRecordingScreenSettings_setVideoCodec', array((array)$request)); } - public function getVMProcessPriority() + public function getVideoDeadline() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachine_getVMProcessPriority', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoDeadline', array((array)$request)); + return new RecordingCodecDeadline ($this->connection, $response->returnval); } - public function setVMProcessPriority($value) + public function setVideoDeadline($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->VMProcessPriority = $value; + $request->videoDeadline = $value; } else { - $request->VMProcessPriority = $value->handle; + $request->videoDeadline = $value->handle; } - $this->connection->__soapCall('IMachine_setVMProcessPriority', array((array)$request)); + $this->connection->__soapCall('IRecordingScreenSettings_setVideoDeadline', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachine"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IEmulatedUSB extends VBox_ManagedObject -{ - - public function webcamAttach($arg_path, $arg_settings) + public function getVideoWidth() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->settings = $arg_settings; - $response = $this->connection->__soapCall('IEmulatedUSB_webcamAttach', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoWidth', array((array)$request)); + return (float)$response->returnval; } - public function webcamDetach($arg_path) + public function setVideoWidth($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $response = $this->connection->__soapCall('IEmulatedUSB_webcamDetach', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->videoWidth = $value; + } + else + { + $request->videoWidth = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoWidth', array((array)$request)); } - public function getWebcams() + public function getVideoHeight() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEmulatedUSB_getWebcams', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoHeight', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IEmulatedUSBCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IEmulatedUSB"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IConsole extends VBox_ManagedObject -{ - public function powerUp() + public function setVideoHeight($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_powerUp', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->videoHeight = $value; + } + else + { + $request->videoHeight = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoHeight', array((array)$request)); } - public function powerUpPaused() + public function getVideoRate() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_powerUpPaused', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoRate', array((array)$request)); + return (float)$response->returnval; } - public function powerDown() + public function setVideoRate($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_powerDown', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->videoRate = $value; + } + else + { + $request->videoRate = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoRate', array((array)$request)); } - public function reset() + public function getVideoRateControlMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_reset', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoRateControlMode', array((array)$request)); + return new RecordingRateControlMode ($this->connection, $response->returnval); } - public function pause() + public function setVideoRateControlMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_pause', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->videoRateControlMode = $value; + } + else + { + $request->videoRateControlMode = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoRateControlMode', array((array)$request)); } - public function resume() + public function getVideoFPS() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_resume', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoFPS', array((array)$request)); + return (float)$response->returnval; } - public function powerButton() + public function setVideoFPS($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_powerButton', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->videoFPS = $value; + } + else + { + $request->videoFPS = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoFPS', array((array)$request)); } - public function sleepButton() + public function getVideoScalingMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_sleepButton', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IRecordingScreenSettings_getVideoScalingMode', array((array)$request)); + return new RecordingVideoScalingMode ($this->connection, $response->returnval); } - public function getPowerButtonHandled() + public function setVideoScalingMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getPowerButtonHandled', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->videoScalingMode = $value; + } + else + { + $request->videoScalingMode = $value->handle; + } + $this->connection->__soapCall('IRecordingScreenSettings_setVideoScalingMode', array((array)$request)); } +} - public function getGuestEnteredACPIMode() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRecordingScreenSettingsCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRecordingScreenSettings"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRecordingSettings extends VBox_ManagedObject +{ + + public function getScreenSettings($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getGuestEnteredACPIMode', array((array)$request)); - return (bool)$response->returnval; + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IRecordingSettings_getScreenSettings', array((array)$request)); + return new IRecordingScreenSettings ($this->connection, $response->returnval); } - public function getDeviceActivity($arg_type) + public function start() { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IConsole_getDeviceActivity', array((array)$request)); - return new DeviceActivityCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IRecordingSettings_start', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function attachUSBDevice($arg_id, $arg_captureFilename) + public function resume() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $request->captureFilename = $arg_captureFilename; - $response = $this->connection->__soapCall('IConsole_attachUSBDevice', array((array)$request)); + $response = $this->connection->__soapCall('IRecordingSettings_resume', array((array)$request)); return ; } - public function detachUSBDevice($arg_id) + public function getPaused() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IConsole_detachUSBDevice', array((array)$request)); - return new IUSBDevice ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IRecordingSettings_getPaused', array((array)$request)); + return (bool)$response->returnval; } - public function findUSBDeviceByAddress($arg_name) + public function setPaused($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IConsole_findUSBDeviceByAddress', array((array)$request)); - return new IUSBDevice ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->paused = $value; + } + else + { + $request->paused = $value->handle; + } + $this->connection->__soapCall('IRecordingSettings_setPaused', array((array)$request)); } - public function findUSBDeviceById($arg_id) + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IConsole_findUSBDeviceById', array((array)$request)); - return new IUSBDevice ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IRecordingSettings_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount) + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->hostPath = $arg_hostPath; - $request->writable = (bool)$arg_writable; - $request->automount = (bool)$arg_automount; - $response = $this->connection->__soapCall('IConsole_createSharedFolder', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IRecordingSettings_setEnabled', array((array)$request)); } - public function removeSharedFolder($arg_name) + public function getScreens() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IConsole_removeSharedFolder', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IRecordingSettings_getScreens', array((array)$request)); + return new IRecordingScreenSettingsCollection ($this->connection, (array)$response->returnval); } - public function teleport($arg_hostname, $arg_tcpport, $arg_password, $arg_maxDowntime) + public function getProgress() { $request = new stdClass(); $request->_this = $this->handle; - $request->hostname = $arg_hostname; - $request->tcpport = $arg_tcpport; - $request->password = $arg_password; - $request->maxDowntime = $arg_maxDowntime; - $response = $this->connection->__soapCall('IConsole_teleport', array((array)$request)); + $response = $this->connection->__soapCall('IRecordingSettings_getProgress', array((array)$request)); return new IProgress ($this->connection, $response->returnval); } +} - public function addDiskEncryptionPassword($arg_id, $arg_password, $arg_clearOnSuspend) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->id = $arg_id; - $request->password = $arg_password; - $request->clearOnSuspend = (bool)$arg_clearOnSuspend; - $response = $this->connection->__soapCall('IConsole_addDiskEncryptionPassword', array((array)$request)); - return ; - } +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRecordingSettingsCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRecordingSettings"; +} - public function addDiskEncryptionPasswords($arg_ids, $arg_passwords, $arg_clearOnSuspend) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->ids = $arg_ids; - $request->passwords = $arg_passwords; - $request->clearOnSuspend = (bool)$arg_clearOnSuspend; - $response = $this->connection->__soapCall('IConsole_addDiskEncryptionPasswords', array((array)$request)); - return ; - } +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPCIAddress extends VBox_ManagedObject +{ - public function removeDiskEncryptionPassword($arg_id) + public function asLong() { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IConsole_removeDiskEncryptionPassword', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IPCIAddress_asLong', array((array)$request)); + return (int)$response->returnval; } - public function clearAllDiskEncryptionPasswords() + public function fromLong($arg_number) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_clearAllDiskEncryptionPasswords', array((array)$request)); + $request->number = $arg_number; + $response = $this->connection->__soapCall('IPCIAddress_fromLong', array((array)$request)); return ; } - public function getMachine() + public function getBus() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPCIAddress_getBus', array((array)$request)); + return (int)$response->returnval; } - public function getState() + public function setBus($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getState', array((array)$request)); - return new MachineState ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->bus = $value; + } + else + { + $request->bus = $value->handle; + } + $this->connection->__soapCall('IPCIAddress_setBus', array((array)$request)); } - public function getGuest() + public function getDevice() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getGuest', array((array)$request)); - return new IGuest ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPCIAddress_getDevice', array((array)$request)); + return (int)$response->returnval; } - public function getKeyboard() + public function setDevice($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getKeyboard', array((array)$request)); - return new IKeyboard ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->device = $value; + } + else + { + $request->device = $value->handle; + } + $this->connection->__soapCall('IPCIAddress_setDevice', array((array)$request)); } - public function getMouse() + public function getDevFunction() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getMouse', array((array)$request)); - return new IMouse ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPCIAddress_getDevFunction', array((array)$request)); + return (int)$response->returnval; } - public function getDisplay() + public function setDevFunction($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getDisplay', array((array)$request)); - return new IDisplay ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->devFunction = $value; + } + else + { + $request->devFunction = $value->handle; + } + $this->connection->__soapCall('IPCIAddress_setDevFunction', array((array)$request)); } +} - public function getDebugger() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IPCIAddressCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IPCIAddress"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUefiVariableStore extends VBox_ManagedObject +{ + + public function addVariable($arg_name, $arg_owner, $arg_attributes, $arg_data) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getDebugger', array((array)$request)); - return new IMachineDebugger ($this->connection, $response->returnval); + $request->name = $arg_name; + $request->owner = $arg_owner; + $request->attributes = $arg_attributes; + $request->data = $arg_data; + $response = $this->connection->__soapCall('IUefiVariableStore_addVariable', array((array)$request)); + return ; } - public function getUSBDevices() + public function deleteVariable($arg_name, $arg_owner) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getUSBDevices', array((array)$request)); - return new IUSBDeviceCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->owner = $arg_owner; + $response = $this->connection->__soapCall('IUefiVariableStore_deleteVariable', array((array)$request)); + return ; } - public function getRemoteUSBDevices() + public function changeVariable($arg_name, $arg_data) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getRemoteUSBDevices', array((array)$request)); - return new IHostUSBDeviceCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->data = $arg_data; + $response = $this->connection->__soapCall('IUefiVariableStore_changeVariable', array((array)$request)); + return ; } - public function getSharedFolders() + public function queryVariableByName($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getSharedFolders', array((array)$request)); - return new ISharedFolderCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IUefiVariableStore_queryVariableByName', array((array)$request)); + return array((string)$response->owner, new UefiVariableAttributesCollection ($this->connection, (array)$response->attributes), (array)$response->data); } - public function getVRDEServerInfo() + public function queryVariables() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getVRDEServerInfo', array((array)$request)); - return new IVRDEServerInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUefiVariableStore_queryVariables', array((array)$request)); + return array((array)$response->names, (array)$response->owners); } - public function getEventSource() + public function enrollOraclePlatformKey() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUefiVariableStore_enrollOraclePlatformKey', array((array)$request)); + return ; } - public function getAttachedPCIDevices() + public function enrollPlatformKey($arg_platformKey, $arg_owner) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getAttachedPCIDevices', array((array)$request)); - return new IPCIDeviceAttachmentCollection ($this->connection, (array)$response->returnval); + $request->platformKey = $arg_platformKey; + $request->owner = $arg_owner; + $response = $this->connection->__soapCall('IUefiVariableStore_enrollPlatformKey', array((array)$request)); + return ; } - public function getUseHostClipboard() + public function addKek($arg_keyEncryptionKey, $arg_owner, $arg_signatureType) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getUseHostClipboard', array((array)$request)); + $request->keyEncryptionKey = $arg_keyEncryptionKey; + $request->owner = $arg_owner; + $request->signatureType = $arg_signatureType; + $response = $this->connection->__soapCall('IUefiVariableStore_addKek', array((array)$request)); + return ; + } + + public function addSignatureToDb($arg_signature, $arg_owner, $arg_signatureType) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->signature = $arg_signature; + $request->owner = $arg_owner; + $request->signatureType = $arg_signatureType; + $response = $this->connection->__soapCall('IUefiVariableStore_addSignatureToDb', array((array)$request)); + return ; + } + + public function addSignatureToDbx($arg_signature, $arg_owner, $arg_signatureType) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->signature = $arg_signature; + $request->owner = $arg_owner; + $request->signatureType = $arg_signatureType; + $response = $this->connection->__soapCall('IUefiVariableStore_addSignatureToDbx', array((array)$request)); + return ; + } + + public function enrollDefaultMsSignatures() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUefiVariableStore_enrollDefaultMsSignatures', array((array)$request)); + return ; + } + + public function addSignatureToMok($arg_signature, $arg_owner, $arg_signatureType) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->signature = $arg_signature; + $request->owner = $arg_owner; + $request->signatureType = $arg_signatureType; + $response = $this->connection->__soapCall('IUefiVariableStore_addSignatureToMok', array((array)$request)); + return ; + } + + public function getSecureBootEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUefiVariableStore_getSecureBootEnabled', array((array)$request)); return (bool)$response->returnval; } - public function setUseHostClipboard($value) + public function setSecureBootEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->useHostClipboard = (bool)$value; + $request->secureBootEnabled = $value; } else { - $request->useHostClipboard = (bool)$value->handle; + $request->secureBootEnabled = $value->handle; } - $this->connection->__soapCall('IConsole_setUseHostClipboard', array((array)$request)); - } - - public function getEmulatedUSB() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IConsole_getEmulatedUSB', array((array)$request)); - return new IEmulatedUSB ($this->connection, $response->returnval); + $this->connection->__soapCall('IUefiVariableStore_setSecureBootEnabled', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IConsoleCollection extends VBox_ManagedObjectCollection +class IUefiVariableStoreCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IConsole"; + protected $_interfaceName = "IUefiVariableStore"; } /** * Generated VBoxWebService Interface Wrapper */ -class IHostNetworkInterface extends VBox_ManagedObject +class INvramStore extends VBox_ManagedObject { - public function enableStaticIPConfig($arg_IPAddress, $arg_networkMask) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->IPAddress = $arg_IPAddress; - $request->networkMask = $arg_networkMask; - $response = $this->connection->__soapCall('IHostNetworkInterface_enableStaticIPConfig', array((array)$request)); - return ; - } - - public function enableStaticIPConfigV6($arg_IPV6Address, $arg_IPV6NetworkMaskPrefixLength) + public function initUefiVariableStore($arg_size) { $request = new stdClass(); $request->_this = $this->handle; - $request->IPV6Address = $arg_IPV6Address; - $request->IPV6NetworkMaskPrefixLength = $arg_IPV6NetworkMaskPrefixLength; - $response = $this->connection->__soapCall('IHostNetworkInterface_enableStaticIPConfigV6', array((array)$request)); + $request->size = $arg_size; + $response = $this->connection->__soapCall('INvramStore_initUefiVariableStore', array((array)$request)); return ; } - public function enableDynamicIPConfig() + public function getNonVolatileStorageFile() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_enableDynamicIPConfig', array((array)$request)); - return ; + $response = $this->connection->__soapCall('INvramStore_getNonVolatileStorageFile', array((array)$request)); + return (string)$response->returnval; } - public function DHCPRediscover() + public function getUefiVariableStore() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_DHCPRediscover', array((array)$request)); - return ; + $response = $this->connection->__soapCall('INvramStore_getUefiVariableStore', array((array)$request)); + return new IUefiVariableStore ($this->connection, $response->returnval); } - public function getName() + public function getKeyId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getName', array((array)$request)); + $response = $this->connection->__soapCall('INvramStore_getKeyId', array((array)$request)); return (string)$response->returnval; } - public function getShortName() + public function getKeyStore() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getShortName', array((array)$request)); + $response = $this->connection->__soapCall('INvramStore_getKeyStore', array((array)$request)); return (string)$response->returnval; } +} - public function getId() +/** + * Generated VBoxWebService Managed Object Collection + */ +class INvramStoreCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INvramStore"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IResourceStore extends VBox_ManagedObject +{ + + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IResourceStore_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} - public function getNetworkName() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IResourceStoreCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IResourceStore"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPlatform extends VBox_ManagedObject +{ + + public function getArchitecture() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getNetworkName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getArchitecture', array((array)$request)); + return new PlatformArchitecture ($this->connection, $response->returnval); } - public function getDHCPEnabled() + public function setArchitecture($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getDHCPEnabled', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->architecture = $value; + } + else + { + $request->architecture = $value->handle; + } + $this->connection->__soapCall('IPlatform_setArchitecture', array((array)$request)); } - public function getIPAddress() + public function getProperties() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getIPAddress', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getProperties', array((array)$request)); + return new IPlatformProperties ($this->connection, $response->returnval); } - public function getNetworkMask() + public function getX86() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getNetworkMask', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getX86', array((array)$request)); + return new IPlatformX86 ($this->connection, $response->returnval); } - public function getIPV6Supported() + public function getARM() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6Supported', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getARM', array((array)$request)); + return new IPlatformARM ($this->connection, $response->returnval); } - public function getIPV6Address() + public function getChipsetType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6Address', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getChipsetType', array((array)$request)); + return new ChipsetType ($this->connection, $response->returnval); } - public function getIPV6NetworkMaskPrefixLength() + public function setChipsetType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6NetworkMaskPrefixLength', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->chipsetType = $value; + } + else + { + $request->chipsetType = $value->handle; + } + $this->connection->__soapCall('IPlatform_setChipsetType', array((array)$request)); } - public function getHardwareAddress() + public function getIommuType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getHardwareAddress', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IPlatform_getIommuType', array((array)$request)); + return new IommuType ($this->connection, $response->returnval); } - public function getMediumType() + public function setIommuType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getMediumType', array((array)$request)); - return new HostNetworkInterfaceMediumType ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->iommuType = $value; + } + else + { + $request->iommuType = $value->handle; + } + $this->connection->__soapCall('IPlatform_setIommuType', array((array)$request)); } - public function getStatus() + public function getRTCUseUTC() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getStatus', array((array)$request)); - return new HostNetworkInterfaceStatus ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPlatform_getRTCUseUTC', array((array)$request)); + return (bool)$response->returnval; } - public function getInterfaceType() + public function setRTCUseUTC($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNetworkInterface_getInterfaceType', array((array)$request)); - return new HostNetworkInterfaceType ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->RTCUseUTC = $value; + } + else + { + $request->RTCUseUTC = $value->handle; + } + $this->connection->__soapCall('IPlatform_setRTCUseUTC', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IHostNetworkInterfaceCollection extends VBox_ManagedObjectCollection +class IPlatformCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IHostNetworkInterface"; + protected $_interfaceName = "IPlatform"; } /** * Generated VBoxWebService Interface Wrapper */ -class IHostVideoInputDevice extends VBox_ManagedObject +class IPlatformX86 extends VBox_ManagedObject { - public function getName() + public function getCPUProperty($arg_property) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostVideoInputDevice_getName', array((array)$request)); - return (string)$response->returnval; + $request->property = $arg_property; + $response = $this->connection->__soapCall('IPlatformX86_getCPUProperty', array((array)$request)); + return (bool)$response->returnval; } - public function getPath() + public function setCPUProperty($arg_property, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostVideoInputDevice_getPath', array((array)$request)); - return (string)$response->returnval; + $request->property = $arg_property; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IPlatformX86_setCPUProperty', array((array)$request)); + return ; } - public function getAlias() + public function getCPUIDLeafByOrdinal($arg_ordinal) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostVideoInputDevice_getAlias', array((array)$request)); - return (string)$response->returnval; + $request->ordinal = $arg_ordinal; + $response = $this->connection->__soapCall('IPlatformX86_getCPUIDLeafByOrdinal', array((array)$request)); + return array((float)$response->idx, (float)$response->idxSub, (float)$response->valEax, (float)$response->valEbx, (float)$response->valEcx, (float)$response->valEdx); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IHostVideoInputDeviceCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IHostVideoInputDevice"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IHost extends VBox_ManagedObject -{ - public function getProcessorSpeed($arg_cpuId) + public function getCPUIDLeaf($arg_idx, $arg_idxSub) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $response = $this->connection->__soapCall('IHost_getProcessorSpeed', array((array)$request)); - return (float)$response->returnval; + $request->idx = $arg_idx; + $request->idxSub = $arg_idxSub; + $response = $this->connection->__soapCall('IPlatformX86_getCPUIDLeaf', array((array)$request)); + return array((float)$response->valEax, (float)$response->valEbx, (float)$response->valEcx, (float)$response->valEdx); } - public function getProcessorFeature($arg_feature) + public function setCPUIDLeaf($arg_idx, $arg_idxSub, $arg_valEax, $arg_valEbx, $arg_valEcx, $arg_valEdx) { $request = new stdClass(); $request->_this = $this->handle; - $request->feature = $arg_feature; - $response = $this->connection->__soapCall('IHost_getProcessorFeature', array((array)$request)); - return (bool)$response->returnval; + $request->idx = $arg_idx; + $request->idxSub = $arg_idxSub; + $request->valEax = $arg_valEax; + $request->valEbx = $arg_valEbx; + $request->valEcx = $arg_valEcx; + $request->valEdx = $arg_valEdx; + $response = $this->connection->__soapCall('IPlatformX86_setCPUIDLeaf', array((array)$request)); + return ; } - public function getProcessorDescription($arg_cpuId) + public function removeCPUIDLeaf($arg_idx, $arg_idxSub) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $response = $this->connection->__soapCall('IHost_getProcessorDescription', array((array)$request)); - return (string)$response->returnval; + $request->idx = $arg_idx; + $request->idxSub = $arg_idxSub; + $response = $this->connection->__soapCall('IPlatformX86_removeCPUIDLeaf', array((array)$request)); + return ; } - public function getProcessorCPUIDLeaf($arg_cpuId, $arg_leaf, $arg_subLeaf) + public function removeAllCPUIDLeaves() { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->leaf = $arg_leaf; - $request->subLeaf = $arg_subLeaf; - $response = $this->connection->__soapCall('IHost_getProcessorCPUIDLeaf', array((array)$request)); - return array((float)$response->valEax, (float)$response->valEbx, (float)$response->valEcx, (float)$response->valEdx); + $response = $this->connection->__soapCall('IPlatformX86_removeAllCPUIDLeaves', array((array)$request)); + return ; } - public function createHostOnlyNetworkInterface() + public function getHWVirtExProperty($arg_property) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_createHostOnlyNetworkInterface', array((array)$request)); - return array(new IProgress ($this->connection, $response->returnval), new IHostNetworkInterface ($this->connection, $response->hostInterface)); + $request->property = $arg_property; + $response = $this->connection->__soapCall('IPlatformX86_getHWVirtExProperty', array((array)$request)); + return (bool)$response->returnval; } - public function removeHostOnlyNetworkInterface($arg_id) + public function setHWVirtExProperty($arg_property, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IHost_removeHostOnlyNetworkInterface', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $request->property = $arg_property; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IPlatformX86_setHWVirtExProperty', array((array)$request)); + return ; } - public function createUSBDeviceFilter($arg_name) + public function getHPETEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IHost_createUSBDeviceFilter', array((array)$request)); - return new IHostUSBDeviceFilter ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPlatformX86_getHPETEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function insertUSBDeviceFilter($arg_position, $arg_filter) + public function setHPETEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $request->filter = $arg_filter; - $response = $this->connection->__soapCall('IHost_insertUSBDeviceFilter', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->HPETEnabled = $value; + } + else + { + $request->HPETEnabled = $value->handle; + } + $this->connection->__soapCall('IPlatformX86_setHPETEnabled', array((array)$request)); } +} - public function removeUSBDeviceFilter($arg_position) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IPlatformX86Collection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IPlatformX86"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPlatformARM extends VBox_ManagedObject +{ + + public function getCPUProperty($arg_property) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $response = $this->connection->__soapCall('IHost_removeUSBDeviceFilter', array((array)$request)); - return ; + $request->property = $arg_property; + $response = $this->connection->__soapCall('IPlatformARM_getCPUProperty', array((array)$request)); + return (bool)$response->returnval; } - public function findHostDVDDrive($arg_name) + public function setCPUProperty($arg_property, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IHost_findHostDVDDrive', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $request->property = $arg_property; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IPlatformARM_setCPUProperty', array((array)$request)); + return ; } +} - public function findHostFloppyDrive($arg_name) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IPlatformARMCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IPlatformARM"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachine extends VBox_ManagedObject +{ + + public function lockMachine($arg_session, $arg_lockType) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IHost_findHostFloppyDrive', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $request->session = $arg_session; + $request->lockType = $arg_lockType; + $response = $this->connection->__soapCall('IMachine_lockMachine', array((array)$request)); + return ; } - public function findHostNetworkInterfaceByName($arg_name) + public function launchVMProcess($arg_session, $arg_name, $arg_environmentChanges) { $request = new stdClass(); $request->_this = $this->handle; + $request->session = $arg_session; $request->name = $arg_name; - $response = $this->connection->__soapCall('IHost_findHostNetworkInterfaceByName', array((array)$request)); - return new IHostNetworkInterface ($this->connection, $response->returnval); + $request->environmentChanges = $arg_environmentChanges; + $response = $this->connection->__soapCall('IMachine_launchVMProcess', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function findHostNetworkInterfaceById($arg_id) + public function setBootOrder($arg_position, $arg_device) { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IHost_findHostNetworkInterfaceById', array((array)$request)); - return new IHostNetworkInterface ($this->connection, $response->returnval); + $request->position = $arg_position; + $request->device = $arg_device; + $response = $this->connection->__soapCall('IMachine_setBootOrder', array((array)$request)); + return ; } - public function findHostNetworkInterfacesOfType($arg_type) + public function getBootOrder($arg_position) { $request = new stdClass(); $request->_this = $this->handle; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IHost_findHostNetworkInterfacesOfType', array((array)$request)); - return new IHostNetworkInterfaceCollection ($this->connection, (array)$response->returnval); + $request->position = $arg_position; + $response = $this->connection->__soapCall('IMachine_getBootOrder', array((array)$request)); + return new DeviceType ($this->connection, $response->returnval); } - public function findUSBDeviceById($arg_id) + public function attachDevice($arg_name, $arg_controllerPort, $arg_device, $arg_type, $arg_medium) { $request = new stdClass(); $request->_this = $this->handle; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IHost_findUSBDeviceById', array((array)$request)); - return new IHostUSBDevice ($this->connection, $response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->type = $arg_type; + $request->medium = $arg_medium; + $response = $this->connection->__soapCall('IMachine_attachDevice', array((array)$request)); + return ; } - public function findUSBDeviceByAddress($arg_name) + public function attachDeviceWithoutMedium($arg_name, $arg_controllerPort, $arg_device, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; $request->name = $arg_name; - $response = $this->connection->__soapCall('IHost_findUSBDeviceByAddress', array((array)$request)); - return new IHostUSBDevice ($this->connection, $response->returnval); + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IMachine_attachDeviceWithoutMedium', array((array)$request)); + return ; } - public function generateMACAddress() + public function detachDevice($arg_name, $arg_controllerPort, $arg_device) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_generateMACAddress', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $response = $this->connection->__soapCall('IMachine_detachDevice', array((array)$request)); + return ; } - public function getDVDDrives() + public function passthroughDevice($arg_name, $arg_controllerPort, $arg_device, $arg_passthrough) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getDVDDrives', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->passthrough = $arg_passthrough; + $response = $this->connection->__soapCall('IMachine_passthroughDevice', array((array)$request)); + return ; } - public function getFloppyDrives() + public function temporaryEjectDevice($arg_name, $arg_controllerPort, $arg_device, $arg_temporaryEject) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getFloppyDrives', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->temporaryEject = $arg_temporaryEject; + $response = $this->connection->__soapCall('IMachine_temporaryEjectDevice', array((array)$request)); + return ; } - public function getUSBDevices() + public function nonRotationalDevice($arg_name, $arg_controllerPort, $arg_device, $arg_nonRotational) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getUSBDevices', array((array)$request)); - return new IHostUSBDeviceCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->nonRotational = $arg_nonRotational; + $response = $this->connection->__soapCall('IMachine_nonRotationalDevice', array((array)$request)); + return ; } - public function getUSBDeviceFilters() + public function setAutoDiscardForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_discard) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getUSBDeviceFilters', array((array)$request)); - return new IHostUSBDeviceFilterCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->discard = $arg_discard; + $response = $this->connection->__soapCall('IMachine_setAutoDiscardForDevice', array((array)$request)); + return ; } - public function getNetworkInterfaces() + public function setHotPluggableForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_hotPluggable) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getNetworkInterfaces', array((array)$request)); - return new IHostNetworkInterfaceCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->hotPluggable = $arg_hotPluggable; + $response = $this->connection->__soapCall('IMachine_setHotPluggableForDevice', array((array)$request)); + return ; } - public function getNameServers() + public function setBandwidthGroupForDevice($arg_name, $arg_controllerPort, $arg_device, $arg_bandwidthGroup) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getNameServers', array((array)$request)); - return (array)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->bandwidthGroup = $arg_bandwidthGroup; + $response = $this->connection->__soapCall('IMachine_setBandwidthGroupForDevice', array((array)$request)); + return ; } - public function getDomainName() + public function setNoBandwidthGroupForDevice($arg_name, $arg_controllerPort, $arg_device) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getDomainName', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $response = $this->connection->__soapCall('IMachine_setNoBandwidthGroupForDevice', array((array)$request)); + return ; } - public function getSearchStrings() + public function unmountMedium($arg_name, $arg_controllerPort, $arg_device, $arg_force) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getSearchStrings', array((array)$request)); - return (array)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->force = $arg_force; + $response = $this->connection->__soapCall('IMachine_unmountMedium', array((array)$request)); + return ; } - public function getProcessorCount() + public function mountMedium($arg_name, $arg_controllerPort, $arg_device, $arg_medium, $arg_force) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getProcessorCount', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $request->medium = $arg_medium; + $request->force = $arg_force; + $response = $this->connection->__soapCall('IMachine_mountMedium', array((array)$request)); + return ; } - public function getProcessorOnlineCount() + public function getMedium($arg_name, $arg_controllerPort, $arg_device) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getProcessorOnlineCount', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $response = $this->connection->__soapCall('IMachine_getMedium', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getProcessorCoreCount() + public function getMediumAttachmentsOfController($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getProcessorCoreCount', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_getMediumAttachmentsOfController', array((array)$request)); + return new IMediumAttachmentCollection ($this->connection, (array)$response->returnval); } - public function getProcessorOnlineCoreCount() + public function getMediumAttachment($arg_name, $arg_controllerPort, $arg_device) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getProcessorOnlineCoreCount', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $request->controllerPort = $arg_controllerPort; + $request->device = $arg_device; + $response = $this->connection->__soapCall('IMachine_getMediumAttachment', array((array)$request)); + return new IMediumAttachment ($this->connection, $response->returnval); } - public function getMemorySize() + public function attachHostPCIDevice($arg_hostAddress, $arg_desiredGuestAddress, $arg_tryToUnbind) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getMemorySize', array((array)$request)); - return (float)$response->returnval; + $request->hostAddress = $arg_hostAddress; + $request->desiredGuestAddress = $arg_desiredGuestAddress; + $request->tryToUnbind = $arg_tryToUnbind; + $response = $this->connection->__soapCall('IMachine_attachHostPCIDevice', array((array)$request)); + return ; } - public function getMemoryAvailable() + public function detachHostPCIDevice($arg_hostAddress) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getMemoryAvailable', array((array)$request)); - return (float)$response->returnval; + $request->hostAddress = $arg_hostAddress; + $response = $this->connection->__soapCall('IMachine_detachHostPCIDevice', array((array)$request)); + return ; } - public function getOperatingSystem() + public function getNetworkAdapter($arg_slot) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getOperatingSystem', array((array)$request)); - return (string)$response->returnval; + $request->slot = $arg_slot; + $response = $this->connection->__soapCall('IMachine_getNetworkAdapter', array((array)$request)); + return new INetworkAdapter ($this->connection, $response->returnval); } - public function getOSVersion() + public function addStorageController($arg_name, $arg_connectionType) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getOSVersion', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $request->connectionType = $arg_connectionType; + $response = $this->connection->__soapCall('IMachine_addStorageController', array((array)$request)); + return new IStorageController ($this->connection, $response->returnval); } - public function getUTCTime() + public function getStorageControllerByName($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getUTCTime', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_getStorageControllerByName', array((array)$request)); + return new IStorageController ($this->connection, $response->returnval); } - public function getAcceleration3DAvailable() + public function getStorageControllerByInstance($arg_connectionType, $arg_instance) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getAcceleration3DAvailable', array((array)$request)); - return (bool)$response->returnval; + $request->connectionType = $arg_connectionType; + $request->instance = $arg_instance; + $response = $this->connection->__soapCall('IMachine_getStorageControllerByInstance', array((array)$request)); + return new IStorageController ($this->connection, $response->returnval); } - public function getVideoInputDevices() + public function removeStorageController($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHost_getVideoInputDevices', array((array)$request)); - return new IHostVideoInputDeviceCollection ($this->connection, (array)$response->returnval); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_removeStorageController', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IHostCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IHost"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISystemProperties extends VBox_ManagedObject -{ - public function getMaxNetworkAdapters($arg_chipset) + public function setStorageControllerBootable($arg_name, $arg_bootable) { $request = new stdClass(); $request->_this = $this->handle; - $request->chipset = $arg_chipset; - $response = $this->connection->__soapCall('ISystemProperties_getMaxNetworkAdapters', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $request->bootable = $arg_bootable; + $response = $this->connection->__soapCall('IMachine_setStorageControllerBootable', array((array)$request)); + return ; } - public function getMaxNetworkAdaptersOfType($arg_chipset, $arg_type) + public function addUSBController($arg_name, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $request->chipset = $arg_chipset; + $request->name = $arg_name; $request->type = $arg_type; - $response = $this->connection->__soapCall('ISystemProperties_getMaxNetworkAdaptersOfType', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_addUSBController', array((array)$request)); + return new IUSBController ($this->connection, $response->returnval); } - public function getMaxDevicesPerPortForStorageBus($arg_bus) + public function removeUSBController($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $request->bus = $arg_bus; - $response = $this->connection->__soapCall('ISystemProperties_getMaxDevicesPerPortForStorageBus', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_removeUSBController', array((array)$request)); + return ; } - public function getMinPortCountForStorageBus($arg_bus) + public function getUSBControllerByName($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $request->bus = $arg_bus; - $response = $this->connection->__soapCall('ISystemProperties_getMinPortCountForStorageBus', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_getUSBControllerByName', array((array)$request)); + return new IUSBController ($this->connection, $response->returnval); } - public function getMaxPortCountForStorageBus($arg_bus) + public function getUSBControllerCountByType($arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $request->bus = $arg_bus; - $response = $this->connection->__soapCall('ISystemProperties_getMaxPortCountForStorageBus', array((array)$request)); + $request->type = $arg_type; + $response = $this->connection->__soapCall('IMachine_getUSBControllerCountByType', array((array)$request)); return (float)$response->returnval; } - public function getMaxInstancesOfStorageBus($arg_chipset, $arg_bus) + public function getSerialPort($arg_slot) { $request = new stdClass(); $request->_this = $this->handle; - $request->chipset = $arg_chipset; - $request->bus = $arg_bus; - $response = $this->connection->__soapCall('ISystemProperties_getMaxInstancesOfStorageBus', array((array)$request)); - return (float)$response->returnval; + $request->slot = $arg_slot; + $response = $this->connection->__soapCall('IMachine_getSerialPort', array((array)$request)); + return new ISerialPort ($this->connection, $response->returnval); } - public function getDeviceTypesForStorageBus($arg_bus) + public function getParallelPort($arg_slot) { $request = new stdClass(); $request->_this = $this->handle; - $request->bus = $arg_bus; - $response = $this->connection->__soapCall('ISystemProperties_getDeviceTypesForStorageBus', array((array)$request)); - return new DeviceTypeCollection ($this->connection, (array)$response->returnval); + $request->slot = $arg_slot; + $response = $this->connection->__soapCall('IMachine_getParallelPort', array((array)$request)); + return new IParallelPort ($this->connection, $response->returnval); } - public function getDefaultIoCacheSettingForStorageController($arg_controllerType) + public function getExtraDataKeys() { $request = new stdClass(); $request->_this = $this->handle; - $request->controllerType = $arg_controllerType; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultIoCacheSettingForStorageController', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getExtraDataKeys', array((array)$request)); + return (array)$response->returnval; } - public function getStorageControllerHotplugCapable($arg_controllerType) + public function getExtraData($arg_key) { $request = new stdClass(); $request->_this = $this->handle; - $request->controllerType = $arg_controllerType; - $response = $this->connection->__soapCall('ISystemProperties_getStorageControllerHotplugCapable', array((array)$request)); - return (bool)$response->returnval; + $request->key = $arg_key; + $response = $this->connection->__soapCall('IMachine_getExtraData', array((array)$request)); + return (string)$response->returnval; } - public function getMaxInstancesOfUSBControllerType($arg_chipset, $arg_type) + public function setExtraData($arg_key, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $request->chipset = $arg_chipset; - $request->type = $arg_type; - $response = $this->connection->__soapCall('ISystemProperties_getMaxInstancesOfUSBControllerType', array((array)$request)); - return (float)$response->returnval; + $request->key = $arg_key; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IMachine_setExtraData', array((array)$request)); + return ; } - public function getMinGuestRAM() + public function setSettingsFilePath($arg_settingsFilePath) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMinGuestRAM', array((array)$request)); - return (float)$response->returnval; + $request->settingsFilePath = $arg_settingsFilePath; + $response = $this->connection->__soapCall('IMachine_setSettingsFilePath', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getMaxGuestRAM() + public function saveSettings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestRAM', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_saveSettings', array((array)$request)); + return ; } - public function getMinGuestVRAM() + public function discardSettings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMinGuestVRAM', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_discardSettings', array((array)$request)); + return ; } - public function getMaxGuestVRAM() + public function unregister($arg_cleanupMode) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestVRAM', array((array)$request)); - return (float)$response->returnval; + $request->cleanupMode = $arg_cleanupMode; + $response = $this->connection->__soapCall('IMachine_unregister', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function getMinGuestCPUCount() + public function deleteConfig($arg_media) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMinGuestCPUCount', array((array)$request)); - return (float)$response->returnval; + $request->media = $arg_media; + $response = $this->connection->__soapCall('IMachine_deleteConfig', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getMaxGuestCPUCount() + public function exportTo($arg_appliance, $arg_location) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestCPUCount', array((array)$request)); - return (float)$response->returnval; + $request->appliance = $arg_appliance; + $request->location = $arg_location; + $response = $this->connection->__soapCall('IMachine_exportTo', array((array)$request)); + return new IVirtualSystemDescription ($this->connection, $response->returnval); } - public function getMaxGuestMonitors() + public function findSnapshot($arg_nameOrId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestMonitors', array((array)$request)); - return (float)$response->returnval; + $request->nameOrId = $arg_nameOrId; + $response = $this->connection->__soapCall('IMachine_findSnapshot', array((array)$request)); + return new ISnapshot ($this->connection, $response->returnval); } - public function getInfoVDSize() + public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount, $arg_autoMountPoint) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getInfoVDSize', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $request->hostPath = $arg_hostPath; + $request->writable = $arg_writable; + $request->automount = $arg_automount; + $request->autoMountPoint = $arg_autoMountPoint; + $response = $this->connection->__soapCall('IMachine_createSharedFolder', array((array)$request)); + return ; } - public function getSerialPortCount() + public function removeSharedFolder($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getSerialPortCount', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_removeSharedFolder', array((array)$request)); + return ; } - public function getParallelPortCount() + public function canShowConsoleWindow() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getParallelPortCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_canShowConsoleWindow', array((array)$request)); + return (bool)$response->returnval; } - public function getMaxBootPosition() + public function showConsoleWindow() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMaxBootPosition', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_showConsoleWindow', array((array)$request)); return (float)$response->returnval; } - public function getRawModeSupported() + public function getGuestProperty($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getRawModeSupported', array((array)$request)); - return (bool)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_getGuestProperty', array((array)$request)); + return array((string)$response->value, (float)$response->timestamp, (string)$response->flags); } - public function getExclusiveHwVirt() + public function getGuestPropertyValue($arg_property) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getExclusiveHwVirt', array((array)$request)); - return (bool)$response->returnval; + $request->property = $arg_property; + $response = $this->connection->__soapCall('IMachine_getGuestPropertyValue', array((array)$request)); + return (string)$response->returnval; } - public function setExclusiveHwVirt($value) + public function getGuestPropertyTimestamp($arg_property) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->exclusiveHwVirt = (bool)$value; - } - else - { - $request->exclusiveHwVirt = (bool)$value->handle; - } - $this->connection->__soapCall('ISystemProperties_setExclusiveHwVirt', array((array)$request)); + $request->property = $arg_property; + $response = $this->connection->__soapCall('IMachine_getGuestPropertyTimestamp', array((array)$request)); + return (float)$response->returnval; } - public function getDefaultMachineFolder() + public function setGuestProperty($arg_property, $arg_value, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultMachineFolder', array((array)$request)); - return (string)$response->returnval; + $request->property = $arg_property; + $request->value = $arg_value; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IMachine_setGuestProperty', array((array)$request)); + return ; } - public function setDefaultMachineFolder($value) + public function setGuestPropertyValue($arg_property, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->defaultMachineFolder = $value; - } - else - { - $request->defaultMachineFolder = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setDefaultMachineFolder', array((array)$request)); + $request->property = $arg_property; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IMachine_setGuestPropertyValue', array((array)$request)); + return ; } - public function getLoggingLevel() + public function deleteGuestProperty($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getLoggingLevel', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachine_deleteGuestProperty', array((array)$request)); + return ; } - public function setLoggingLevel($value) + public function enumerateGuestProperties($arg_patterns) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->loggingLevel = $value; - } - else - { - $request->loggingLevel = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setLoggingLevel', array((array)$request)); + $request->patterns = $arg_patterns; + $response = $this->connection->__soapCall('IMachine_enumerateGuestProperties', array((array)$request)); + return array((array)$response->names, (array)$response->values, (array)$response->timestamps, (array)$response->flags); } - public function getMediumFormats() + public function querySavedGuestScreenInfo($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getMediumFormats', array((array)$request)); - return new IMediumFormatCollection ($this->connection, (array)$response->returnval); + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IMachine_querySavedGuestScreenInfo', array((array)$request)); + return array((float)$response->originX, (float)$response->originY, (float)$response->width, (float)$response->height, (bool)$response->enabled); } - public function getDefaultHardDiskFormat() + public function readSavedThumbnailToArray($arg_screenId, $arg_bitmapFormat) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultHardDiskFormat', array((array)$request)); - return (string)$response->returnval; + $request->screenId = $arg_screenId; + $request->bitmapFormat = $arg_bitmapFormat; + $response = $this->connection->__soapCall('IMachine_readSavedThumbnailToArray', array((array)$request)); + return array((array)$response->returnval, (float)$response->width, (float)$response->height); } - public function setDefaultHardDiskFormat($value) + public function querySavedScreenshotInfo($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->defaultHardDiskFormat = $value; - } - else - { - $request->defaultHardDiskFormat = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setDefaultHardDiskFormat', array((array)$request)); + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IMachine_querySavedScreenshotInfo', array((array)$request)); + return array(new BitmapFormatCollection ($this->connection, (array)$response->returnval), (float)$response->width, (float)$response->height); } - public function getFreeDiskSpaceWarning() + public function readSavedScreenshotToArray($arg_screenId, $arg_bitmapFormat) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpaceWarning', array((array)$request)); - return (float)$response->returnval; + $request->screenId = $arg_screenId; + $request->bitmapFormat = $arg_bitmapFormat; + $response = $this->connection->__soapCall('IMachine_readSavedScreenshotToArray', array((array)$request)); + return array((array)$response->returnval, (float)$response->width, (float)$response->height); } - public function setFreeDiskSpaceWarning($value) + public function hotPlugCPU($arg_cpu) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->freeDiskSpaceWarning = $value; - } - else - { - $request->freeDiskSpaceWarning = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setFreeDiskSpaceWarning', array((array)$request)); + $request->cpu = $arg_cpu; + $response = $this->connection->__soapCall('IMachine_hotPlugCPU', array((array)$request)); + return ; } - public function getFreeDiskSpacePercentWarning() + public function hotUnplugCPU($arg_cpu) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpacePercentWarning', array((array)$request)); - return (float)$response->returnval; + $request->cpu = $arg_cpu; + $response = $this->connection->__soapCall('IMachine_hotUnplugCPU', array((array)$request)); + return ; } - public function setFreeDiskSpacePercentWarning($value) + public function getCPUStatus($arg_cpu) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->freeDiskSpacePercentWarning = $value; - } - else - { - $request->freeDiskSpacePercentWarning = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setFreeDiskSpacePercentWarning', array((array)$request)); + $request->cpu = $arg_cpu; + $response = $this->connection->__soapCall('IMachine_getCPUStatus', array((array)$request)); + return (bool)$response->returnval; } - public function getFreeDiskSpaceError() + public function getEffectiveParavirtProvider() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpaceError', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getEffectiveParavirtProvider', array((array)$request)); + return new ParavirtProvider ($this->connection, $response->returnval); } - public function setFreeDiskSpaceError($value) + public function queryLogFilename($arg_idx) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->freeDiskSpaceError = $value; - } - else - { - $request->freeDiskSpaceError = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setFreeDiskSpaceError', array((array)$request)); + $request->idx = $arg_idx; + $response = $this->connection->__soapCall('IMachine_queryLogFilename', array((array)$request)); + return (string)$response->returnval; } - public function getFreeDiskSpacePercentError() + public function readLog($arg_idx, $arg_offset, $arg_size) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpacePercentError', array((array)$request)); - return (float)$response->returnval; + $request->idx = $arg_idx; + $request->offset = $arg_offset; + $request->size = $arg_size; + $response = $this->connection->__soapCall('IMachine_readLog', array((array)$request)); + return (array)$response->returnval; } - public function setFreeDiskSpacePercentError($value) + public function cloneTo($arg_target, $arg_mode, $arg_options) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->freeDiskSpacePercentError = $value; - } - else - { - $request->freeDiskSpacePercentError = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setFreeDiskSpacePercentError', array((array)$request)); + $request->target = $arg_target; + $request->mode = $arg_mode; + $request->options = $arg_options; + $response = $this->connection->__soapCall('IMachine_cloneTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getVRDEAuthLibrary() + public function moveTo($arg_folder, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getVRDEAuthLibrary', array((array)$request)); - return (string)$response->returnval; + $request->folder = $arg_folder; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IMachine_moveTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setVRDEAuthLibrary($value) + public function saveState() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->VRDEAuthLibrary = $value; - } - else - { - $request->VRDEAuthLibrary = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setVRDEAuthLibrary', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_saveState', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getWebServiceAuthLibrary() + public function adoptSavedState($arg_savedStateFile) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getWebServiceAuthLibrary', array((array)$request)); - return (string)$response->returnval; + $request->savedStateFile = $arg_savedStateFile; + $response = $this->connection->__soapCall('IMachine_adoptSavedState', array((array)$request)); + return ; } - public function setWebServiceAuthLibrary($value) + public function discardSavedState($arg_fRemoveFile) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->webServiceAuthLibrary = $value; - } - else - { - $request->webServiceAuthLibrary = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setWebServiceAuthLibrary', array((array)$request)); + $request->fRemoveFile = $arg_fRemoveFile; + $response = $this->connection->__soapCall('IMachine_discardSavedState', array((array)$request)); + return ; } - public function getDefaultVRDEExtPack() + public function takeSnapshot($arg_name, $arg_description, $arg_pause) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultVRDEExtPack', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $request->description = $arg_description; + $request->pause = $arg_pause; + $response = $this->connection->__soapCall('IMachine_takeSnapshot', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), (string)$response->id); } - public function setDefaultVRDEExtPack($value) + public function deleteSnapshot($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->defaultVRDEExtPack = $value; - } - else - { - $request->defaultVRDEExtPack = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setDefaultVRDEExtPack', array((array)$request)); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IMachine_deleteSnapshot', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getLogHistoryCount() + public function deleteSnapshotAndAllChildren($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getLogHistoryCount', array((array)$request)); - return (float)$response->returnval; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IMachine_deleteSnapshotAndAllChildren', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setLogHistoryCount($value) + public function deleteSnapshotRange($arg_startId, $arg_endId) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logHistoryCount = $value; - } - else - { - $request->logHistoryCount = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setLogHistoryCount', array((array)$request)); + $request->startId = $arg_startId; + $request->endId = $arg_endId; + $response = $this->connection->__soapCall('IMachine_deleteSnapshotRange', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getDefaultAudioDriver() + public function restoreSnapshot($arg_snapshot) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultAudioDriver', array((array)$request)); - return new AudioDriverType ($this->connection, $response->returnval); + $request->snapshot = $arg_snapshot; + $response = $this->connection->__soapCall('IMachine_restoreSnapshot', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getAutostartDatabasePath() + public function applyDefaults($arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getAutostartDatabasePath', array((array)$request)); - return (string)$response->returnval; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IMachine_applyDefaults', array((array)$request)); + return ; } - public function setAutostartDatabasePath($value) + public function changeEncryption($arg_currentPassword, $arg_cipher, $arg_newPassword, $arg_newPasswordId, $arg_force) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->autostartDatabasePath = $value; - } - else - { - $request->autostartDatabasePath = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setAutostartDatabasePath', array((array)$request)); - } - - public function getDefaultAdditionsISO() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultAdditionsISO', array((array)$request)); - return (string)$response->returnval; + $request->currentPassword = $arg_currentPassword; + $request->cipher = $arg_cipher; + $request->newPassword = $arg_newPassword; + $request->newPasswordId = $arg_newPasswordId; + $request->force = $arg_force; + $response = $this->connection->__soapCall('IMachine_changeEncryption', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setDefaultAdditionsISO($value) + public function getEncryptionSettings() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->defaultAdditionsISO = $value; - } - else - { - $request->defaultAdditionsISO = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setDefaultAdditionsISO', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getEncryptionSettings', array((array)$request)); + return array((string)$response->cipher, (string)$response->passwordId); } - public function getDefaultFrontend() + public function checkEncryptionPassword($arg_password) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getDefaultFrontend', array((array)$request)); - return (string)$response->returnval; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IMachine_checkEncryptionPassword', array((array)$request)); + return ; } - public function setDefaultFrontend($value) + public function addEncryptionPassword($arg_id, $arg_password) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->defaultFrontend = $value; - } - else - { - $request->defaultFrontend = $value->handle; - } - $this->connection->__soapCall('ISystemProperties_setDefaultFrontend', array((array)$request)); + $request->id = $arg_id; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IMachine_addEncryptionPassword', array((array)$request)); + return ; } - public function getScreenShotFormats() + public function addEncryptionPasswords($arg_ids, $arg_passwords) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISystemProperties_getScreenShotFormats', array((array)$request)); - return new BitmapFormatCollection ($this->connection, (array)$response->returnval); + $request->ids = $arg_ids; + $request->passwords = $arg_passwords; + $response = $this->connection->__soapCall('IMachine_addEncryptionPasswords', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISystemPropertiesCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISystemProperties"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDnDBase extends VBox_ManagedObject -{ - public function isFormatSupported($arg_format) + public function removeEncryptionPassword($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $request->format = $arg_format; - $response = $this->connection->__soapCall('IDnDBase_isFormatSupported', array((array)$request)); - return (bool)$response->returnval; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IMachine_removeEncryptionPassword', array((array)$request)); + return ; } - public function addFormats($arg_formats) + public function clearAllEncryptionPasswords() { $request = new stdClass(); $request->_this = $this->handle; - $request->formats = $arg_formats; - $response = $this->connection->__soapCall('IDnDBase_addFormats', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_clearAllEncryptionPasswords', array((array)$request)); return ; } - public function removeFormats($arg_formats) + public function getParent() { $request = new stdClass(); $request->_this = $this->handle; - $request->formats = $arg_formats; - $response = $this->connection->__soapCall('IDnDBase_removeFormats', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getParent', array((array)$request)); + return new IVirtualBox ($this->connection, $response->returnval); } - public function getFormats() + public function getIcon() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDnDBase_getFormats', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getIcon', array((array)$request)); return (array)$response->returnval; } - public function getProtocolVersion() + public function setIcon($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDnDBase_getProtocolVersion', array((array)$request)); - return (float)$response->returnval; + if (is_array($value) || is_null($value) || is_scalar($value)) + { + $request->icon = $value; + } + else + { + $request->icon = $value->handle; + } + $this->connection->__soapCall('IMachine_setIcon', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDnDBaseCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDnDBase"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDnDSource extends IDnDBase -{ - - public function dragIsPending($arg_screenId) + public function getAccessible() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IDnDSource_dragIsPending', array((array)$request)); - return array(new DnDAction ($this->connection, $response->returnval), (array)$response->formats, new DnDActionCollection ($this->connection, (array)$response->allowedActions)); + $response = $this->connection->__soapCall('IMachine_getAccessible', array((array)$request)); + return (bool)$response->returnval; } - public function drop($arg_format, $arg_action) + public function getAccessError() { $request = new stdClass(); $request->_this = $this->handle; - $request->format = $arg_format; - $request->action = $arg_action; - $response = $this->connection->__soapCall('IDnDSource_drop', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getAccessError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); } - public function receiveData() + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDnDSource_receiveData', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getName', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDnDSourceCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDnDSource"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestDnDSource extends IDnDSource -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function setName($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestDnDSource_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IMachine_setName', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestDnDSourceCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestDnDSource"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDnDTarget extends IDnDBase -{ - - public function enter($arg_screenId, $arg_y, $arg_x, $arg_defaultAction, $arg_allowedActions, $arg_formats) + public function getDescription() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->y = $arg_y; - $request->x = $arg_x; - $request->defaultAction = $arg_defaultAction; - $request->allowedActions = $arg_allowedActions; - $request->formats = $arg_formats; - $response = $this->connection->__soapCall('IDnDTarget_enter', array((array)$request)); - return new DnDAction ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getDescription', array((array)$request)); + return (string)$response->returnval; } - public function move($arg_screenId, $arg_x, $arg_y, $arg_defaultAction, $arg_allowedActions, $arg_formats) + public function setDescription($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->x = $arg_x; - $request->y = $arg_y; - $request->defaultAction = $arg_defaultAction; - $request->allowedActions = $arg_allowedActions; - $request->formats = $arg_formats; - $response = $this->connection->__soapCall('IDnDTarget_move', array((array)$request)); - return new DnDAction ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->description = $value; + } + else + { + $request->description = $value->handle; + } + $this->connection->__soapCall('IMachine_setDescription', array((array)$request)); } - public function leave($arg_screenId) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IDnDTarget_leave', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getId', array((array)$request)); + return (string)$response->returnval; } - public function drop($arg_screenId, $arg_x, $arg_y, $arg_defaultAction, $arg_allowedActions, $arg_formats) + public function getGroups() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->x = $arg_x; - $request->y = $arg_y; - $request->defaultAction = $arg_defaultAction; - $request->allowedActions = $arg_allowedActions; - $request->formats = $arg_formats; - $response = $this->connection->__soapCall('IDnDTarget_drop', array((array)$request)); - return array(new DnDAction ($this->connection, $response->returnval), (string)$response->format); + $response = $this->connection->__soapCall('IMachine_getGroups', array((array)$request)); + return (array)$response->returnval; } - public function sendData($arg_screenId, $arg_format, $arg_data) + public function setGroups($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->format = $arg_format; - $request->data = $arg_data; - $response = $this->connection->__soapCall('IDnDTarget_sendData', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_array($value) || is_null($value) || is_scalar($value)) + { + $request->groups = $value; + } + else + { + $request->groups = $value->handle; + } + $this->connection->__soapCall('IMachine_setGroups', array((array)$request)); } - public function cancel() + public function getOSTypeId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDnDTarget_cancel', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getOSTypeId', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDnDTargetCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDnDTarget"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestDnDTarget extends IDnDTarget -{ - - public function getMidlDoesNotLikeEmptyInterfaces() + public function setOSTypeId($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestDnDTarget_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->OSTypeId = $value; + } + else + { + $request->OSTypeId = $value->handle; + } + $this->connection->__soapCall('IMachine_setOSTypeId', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestDnDTargetCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestDnDTarget"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestSession extends VBox_ManagedObject -{ - public function close() + public function getHardwareVersion() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_close', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getHardwareVersion', array((array)$request)); + return (string)$response->returnval; } - public function directoryCopy($arg_source, $arg_destination, $arg_flags) + public function setHardwareVersion($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryCopy', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->hardwareVersion = $value; + } + else + { + $request->hardwareVersion = $value->handle; + } + $this->connection->__soapCall('IMachine_setHardwareVersion', array((array)$request)); } - public function directoryCopyFromGuest($arg_source, $arg_destination, $arg_flags) + public function getHardwareUUID() { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryCopyFromGuest', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getHardwareUUID', array((array)$request)); + return (string)$response->returnval; } - public function directoryCopyToGuest($arg_source, $arg_destination, $arg_flags) + public function setHardwareUUID($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryCopyToGuest', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->hardwareUUID = $value; + } + else + { + $request->hardwareUUID = $value->handle; + } + $this->connection->__soapCall('IMachine_setHardwareUUID', array((array)$request)); } - public function directoryCreate($arg_path, $arg_mode, $arg_flags) + public function getCPUCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->mode = $arg_mode; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryCreate', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getCPUCount', array((array)$request)); + return (float)$response->returnval; } - public function directoryCreateTemp($arg_templateName, $arg_mode, $arg_path, $arg_secure) + public function setCPUCount($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->templateName = $arg_templateName; - $request->mode = $arg_mode; - $request->path = $arg_path; - $request->secure = (bool)$arg_secure; - $response = $this->connection->__soapCall('IGuestSession_directoryCreateTemp', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->CPUCount = $value; + } + else + { + $request->CPUCount = $value->handle; + } + $this->connection->__soapCall('IMachine_setCPUCount', array((array)$request)); } - public function directoryExists($arg_path, $arg_followSymlinks) + public function getCPUHotPlugEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $response = $this->connection->__soapCall('IGuestSession_directoryExists', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getCPUHotPlugEnabled', array((array)$request)); return (bool)$response->returnval; } - public function directoryOpen($arg_path, $arg_filter, $arg_flags) + public function setCPUHotPlugEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->filter = $arg_filter; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryOpen', array((array)$request)); - return new IGuestDirectory ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->CPUHotPlugEnabled = $value; + } + else + { + $request->CPUHotPlugEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setCPUHotPlugEnabled', array((array)$request)); } - public function directoryRemove($arg_path) + public function getCPUExecutionCap() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $response = $this->connection->__soapCall('IGuestSession_directoryRemove', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getCPUExecutionCap', array((array)$request)); + return (float)$response->returnval; } - public function directoryRemoveRecursive($arg_path, $arg_flags) + public function setCPUExecutionCap($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_directoryRemoveRecursive', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->CPUExecutionCap = $value; + } + else + { + $request->CPUExecutionCap = $value->handle; + } + $this->connection->__soapCall('IMachine_setCPUExecutionCap', array((array)$request)); } - public function environmentScheduleSet($arg_name, $arg_value) + public function getCPUIDPortabilityLevel() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IGuestSession_environmentScheduleSet', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getCPUIDPortabilityLevel', array((array)$request)); + return (float)$response->returnval; } - public function environmentScheduleUnset($arg_name) + public function setCPUIDPortabilityLevel($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IGuestSession_environmentScheduleUnset', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->CPUIDPortabilityLevel = $value; + } + else + { + $request->CPUIDPortabilityLevel = $value->handle; + } + $this->connection->__soapCall('IMachine_setCPUIDPortabilityLevel', array((array)$request)); } - public function environmentGetBaseVariable($arg_name) + public function getMemorySize() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IGuestSession_environmentGetBaseVariable', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getMemorySize', array((array)$request)); + return (float)$response->returnval; } - public function environmentDoesBaseVariableExist($arg_name) + public function setMemorySize($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IGuestSession_environmentDoesBaseVariableExist', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->memorySize = $value; + } + else + { + $request->memorySize = $value->handle; + } + $this->connection->__soapCall('IMachine_setMemorySize', array((array)$request)); } - public function fileCopy($arg_source, $arg_destination, $arg_flags) + public function getMemoryBalloonSize() { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fileCopy', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getMemoryBalloonSize', array((array)$request)); + return (float)$response->returnval; } - public function fileCopyFromGuest($arg_source, $arg_destination, $arg_flags) + public function setMemoryBalloonSize($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fileCopyFromGuest', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->memoryBalloonSize = $value; + } + else + { + $request->memoryBalloonSize = $value->handle; + } + $this->connection->__soapCall('IMachine_setMemoryBalloonSize', array((array)$request)); } - public function fileCopyToGuest($arg_source, $arg_destination, $arg_flags) + public function getPageFusionEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fileCopyToGuest', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getPageFusionEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function fileCreateTemp($arg_templateName, $arg_mode, $arg_path, $arg_secure) + public function setPageFusionEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->templateName = $arg_templateName; - $request->mode = $arg_mode; - $request->path = $arg_path; - $request->secure = (bool)$arg_secure; - $response = $this->connection->__soapCall('IGuestSession_fileCreateTemp', array((array)$request)); - return new IGuestFile ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->pageFusionEnabled = $value; + } + else + { + $request->pageFusionEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setPageFusionEnabled', array((array)$request)); } - public function fileExists($arg_path, $arg_followSymlinks) + public function getGraphicsAdapter() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $response = $this->connection->__soapCall('IGuestSession_fileExists', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getGraphicsAdapter', array((array)$request)); + return new IGraphicsAdapter ($this->connection, $response->returnval); } - public function fileOpen($arg_path, $arg_accessMode, $arg_openAction, $arg_creationMode) + public function getPlatform() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->accessMode = $arg_accessMode; - $request->openAction = $arg_openAction; - $request->creationMode = $arg_creationMode; - $response = $this->connection->__soapCall('IGuestSession_fileOpen', array((array)$request)); - return new IGuestFile ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getPlatform', array((array)$request)); + return new IPlatform ($this->connection, $response->returnval); } - public function fileOpenEx($arg_path, $arg_accessMode, $arg_openAction, $arg_sharingMode, $arg_creationMode, $arg_flags) + public function getFirmwareSettings() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->accessMode = $arg_accessMode; - $request->openAction = $arg_openAction; - $request->sharingMode = $arg_sharingMode; - $request->creationMode = $arg_creationMode; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fileOpenEx', array((array)$request)); - return new IGuestFile ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getFirmwareSettings', array((array)$request)); + return new IFirmwareSettings ($this->connection, $response->returnval); } - public function fileQuerySize($arg_path, $arg_followSymlinks) + public function getTrustedPlatformModule() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $response = $this->connection->__soapCall('IGuestSession_fileQuerySize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getTrustedPlatformModule', array((array)$request)); + return new ITrustedPlatformModule ($this->connection, $response->returnval); } - public function fsObjExists($arg_path, $arg_followSymlinks) + public function getNonVolatileStore() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $response = $this->connection->__soapCall('IGuestSession_fsObjExists', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getNonVolatileStore', array((array)$request)); + return new INvramStore ($this->connection, $response->returnval); } - public function fsObjQueryInfo($arg_path, $arg_followSymlinks) + public function getRecordingSettings() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $response = $this->connection->__soapCall('IGuestSession_fsObjQueryInfo', array((array)$request)); - return new IGuestFsObjInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getRecordingSettings', array((array)$request)); + return new IRecordingSettings ($this->connection, $response->returnval); } - public function fsObjRemove($arg_path) + public function getPointingHIDType() { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $response = $this->connection->__soapCall('IGuestSession_fsObjRemove', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getPointingHIDType', array((array)$request)); + return new PointingHIDType ($this->connection, $response->returnval); } - public function fsObjRename($arg_oldPath, $arg_newPath, $arg_flags) + public function setPointingHIDType($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->oldPath = $arg_oldPath; - $request->newPath = $arg_newPath; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fsObjRename', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->pointingHIDType = $value; + } + else + { + $request->pointingHIDType = $value->handle; + } + $this->connection->__soapCall('IMachine_setPointingHIDType', array((array)$request)); } - public function fsObjMove($arg_source, $arg_destination, $arg_flags) + public function getKeyboardHIDType() { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->destination = $arg_destination; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_fsObjMove', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getKeyboardHIDType', array((array)$request)); + return new KeyboardHIDType ($this->connection, $response->returnval); } - public function fsObjSetACL($arg_path, $arg_followSymlinks, $arg_acl, $arg_mode) + public function setKeyboardHIDType($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->path = $arg_path; - $request->followSymlinks = (bool)$arg_followSymlinks; - $request->acl = $arg_acl; - $request->mode = $arg_mode; - $response = $this->connection->__soapCall('IGuestSession_fsObjSetACL', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->keyboardHIDType = $value; + } + else + { + $request->keyboardHIDType = $value->handle; + } + $this->connection->__soapCall('IMachine_setKeyboardHIDType', array((array)$request)); } - public function processCreate($arg_executable, $arg_arguments, $arg_environmentChanges, $arg_flags, $arg_timeoutMS) + public function getSnapshotFolder() { $request = new stdClass(); $request->_this = $this->handle; - $request->executable = $arg_executable; - $request->arguments = $arg_arguments; - $request->environmentChanges = $arg_environmentChanges; - $request->flags = $arg_flags; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IGuestSession_processCreate', array((array)$request)); - return new IGuestProcess ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getSnapshotFolder', array((array)$request)); + return (string)$response->returnval; } - public function processCreateEx($arg_executable, $arg_arguments, $arg_environmentChanges, $arg_flags, $arg_timeoutMS, $arg_priority, $arg_affinity) + public function setSnapshotFolder($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->executable = $arg_executable; - $request->arguments = $arg_arguments; - $request->environmentChanges = $arg_environmentChanges; - $request->flags = $arg_flags; - $request->timeoutMS = $arg_timeoutMS; - $request->priority = $arg_priority; - $request->affinity = $arg_affinity; - $response = $this->connection->__soapCall('IGuestSession_processCreateEx', array((array)$request)); - return new IGuestProcess ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->snapshotFolder = $value; + } + else + { + $request->snapshotFolder = $value->handle; + } + $this->connection->__soapCall('IMachine_setSnapshotFolder', array((array)$request)); } - public function processGet($arg_pid) + public function getVRDEServer() { $request = new stdClass(); $request->_this = $this->handle; - $request->pid = $arg_pid; - $response = $this->connection->__soapCall('IGuestSession_processGet', array((array)$request)); - return new IGuestProcess ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getVRDEServer', array((array)$request)); + return new IVRDEServer ($this->connection, $response->returnval); } - public function symlinkCreate($arg_symlink, $arg_target, $arg_type) + public function getEmulatedUSBCardReaderEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->symlink = $arg_symlink; - $request->target = $arg_target; - $request->type = $arg_type; - $response = $this->connection->__soapCall('IGuestSession_symlinkCreate', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getEmulatedUSBCardReaderEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function symlinkExists($arg_symlink) + public function setEmulatedUSBCardReaderEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->symlink = $arg_symlink; - $response = $this->connection->__soapCall('IGuestSession_symlinkExists', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->emulatedUSBCardReaderEnabled = $value; + } + else + { + $request->emulatedUSBCardReaderEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setEmulatedUSBCardReaderEnabled', array((array)$request)); } - public function symlinkRead($arg_symlink, $arg_flags) + public function getMediumAttachments() { $request = new stdClass(); $request->_this = $this->handle; - $request->symlink = $arg_symlink; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuestSession_symlinkRead', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getMediumAttachments', array((array)$request)); + return new IMediumAttachmentCollection ($this->connection, (array)$response->returnval); } - public function waitFor($arg_waitFor, $arg_timeoutMS) + public function getUSBControllers() { $request = new stdClass(); $request->_this = $this->handle; - $request->waitFor = $arg_waitFor; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IGuestSession_waitFor', array((array)$request)); - return new GuestSessionWaitResult ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getUSBControllers', array((array)$request)); + return new IUSBControllerCollection ($this->connection, (array)$response->returnval); } - public function waitForArray($arg_waitFor, $arg_timeoutMS) + public function getUSBDeviceFilters() { $request = new stdClass(); $request->_this = $this->handle; - $request->waitFor = $arg_waitFor; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IGuestSession_waitForArray', array((array)$request)); - return new GuestSessionWaitResult ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getUSBDeviceFilters', array((array)$request)); + return new IUSBDeviceFilters ($this->connection, $response->returnval); } - public function getUser() + public function getAudioSettings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getUser', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getAudioSettings', array((array)$request)); + return new IAudioSettings ($this->connection, $response->returnval); } - public function getDomain() + public function getStorageControllers() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getDomain', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getStorageControllers', array((array)$request)); + return new IStorageControllerCollection ($this->connection, (array)$response->returnval); } - public function getName() + public function getSettingsFilePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getName', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getSettingsFilePath', array((array)$request)); return (string)$response->returnval; } - public function getId() + public function getSettingsAuxFilePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getSettingsAuxFilePath', array((array)$request)); + return (string)$response->returnval; } - public function getTimeout() + public function getSettingsModified() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getTimeout', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getSettingsModified', array((array)$request)); + return (bool)$response->returnval; } - public function setTimeout($value) + public function getSessionState() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->timeout = $value; - } - else - { - $request->timeout = $value->handle; - } - $this->connection->__soapCall('IGuestSession_setTimeout', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getSessionState', array((array)$request)); + return new SessionState ($this->connection, $response->returnval); } - public function getProtocolVersion() + public function getSessionName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getProtocolVersion', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getSessionName', array((array)$request)); + return (string)$response->returnval; } - public function getStatus() + public function getSessionPID() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getStatus', array((array)$request)); - return new GuestSessionStatus ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getSessionPID', array((array)$request)); + return (float)$response->returnval; } - public function getEnvironmentChanges() + public function getState() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getEnvironmentChanges', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getState', array((array)$request)); + return new MachineState ($this->connection, $response->returnval); } - public function setEnvironmentChanges($value) + public function getLastStateChange() { $request = new stdClass(); $request->_this = $this->handle; - if (is_array($value) || is_null($value) || is_scalar($value)) - { - $request->environmentChanges = $value; - } - else - { - $request->environmentChanges = $value->handle; - } - $this->connection->__soapCall('IGuestSession_setEnvironmentChanges', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getLastStateChange', array((array)$request)); + return (float)$response->returnval; } - public function getEnvironmentBase() + public function getStateFilePath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getEnvironmentBase', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getStateFilePath', array((array)$request)); + return (string)$response->returnval; } - public function getProcesses() + public function getLogFolder() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getProcesses', array((array)$request)); - return new IGuestProcessCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IMachine_getLogFolder', array((array)$request)); + return (string)$response->returnval; } - public function getPathStyle() + public function getCurrentSnapshot() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getPathStyle', array((array)$request)); - return new PathStyle ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getCurrentSnapshot', array((array)$request)); + return new ISnapshot ($this->connection, $response->returnval); } - public function getCurrentDirectory() + public function getSnapshotCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getCurrentDirectory', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getSnapshotCount', array((array)$request)); + return (float)$response->returnval; } - public function setCurrentDirectory($value) + public function getCurrentStateModified() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->currentDirectory = $value; - } - else - { - $request->currentDirectory = $value->handle; - } - $this->connection->__soapCall('IGuestSession_setCurrentDirectory', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getCurrentStateModified', array((array)$request)); + return (bool)$response->returnval; } - public function getDirectories() + public function getSharedFolders() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getDirectories', array((array)$request)); - return new IGuestDirectoryCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IMachine_getSharedFolders', array((array)$request)); + return new ISharedFolderCollection ($this->connection, (array)$response->returnval); } - public function getFiles() + public function getClipboardMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getFiles', array((array)$request)); - return new IGuestFileCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IMachine_getClipboardMode', array((array)$request)); + return new ClipboardMode ($this->connection, $response->returnval); } - public function getEventSource() + public function setClipboardMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSession_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->clipboardMode = $value; + } + else + { + $request->clipboardMode = $value->handle; + } + $this->connection->__soapCall('IMachine_setClipboardMode', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestSessionCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestSession"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IProcess extends VBox_ManagedObject -{ - - public function waitFor($arg_waitFor, $arg_timeoutMS) + public function getClipboardFileTransfersEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->waitFor = $arg_waitFor; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IProcess_waitFor', array((array)$request)); - return new ProcessWaitResult ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getClipboardFileTransfersEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function waitForArray($arg_waitFor, $arg_timeoutMS) + public function setClipboardFileTransfersEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->waitFor = $arg_waitFor; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IProcess_waitForArray', array((array)$request)); - return new ProcessWaitResult ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->clipboardFileTransfersEnabled = $value; + } + else + { + $request->clipboardFileTransfersEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setClipboardFileTransfersEnabled', array((array)$request)); } - public function read($arg_handle, $arg_toRead, $arg_timeoutMS) + public function getDnDMode() { $request = new stdClass(); $request->_this = $this->handle; - $request->handle = $arg_handle; - $request->toRead = $arg_toRead; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IProcess_read', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getDnDMode', array((array)$request)); + return new DnDMode ($this->connection, $response->returnval); } - public function write($arg_handle, $arg_flags, $arg_data, $arg_timeoutMS) + public function setDnDMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->handle = $arg_handle; - $request->flags = $arg_flags; - $request->data = $arg_data; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IProcess_write', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->dnDMode = $value; + } + else + { + $request->dnDMode = $value->handle; + } + $this->connection->__soapCall('IMachine_setDnDMode', array((array)$request)); } - public function writeArray($arg_handle, $arg_flags, $arg_data, $arg_timeoutMS) + public function getTeleporterEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $request->handle = $arg_handle; - $request->flags = $arg_flags; - $request->data = $arg_data; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IProcess_writeArray', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getTeleporterEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function terminate() + public function setTeleporterEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_terminate', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->teleporterEnabled = $value; + } + else + { + $request->teleporterEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setTeleporterEnabled', array((array)$request)); } - public function getArguments() + public function getTeleporterPort() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getArguments', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getTeleporterPort', array((array)$request)); + return (float)$response->returnval; } - public function getEnvironment() + public function setTeleporterPort($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getEnvironment', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->teleporterPort = $value; + } + else + { + $request->teleporterPort = $value->handle; + } + $this->connection->__soapCall('IMachine_setTeleporterPort', array((array)$request)); } - public function getEventSource() + public function getTeleporterAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getTeleporterAddress', array((array)$request)); + return (string)$response->returnval; } - public function getExecutablePath() + public function setTeleporterAddress($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getExecutablePath', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->teleporterAddress = $value; + } + else + { + $request->teleporterAddress = $value->handle; + } + $this->connection->__soapCall('IMachine_setTeleporterAddress', array((array)$request)); } - public function getExitCode() + public function getTeleporterPassword() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getExitCode', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getTeleporterPassword', array((array)$request)); + return (string)$response->returnval; } - public function getName() + public function setTeleporterPassword($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getName', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->teleporterPassword = $value; + } + else + { + $request->teleporterPassword = $value->handle; + } + $this->connection->__soapCall('IMachine_setTeleporterPassword', array((array)$request)); } - public function getPID() + public function getParavirtProvider() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getPID', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getParavirtProvider', array((array)$request)); + return new ParavirtProvider ($this->connection, $response->returnval); } - public function getStatus() + public function setParavirtProvider($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProcess_getStatus', array((array)$request)); - return new ProcessStatus ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->paravirtProvider = $value; + } + else + { + $request->paravirtProvider = $value->handle; + } + $this->connection->__soapCall('IMachine_setParavirtProvider', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IProcessCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IProcess"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcess extends IProcess -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function getIOCacheEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcess_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getIOCacheEnabled', array((array)$request)); return (bool)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcess"; -} + public function setIOCacheEnabled($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IOCacheEnabled = $value; + } + else + { + $request->IOCacheEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setIOCacheEnabled', array((array)$request)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDirectory extends VBox_ManagedObject -{ + public function getIOCacheSize() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachine_getIOCacheSize', array((array)$request)); + return (float)$response->returnval; + } - public function close() + public function setIOCacheSize($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDirectory_close', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->IOCacheSize = $value; + } + else + { + $request->IOCacheSize = $value->handle; + } + $this->connection->__soapCall('IMachine_setIOCacheSize', array((array)$request)); } - public function read() + public function getPCIDeviceAssignments() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDirectory_read', array((array)$request)); - return new IFsObjInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getPCIDeviceAssignments', array((array)$request)); + return new IPCIDeviceAttachmentCollection ($this->connection, (array)$response->returnval); } - public function getDirectoryName() + public function getBandwidthControl() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDirectory_getDirectoryName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getBandwidthControl', array((array)$request)); + return new IBandwidthControl ($this->connection, $response->returnval); } - public function getFilter() + public function getTracingEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDirectory_getFilter', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getTracingEnabled', array((array)$request)); + return (bool)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDirectoryCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDirectory"; -} + public function setTracingEnabled($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->tracingEnabled = $value; + } + else + { + $request->tracingEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setTracingEnabled', array((array)$request)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestDirectory extends IDirectory -{ + public function getTracingConfig() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachine_getTracingConfig', array((array)$request)); + return (string)$response->returnval; + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function setTracingConfig($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestDirectory_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->tracingConfig = $value; + } + else + { + $request->tracingConfig = $value->handle; + } + $this->connection->__soapCall('IMachine_setTracingConfig', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestDirectoryCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestDirectory"; -} + public function getAllowTracingToAccessVM() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachine_getAllowTracingToAccessVM', array((array)$request)); + return (bool)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IFile extends VBox_ManagedObject -{ + public function setAllowTracingToAccessVM($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->allowTracingToAccessVM = $value; + } + else + { + $request->allowTracingToAccessVM = $value->handle; + } + $this->connection->__soapCall('IMachine_setAllowTracingToAccessVM', array((array)$request)); + } - public function close() + public function getAutostartEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_close', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getAutostartEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function queryInfo() + public function setAutostartEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_queryInfo', array((array)$request)); - return new IFsObjInfo ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->autostartEnabled = $value; + } + else + { + $request->autostartEnabled = $value->handle; + } + $this->connection->__soapCall('IMachine_setAutostartEnabled', array((array)$request)); } - public function querySize() + public function getAutostartDelay() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_querySize', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getAutostartDelay', array((array)$request)); return (float)$response->returnval; } - public function read($arg_toRead, $arg_timeoutMS) + public function setAutostartDelay($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->toRead = $arg_toRead; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IFile_read', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->autostartDelay = $value; + } + else + { + $request->autostartDelay = $value->handle; + } + $this->connection->__soapCall('IMachine_setAutostartDelay', array((array)$request)); } - public function readAt($arg_offset, $arg_toRead, $arg_timeoutMS) + public function getAutostopType() { $request = new stdClass(); $request->_this = $this->handle; - $request->offset = $arg_offset; - $request->toRead = $arg_toRead; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IFile_readAt', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getAutostopType', array((array)$request)); + return new AutostopType ($this->connection, $response->returnval); } - public function seek($arg_offset, $arg_whence) + public function setAutostopType($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->offset = $arg_offset; - $request->whence = $arg_whence; - $response = $this->connection->__soapCall('IFile_seek', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->autostopType = $value; + } + else + { + $request->autostopType = $value->handle; + } + $this->connection->__soapCall('IMachine_setAutostopType', array((array)$request)); } - public function setACL($arg_acl, $arg_mode) + public function getDefaultFrontend() { $request = new stdClass(); $request->_this = $this->handle; - $request->acl = $arg_acl; - $request->mode = $arg_mode; - $response = $this->connection->__soapCall('IFile_setACL', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMachine_getDefaultFrontend', array((array)$request)); + return (string)$response->returnval; } - public function setSize($arg_size) + public function setDefaultFrontend($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->size = $arg_size; - $response = $this->connection->__soapCall('IFile_setSize', array((array)$request)); - return ; + if (is_null($value) || is_scalar($value)) + { + $request->defaultFrontend = $value; + } + else + { + $request->defaultFrontend = $value->handle; + } + $this->connection->__soapCall('IMachine_setDefaultFrontend', array((array)$request)); } - public function write($arg_data, $arg_timeoutMS) + public function getUSBProxyAvailable() { $request = new stdClass(); $request->_this = $this->handle; - $request->data = $arg_data; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IFile_write', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getUSBProxyAvailable', array((array)$request)); + return (bool)$response->returnval; } - public function writeAt($arg_offset, $arg_data, $arg_timeoutMS) + public function getVMProcessPriority() { $request = new stdClass(); $request->_this = $this->handle; - $request->offset = $arg_offset; - $request->data = $arg_data; - $request->timeoutMS = $arg_timeoutMS; - $response = $this->connection->__soapCall('IFile_writeAt', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getVMProcessPriority', array((array)$request)); + return new VMProcPriority ($this->connection, $response->returnval); } - public function getEventSource() + public function setVMProcessPriority($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->VMProcessPriority = $value; + } + else + { + $request->VMProcessPriority = $value->handle; + } + $this->connection->__soapCall('IMachine_setVMProcessPriority', array((array)$request)); } - public function getId() + public function getVMExecutionEngine() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getVMExecutionEngine', array((array)$request)); + return new VMExecutionEngine ($this->connection, $response->returnval); } - public function getInitialSize() + public function setVMExecutionEngine($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getInitialSize', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->VMExecutionEngine = $value; + } + else + { + $request->VMExecutionEngine = $value->handle; + } + $this->connection->__soapCall('IMachine_setVMExecutionEngine', array((array)$request)); } - public function getOffset() + public function getParavirtDebug() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getOffset', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getParavirtDebug', array((array)$request)); + return (string)$response->returnval; } - public function getStatus() + public function setParavirtDebug($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getStatus', array((array)$request)); - return new FileStatus ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->paravirtDebug = $value; + } + else + { + $request->paravirtDebug = $value->handle; + } + $this->connection->__soapCall('IMachine_setParavirtDebug', array((array)$request)); } - public function getFileName() + public function getCPUProfile() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getFileName', array((array)$request)); + $response = $this->connection->__soapCall('IMachine_getCPUProfile', array((array)$request)); return (string)$response->returnval; } - public function getCreationMode() + public function setCPUProfile($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getCreationMode', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->CPUProfile = $value; + } + else + { + $request->CPUProfile = $value->handle; + } + $this->connection->__soapCall('IMachine_setCPUProfile', array((array)$request)); } - public function getOpenAction() + public function getStateKeyId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getOpenAction', array((array)$request)); - return new FileOpenAction ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getStateKeyId', array((array)$request)); + return (string)$response->returnval; } - public function getAccessMode() + public function getStateKeyStore() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFile_getAccessMode', array((array)$request)); - return new FileAccessMode ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMachine_getStateKeyStore', array((array)$request)); + return (string)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IFileCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IFile"; -} + public function getLogKeyId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachine_getLogKeyId', array((array)$request)); + return (string)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFile extends IFile -{ + public function getLogKeyStore() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachine_getLogKeyStore', array((array)$request)); + return (string)$response->returnval; + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function getGuestDebugControl() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFile_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMachine_getGuestDebugControl', array((array)$request)); + return new IGuestDebugControl ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestFileCollection extends VBox_ManagedObjectCollection +class IMachineCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestFile"; + protected $_interfaceName = "IMachine"; } /** * Generated VBoxWebService Interface Wrapper */ -class IFsObjInfo extends VBox_ManagedObject +class IEmulatedUSB extends VBox_ManagedObject { - public function getAccessTime() + public function webcamAttach($arg_path, $arg_settings) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getAccessTime', array((array)$request)); - return (float)$response->returnval; + $request->path = $arg_path; + $request->settings = $arg_settings; + $response = $this->connection->__soapCall('IEmulatedUSB_webcamAttach', array((array)$request)); + return ; } - public function getAllocatedSize() + public function webcamDetach($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getAllocatedSize', array((array)$request)); - return (float)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IEmulatedUSB_webcamDetach', array((array)$request)); + return ; } - public function getBirthTime() + public function getWebcams() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getBirthTime', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IEmulatedUSB_getWebcams', array((array)$request)); + return (array)$response->returnval; } +} - public function getChangeTime() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IEmulatedUSBCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IEmulatedUSB"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IConsole extends VBox_ManagedObject +{ + + public function powerUp() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getChangeTime', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_powerUp', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getDeviceNumber() + public function powerUpPaused() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getDeviceNumber', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_powerUpPaused', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getFileAttributes() + public function powerDown() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getFileAttributes', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IConsole_powerDown', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getGenerationId() + public function reset() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getGenerationId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_reset', array((array)$request)); + return ; } - public function getGID() + public function pause() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getGID', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_pause', array((array)$request)); + return ; } - public function getGroupName() + public function resume() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getGroupName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IConsole_resume', array((array)$request)); + return ; } - public function getHardLinks() + public function powerButton() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getHardLinks', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_powerButton', array((array)$request)); + return ; } - public function getModificationTime() + public function sleepButton() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getModificationTime', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_sleepButton', array((array)$request)); + return ; } - public function getName() + public function getPowerButtonHandled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getPowerButtonHandled', array((array)$request)); + return (bool)$response->returnval; } - public function getNodeId() + public function getGuestEnteredACPIMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getNodeId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getGuestEnteredACPIMode', array((array)$request)); + return (bool)$response->returnval; } - public function getNodeIdDevice() + public function getDeviceActivity($arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getNodeIdDevice', array((array)$request)); - return (float)$response->returnval; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IConsole_getDeviceActivity', array((array)$request)); + return new DeviceActivityCollection ($this->connection, (array)$response->returnval); } - public function getObjectSize() + public function attachUSBDevice($arg_id, $arg_captureFilename) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getObjectSize', array((array)$request)); - return (float)$response->returnval; + $request->id = $arg_id; + $request->captureFilename = $arg_captureFilename; + $response = $this->connection->__soapCall('IConsole_attachUSBDevice', array((array)$request)); + return ; } - public function getType() + public function detachUSBDevice($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getType', array((array)$request)); - return new FsObjType ($this->connection, $response->returnval); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IConsole_detachUSBDevice', array((array)$request)); + return new IUSBDevice ($this->connection, $response->returnval); } - public function getUID() + public function findUSBDeviceByAddress($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getUID', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IConsole_findUSBDeviceByAddress', array((array)$request)); + return new IUSBDevice ($this->connection, $response->returnval); } - public function getUserFlags() + public function findUSBDeviceById($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getUserFlags', array((array)$request)); - return (float)$response->returnval; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IConsole_findUSBDeviceById', array((array)$request)); + return new IUSBDevice ($this->connection, $response->returnval); } - public function getUserName() + public function createSharedFolder($arg_name, $arg_hostPath, $arg_writable, $arg_automount, $arg_autoMountPoint) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFsObjInfo_getUserName', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $request->hostPath = $arg_hostPath; + $request->writable = $arg_writable; + $request->automount = $arg_automount; + $request->autoMountPoint = $arg_autoMountPoint; + $response = $this->connection->__soapCall('IConsole_createSharedFolder', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IFsObjInfoCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IFsObjInfo"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFsObjInfo extends IFsObjInfo -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function removeSharedFolder($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFsObjInfo_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IConsole_removeSharedFolder', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFsObjInfoCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFsObjInfo"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuest extends VBox_ManagedObject -{ - public function internalGetStatistics() + public function teleport($arg_hostname, $arg_tcpport, $arg_password, $arg_maxDowntime) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_internalGetStatistics', array((array)$request)); - return array((float)$response->cpuUser, (float)$response->cpuKernel, (float)$response->cpuIdle, (float)$response->memTotal, (float)$response->memFree, (float)$response->memBalloon, (float)$response->memShared, (float)$response->memCache, (float)$response->pagedTotal, (float)$response->memAllocTotal, (float)$response->memFreeTotal, (float)$response->memBalloonTotal, (float)$response->memSharedTotal); + $request->hostname = $arg_hostname; + $request->tcpport = $arg_tcpport; + $request->password = $arg_password; + $request->maxDowntime = $arg_maxDowntime; + $response = $this->connection->__soapCall('IConsole_teleport', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getFacilityStatus($arg_facility) + public function addEncryptionPassword($arg_id, $arg_password, $arg_clearOnSuspend) { $request = new stdClass(); $request->_this = $this->handle; - $request->facility = $arg_facility; - $response = $this->connection->__soapCall('IGuest_getFacilityStatus', array((array)$request)); - return array(new AdditionsFacilityStatus ($this->connection, $response->returnval), (float)$response->timestamp); + $request->id = $arg_id; + $request->password = $arg_password; + $request->clearOnSuspend = $arg_clearOnSuspend; + $response = $this->connection->__soapCall('IConsole_addEncryptionPassword', array((array)$request)); + return ; } - public function getAdditionsStatus($arg_level) + public function addEncryptionPasswords($arg_ids, $arg_passwords, $arg_clearOnSuspend) { $request = new stdClass(); $request->_this = $this->handle; - $request->level = $arg_level; - $response = $this->connection->__soapCall('IGuest_getAdditionsStatus', array((array)$request)); - return (bool)$response->returnval; + $request->ids = $arg_ids; + $request->passwords = $arg_passwords; + $request->clearOnSuspend = $arg_clearOnSuspend; + $response = $this->connection->__soapCall('IConsole_addEncryptionPasswords', array((array)$request)); + return ; } - public function setCredentials($arg_userName, $arg_password, $arg_domain, $arg_allowInteractiveLogon) + public function removeEncryptionPassword($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $request->userName = $arg_userName; - $request->password = $arg_password; - $request->domain = $arg_domain; - $request->allowInteractiveLogon = (bool)$arg_allowInteractiveLogon; - $response = $this->connection->__soapCall('IGuest_setCredentials', array((array)$request)); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IConsole_removeEncryptionPassword', array((array)$request)); return ; } - public function createSession($arg_user, $arg_password, $arg_domain, $arg_sessionName) + public function clearAllEncryptionPasswords() { $request = new stdClass(); $request->_this = $this->handle; - $request->user = $arg_user; - $request->password = $arg_password; - $request->domain = $arg_domain; - $request->sessionName = $arg_sessionName; - $response = $this->connection->__soapCall('IGuest_createSession', array((array)$request)); - return new IGuestSession ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_clearAllEncryptionPasswords', array((array)$request)); + return ; } - public function findSession($arg_sessionName) + public function getMachine() { $request = new stdClass(); $request->_this = $this->handle; - $request->sessionName = $arg_sessionName; - $response = $this->connection->__soapCall('IGuest_findSession', array((array)$request)); - return new IGuestSessionCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IConsole_getMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } - public function updateGuestAdditions($arg_source, $arg_arguments, $arg_flags) + public function getState() { $request = new stdClass(); $request->_this = $this->handle; - $request->source = $arg_source; - $request->arguments = $arg_arguments; - $request->flags = $arg_flags; - $response = $this->connection->__soapCall('IGuest_updateGuestAdditions', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_getState', array((array)$request)); + return new MachineState ($this->connection, $response->returnval); } - public function getOSTypeId() + public function getGuest() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getOSTypeId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getGuest', array((array)$request)); + return new IGuest ($this->connection, $response->returnval); } - public function getAdditionsRunLevel() + public function getKeyboard() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getAdditionsRunLevel', array((array)$request)); - return new AdditionsRunLevelType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_getKeyboard', array((array)$request)); + return new IKeyboard ($this->connection, $response->returnval); } - public function getAdditionsVersion() + public function getMouse() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getAdditionsVersion', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getMouse', array((array)$request)); + return new IMouse ($this->connection, $response->returnval); } - public function getAdditionsRevision() + public function getDisplay() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getAdditionsRevision', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getDisplay', array((array)$request)); + return new IDisplay ($this->connection, $response->returnval); } - public function getDnDSource() + public function getDebugger() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getDnDSource', array((array)$request)); - return new IGuestDnDSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_getDebugger', array((array)$request)); + return new IMachineDebugger ($this->connection, $response->returnval); } - public function getDnDTarget() + public function getUSBDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getDnDTarget', array((array)$request)); - return new IGuestDnDTarget ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_getUSBDevices', array((array)$request)); + return new IUSBDeviceCollection ($this->connection, (array)$response->returnval); } - public function getEventSource() + public function getRemoteUSBDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IConsole_getRemoteUSBDevices', array((array)$request)); + return new IHostUSBDeviceCollection ($this->connection, (array)$response->returnval); } - public function getFacilities() + public function getSharedFolders() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getFacilities', array((array)$request)); - return new IAdditionsFacilityCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IConsole_getSharedFolders', array((array)$request)); + return new ISharedFolderCollection ($this->connection, (array)$response->returnval); } - public function getSessions() + public function getVRDEServerInfo() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getSessions', array((array)$request)); - return new IGuestSessionCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IConsole_getVRDEServerInfo', array((array)$request)); + return new IVRDEServerInfo ($this->connection, $response->returnval); } - public function getMemoryBalloonSize() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getMemoryBalloonSize', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function setMemoryBalloonSize($value) + public function getAttachedPCIDevices() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->memoryBalloonSize = $value; - } - else - { - $request->memoryBalloonSize = $value->handle; - } - $this->connection->__soapCall('IGuest_setMemoryBalloonSize', array((array)$request)); + $response = $this->connection->__soapCall('IConsole_getAttachedPCIDevices', array((array)$request)); + return new IPCIDeviceAttachmentCollection ($this->connection, (array)$response->returnval); } - public function getStatisticsUpdateInterval() + public function getUseHostClipboard() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuest_getStatisticsUpdateInterval', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IConsole_getUseHostClipboard', array((array)$request)); + return (bool)$response->returnval; } - public function setStatisticsUpdateInterval($value) + public function setUseHostClipboard($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->statisticsUpdateInterval = $value; + $request->useHostClipboard = $value; } else { - $request->statisticsUpdateInterval = $value->handle; + $request->useHostClipboard = $value->handle; } - $this->connection->__soapCall('IGuest_setStatisticsUpdateInterval', array((array)$request)); + $this->connection->__soapCall('IConsole_setUseHostClipboard', array((array)$request)); + } + + public function getEmulatedUSB() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IConsole_getEmulatedUSB', array((array)$request)); + return new IEmulatedUSB ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestCollection extends VBox_ManagedObjectCollection +class IConsoleCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuest"; + protected $_interfaceName = "IConsole"; } /** * Generated VBoxWebService Interface Wrapper */ -class IProgress extends VBox_ManagedObject +class IHostNetworkInterface extends VBox_ManagedObject { - public function setCurrentOperationProgress($arg_percent) + public function enableStaticIPConfig($arg_IPAddress, $arg_networkMask) { $request = new stdClass(); $request->_this = $this->handle; - $request->percent = $arg_percent; - $response = $this->connection->__soapCall('IProgress_setCurrentOperationProgress', array((array)$request)); + $request->IPAddress = $arg_IPAddress; + $request->networkMask = $arg_networkMask; + $response = $this->connection->__soapCall('IHostNetworkInterface_enableStaticIPConfig', array((array)$request)); return ; } - public function setNextOperation($arg_nextOperationDescription, $arg_nextOperationsWeight) + public function enableStaticIPConfigV6($arg_IPV6Address, $arg_IPV6NetworkMaskPrefixLength) { $request = new stdClass(); $request->_this = $this->handle; - $request->nextOperationDescription = $arg_nextOperationDescription; - $request->nextOperationsWeight = $arg_nextOperationsWeight; - $response = $this->connection->__soapCall('IProgress_setNextOperation', array((array)$request)); + $request->IPV6Address = $arg_IPV6Address; + $request->IPV6NetworkMaskPrefixLength = $arg_IPV6NetworkMaskPrefixLength; + $response = $this->connection->__soapCall('IHostNetworkInterface_enableStaticIPConfigV6', array((array)$request)); return ; } - public function waitForCompletion($arg_timeout) + public function enableDynamicIPConfig() { $request = new stdClass(); $request->_this = $this->handle; - $request->timeout = $arg_timeout; - $response = $this->connection->__soapCall('IProgress_waitForCompletion', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_enableDynamicIPConfig', array((array)$request)); return ; } - public function waitForOperationCompletion($arg_operation, $arg_timeout) + public function DHCPRediscover() { $request = new stdClass(); $request->_this = $this->handle; - $request->operation = $arg_operation; - $request->timeout = $arg_timeout; - $response = $this->connection->__soapCall('IProgress_waitForOperationCompletion', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_DHCPRediscover', array((array)$request)); return ; } - public function waitForAsyncProgressCompletion($arg_pProgressAsync) + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $request->pProgressAsync = $arg_pProgressAsync; - $response = $this->connection->__soapCall('IProgress_waitForAsyncProgressCompletion', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHostNetworkInterface_getName', array((array)$request)); + return (string)$response->returnval; } - public function cancel() + public function getShortName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_cancel', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHostNetworkInterface_getShortName', array((array)$request)); + return (string)$response->returnval; } public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getId', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_getId', array((array)$request)); return (string)$response->returnval; } - public function getDescription() + public function getNetworkName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getDescription', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_getNetworkName', array((array)$request)); return (string)$response->returnval; } - public function getInitiator() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getInitiator', array((array)$request)); - return new VBox_ManagedObject ($this->connection, $response->returnval); - } - - public function getCancelable() + public function getDHCPEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getCancelable', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_getDHCPEnabled', array((array)$request)); return (bool)$response->returnval; } - public function getPercent() + public function getIPAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getPercent', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getIPAddress', array((array)$request)); + return (string)$response->returnval; } - public function getTimeRemaining() + public function getNetworkMask() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getTimeRemaining', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getNetworkMask', array((array)$request)); + return (string)$response->returnval; } - public function getCompleted() + public function getIPV6Supported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getCompleted', array((array)$request)); + $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6Supported', array((array)$request)); return (bool)$response->returnval; } - public function getCanceled() + public function getIPV6Address() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getCanceled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6Address', array((array)$request)); + return (string)$response->returnval; } - public function getResultCode() + public function getIPV6NetworkMaskPrefixLength() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getResultCode', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getIPV6NetworkMaskPrefixLength', array((array)$request)); + return (float)$response->returnval; } - public function getErrorInfo() + public function getHardwareAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getErrorInfo', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostNetworkInterface_getHardwareAddress', array((array)$request)); + return (string)$response->returnval; } - public function getOperationCount() + public function getMediumType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getOperationCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getMediumType', array((array)$request)); + return new HostNetworkInterfaceMediumType ($this->connection, $response->returnval); } - public function getOperation() + public function getStatus() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getOperation', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getStatus', array((array)$request)); + return new HostNetworkInterfaceStatus ($this->connection, $response->returnval); } - public function getOperationDescription() + public function getInterfaceType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getOperationDescription', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getInterfaceType', array((array)$request)); + return new HostNetworkInterfaceType ($this->connection, $response->returnval); } - public function getOperationPercent() + public function getWireless() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getOperationPercent', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostNetworkInterface_getWireless', array((array)$request)); + return (bool)$response->returnval; } +} - public function getOperationWeight() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostNetworkInterfaceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostNetworkInterface"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostVideoInputDevice extends VBox_ManagedObject +{ + + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getOperationWeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostVideoInputDevice_getName', array((array)$request)); + return (string)$response->returnval; } - public function getTimeout() + public function getPath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IProgress_getTimeout', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHostVideoInputDevice_getPath', array((array)$request)); + return (string)$response->returnval; } - public function setTimeout($value) + public function getAlias() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->timeout = $value; - } - else - { - $request->timeout = $value->handle; - } - $this->connection->__soapCall('IProgress_setTimeout', array((array)$request)); + $response = $this->connection->__soapCall('IHostVideoInputDevice_getAlias', array((array)$request)); + return (string)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IProgressCollection extends VBox_ManagedObjectCollection +class IHostVideoInputDeviceCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IProgress"; + protected $_interfaceName = "IHostVideoInputDevice"; } /** * Generated VBoxWebService Interface Wrapper */ -class ISnapshot extends VBox_ManagedObject +class IUpdateAgent extends VBox_ManagedObject { - public function getChildrenCount() + public function checkFor() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getChildrenCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IUpdateAgent_checkFor', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getId() + public function download() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IUpdateAgent_download', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getName() + public function install() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IUpdateAgent_install', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setName($value) + public function rollback() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('ISnapshot_setName', array((array)$request)); + $response = $this->connection->__soapCall('IUpdateAgent_rollback', array((array)$request)); + return ; } - public function getDescription() + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getDescription', array((array)$request)); + $response = $this->connection->__soapCall('IUpdateAgent_getName', array((array)$request)); return (string)$response->returnval; } - public function setDescription($value) + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->description = $value; - } - else - { - $request->description = $value->handle; - } - $this->connection->__soapCall('ISnapshot_setDescription', array((array)$request)); + $response = $this->connection->__soapCall('IUpdateAgent_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function getTimeStamp() + public function getOrder() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getTimeStamp', array((array)$request)); + $response = $this->connection->__soapCall('IUpdateAgent_getOrder', array((array)$request)); return (float)$response->returnval; } - public function getOnline() + public function getDependsOn() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getOnline', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IUpdateAgent_getDependsOn', array((array)$request)); + return (array)$response->returnval; } - public function getMachine() + public function getVersion() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getVersion', array((array)$request)); + return (string)$response->returnval; } - public function getParent() + public function getDownloadUrl() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getParent', array((array)$request)); - return new ISnapshot ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getDownloadUrl', array((array)$request)); + return (string)$response->returnval; } - public function getChildren() + public function getWebUrl() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshot_getChildren', array((array)$request)); - return new ISnapshotCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getWebUrl', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshot"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMedium extends VBox_ManagedObject -{ - public function setIds($arg_setImageId, $arg_imageId, $arg_setParentId, $arg_parentId) + public function getReleaseNotes() { $request = new stdClass(); $request->_this = $this->handle; - $request->setImageId = (bool)$arg_setImageId; - $request->imageId = $arg_imageId; - $request->setParentId = (bool)$arg_setParentId; - $request->parentId = $arg_parentId; - $response = $this->connection->__soapCall('IMedium_setIds', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IUpdateAgent_getReleaseNotes', array((array)$request)); + return (string)$response->returnval; } - public function refreshState() + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_refreshState', array((array)$request)); - return new MediumState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getSnapshotIds($arg_machineId) + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->machineId = $arg_machineId; - $response = $this->connection->__soapCall('IMedium_getSnapshotIds', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IUpdateAgent_setEnabled', array((array)$request)); } - public function lockRead() + public function getHidden() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_lockRead', array((array)$request)); - return new IToken ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getHidden', array((array)$request)); + return (bool)$response->returnval; } - public function lockWrite() + public function getState() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_lockWrite', array((array)$request)); - return new IToken ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getState', array((array)$request)); + return new UpdateState ($this->connection, $response->returnval); } - public function close() + public function getCheckFrequency() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_close', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IUpdateAgent_getCheckFrequency', array((array)$request)); + return (float)$response->returnval; } - public function getProperty($arg_name) + public function setCheckFrequency($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMedium_getProperty', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->checkFrequency = $value; + } + else + { + $request->checkFrequency = $value->handle; + } + $this->connection->__soapCall('IUpdateAgent_setCheckFrequency', array((array)$request)); } - public function setProperty($arg_name, $arg_value) + public function getChannel() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IMedium_setProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IUpdateAgent_getChannel', array((array)$request)); + return new UpdateChannel ($this->connection, $response->returnval); } - public function getProperties($arg_names) + public function setChannel($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->names = $arg_names; - $response = $this->connection->__soapCall('IMedium_getProperties', array((array)$request)); - return array((array)$response->returnval, (array)$response->returnNames); + if (is_null($value) || is_scalar($value)) + { + $request->channel = $value; + } + else + { + $request->channel = $value->handle; + } + $this->connection->__soapCall('IUpdateAgent_setChannel', array((array)$request)); } - public function setProperties($arg_names, $arg_values) + public function getRepositoryURL() { $request = new stdClass(); $request->_this = $this->handle; - $request->names = $arg_names; - $request->values = $arg_values; - $response = $this->connection->__soapCall('IMedium_setProperties', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IUpdateAgent_getRepositoryURL', array((array)$request)); + return (string)$response->returnval; } - public function createBaseStorage($arg_logicalSize, $arg_variant) + public function setRepositoryURL($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->logicalSize = $arg_logicalSize; - $request->variant = $arg_variant; - $response = $this->connection->__soapCall('IMedium_createBaseStorage', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->repositoryURL = $value; + } + else + { + $request->repositoryURL = $value->handle; + } + $this->connection->__soapCall('IUpdateAgent_setRepositoryURL', array((array)$request)); } - public function deleteStorage() + public function getLastCheckDate() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_deleteStorage', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getLastCheckDate', array((array)$request)); + return (string)$response->returnval; } - public function createDiffStorage($arg_target, $arg_variant) + public function getCheckCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->target = $arg_target; - $request->variant = $arg_variant; - $response = $this->connection->__soapCall('IMedium_createDiffStorage', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getCheckCount', array((array)$request)); + return (float)$response->returnval; } - public function mergeTo($arg_target) + public function getIsCheckNeeded() { $request = new stdClass(); $request->_this = $this->handle; - $request->target = $arg_target; - $response = $this->connection->__soapCall('IMedium_mergeTo', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getIsCheckNeeded', array((array)$request)); + return (bool)$response->returnval; } - public function cloneTo($arg_target, $arg_variant, $arg_parent) + public function getSupportedChannels() { $request = new stdClass(); $request->_this = $this->handle; - $request->target = $arg_target; - $request->variant = $arg_variant; - $request->parent = $arg_parent; - $response = $this->connection->__soapCall('IMedium_cloneTo', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IUpdateAgent_getSupportedChannels', array((array)$request)); + return new UpdateChannelCollection ($this->connection, (array)$response->returnval); } +} - public function cloneToBase($arg_target, $arg_variant) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostUpdateAgent extends IUpdateAgent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $request->target = $arg_target; - $request->variant = $arg_variant; - $response = $this->connection->__soapCall('IMedium_cloneToBase', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostUpdateAgent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostUpdateAgentCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostUpdateAgent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostDrive extends VBox_ManagedObject +{ - public function setLocation($arg_location) + public function getDrivePath() { $request = new stdClass(); $request->_this = $this->handle; - $request->location = $arg_location; - $response = $this->connection->__soapCall('IMedium_setLocation', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostDrive_getDrivePath', array((array)$request)); + return (string)$response->returnval; } - public function compact() + public function getPartitioningType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_compact', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostDrive_getPartitioningType', array((array)$request)); + return new PartitioningType ($this->connection, $response->returnval); } - public function resize($arg_logicalSize) + public function getUuid() { $request = new stdClass(); $request->_this = $this->handle; - $request->logicalSize = $arg_logicalSize; - $response = $this->connection->__soapCall('IMedium_resize', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostDrive_getUuid', array((array)$request)); + return (string)$response->returnval; } - public function reset() + public function getSectorSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_reset', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostDrive_getSectorSize', array((array)$request)); + return (float)$response->returnval; } - public function changeEncryption($arg_currentPassword, $arg_cipher, $arg_newPassword, $arg_newPasswordId) + public function getSize() { - // No password ID in case of decryption and de-/encryption are both handled here. - $isDecryption = ($arg_cipher == '') && ($arg_newPassword == ''); - $arg_newPasswordId = $isDecryption ? '' : $arg_newPasswordId; - $request = new stdClass(); $request->_this = $this->handle; - $request->currentPassword = $arg_currentPassword; - $request->cipher = $arg_cipher; - $request->newPassword = $arg_newPassword; - $request->newPasswordId = $arg_newPasswordId; - $response = $this->connection->__soapCall('IMedium_changeEncryption', array((array)$request)); - return new IProgress ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IHostDrive_getSize', array((array)$request)); + return (float)$response->returnval; } - public function getEncryptionSettings() + public function getModel() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getEncryptionSettings', array((array)$request)); - return array((string)$response->returnval, (string)$response->cipher); + $response = $this->connection->__soapCall('IHostDrive_getModel', array((array)$request)); + return (string)$response->returnval; } - public function checkEncryptionPassword($arg_password) + public function getPartitions() { $request = new stdClass(); $request->_this = $this->handle; - $request->password = $arg_password; - $response = $this->connection->__soapCall('IMedium_checkEncryptionPassword', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHostDrive_getPartitions', array((array)$request)); + return new IHostDrivePartitionCollection ($this->connection, (array)$response->returnval); } +} - public function getId() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostDriveCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostDrive"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostX86 extends VBox_ManagedObject +{ + + public function getProcessorCPUIDLeaf($arg_cpuId, $arg_leaf, $arg_subLeaf) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getId', array((array)$request)); - return (string)$response->returnval; + $request->cpuId = $arg_cpuId; + $request->leaf = $arg_leaf; + $request->subLeaf = $arg_subLeaf; + $response = $this->connection->__soapCall('IHostX86_getProcessorCPUIDLeaf', array((array)$request)); + return array((float)$response->valEax, (float)$response->valEbx, (float)$response->valEcx, (float)$response->valEdx); } +} - public function getDescription() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostX86Collection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostX86"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHost extends VBox_ManagedObject +{ + + public function getProcessorSpeed($arg_cpuId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getDescription', array((array)$request)); - return (string)$response->returnval; + $request->cpuId = $arg_cpuId; + $response = $this->connection->__soapCall('IHost_getProcessorSpeed', array((array)$request)); + return (float)$response->returnval; } - public function setDescription($value) + public function getProcessorFeature($arg_feature) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->description = $value; - } - else - { - $request->description = $value->handle; - } - $this->connection->__soapCall('IMedium_setDescription', array((array)$request)); + $request->feature = $arg_feature; + $response = $this->connection->__soapCall('IHost_getProcessorFeature', array((array)$request)); + return (bool)$response->returnval; } - public function getState() + public function getProcessorDescription($arg_cpuId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getState', array((array)$request)); - return new MediumState ($this->connection, $response->returnval); + $request->cpuId = $arg_cpuId; + $response = $this->connection->__soapCall('IHost_getProcessorDescription', array((array)$request)); + return (string)$response->returnval; } - public function getVariant() + public function createHostOnlyNetworkInterface() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getVariant', array((array)$request)); - return new MediumVariantCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IHost_createHostOnlyNetworkInterface', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IHostNetworkInterface ($this->connection, $response->hostInterface)); } - public function getLocation() + public function removeHostOnlyNetworkInterface($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getLocation', array((array)$request)); - return (string)$response->returnval; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IHost_removeHostOnlyNetworkInterface', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getName() + public function createUSBDeviceFilter($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getName', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IHost_createUSBDeviceFilter', array((array)$request)); + return new IHostUSBDeviceFilter ($this->connection, $response->returnval); } - public function getDeviceType() + public function insertUSBDeviceFilter($arg_position, $arg_filter) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getDeviceType', array((array)$request)); - return new DeviceType ($this->connection, $response->returnval); + $request->position = $arg_position; + $request->filter = $arg_filter; + $response = $this->connection->__soapCall('IHost_insertUSBDeviceFilter', array((array)$request)); + return ; } - public function getHostDrive() + public function removeUSBDeviceFilter($arg_position) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getHostDrive', array((array)$request)); - return (bool)$response->returnval; + $request->position = $arg_position; + $response = $this->connection->__soapCall('IHost_removeUSBDeviceFilter', array((array)$request)); + return ; } - public function getSize() + public function findHostDVDDrive($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getSize', array((array)$request)); - return (float)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IHost_findHostDVDDrive', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getFormat() + public function findHostFloppyDrive($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getFormat', array((array)$request)); - return (string)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IHost_findHostFloppyDrive', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getMediumFormat() + public function findHostNetworkInterfaceByName($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getMediumFormat', array((array)$request)); - return new IMediumFormat ($this->connection, $response->returnval); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IHost_findHostNetworkInterfaceByName', array((array)$request)); + return new IHostNetworkInterface ($this->connection, $response->returnval); } - public function getType() + public function findHostNetworkInterfaceById($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getType', array((array)$request)); - return new MediumType ($this->connection, $response->returnval); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IHost_findHostNetworkInterfaceById', array((array)$request)); + return new IHostNetworkInterface ($this->connection, $response->returnval); } - public function setType($value) + public function findHostNetworkInterfacesOfType($arg_type) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->type = $value; - } - else - { - $request->type = $value->handle; - } - $this->connection->__soapCall('IMedium_setType', array((array)$request)); + $request->type = $arg_type; + $response = $this->connection->__soapCall('IHost_findHostNetworkInterfacesOfType', array((array)$request)); + return new IHostNetworkInterfaceCollection ($this->connection, (array)$response->returnval); } - public function getAllowedTypes() + public function findUSBDeviceById($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getAllowedTypes', array((array)$request)); - return new MediumTypeCollection ($this->connection, (array)$response->returnval); + $request->id = $arg_id; + $response = $this->connection->__soapCall('IHost_findUSBDeviceById', array((array)$request)); + return new IHostUSBDevice ($this->connection, $response->returnval); } - public function getParent() + public function findUSBDeviceByAddress($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getParent', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IHost_findUSBDeviceByAddress', array((array)$request)); + return new IHostUSBDevice ($this->connection, $response->returnval); } - public function getChildren() + public function generateMACAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getChildren', array((array)$request)); - return new IMediumCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IHost_generateMACAddress', array((array)$request)); + return (string)$response->returnval; } - public function getBase() + public function addUSBDeviceSource($arg_backend, $arg_id, $arg_address, $arg_propertyNames, $arg_propertyValues) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getBase', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $request->backend = $arg_backend; + $request->id = $arg_id; + $request->address = $arg_address; + $request->propertyNames = $arg_propertyNames; + $request->propertyValues = $arg_propertyValues; + $response = $this->connection->__soapCall('IHost_addUSBDeviceSource', array((array)$request)); + return ; } - public function getReadOnly() + public function removeUSBDeviceSource($arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getReadOnly', array((array)$request)); - return (bool)$response->returnval; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IHost_removeUSBDeviceSource', array((array)$request)); + return ; } - public function getLogicalSize() + public function isExecutionEngineSupported($arg_cpuArchitecture, $arg_executionEngine) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getLogicalSize', array((array)$request)); - return (float)$response->returnval; + $request->cpuArchitecture = $arg_cpuArchitecture; + $request->executionEngine = $arg_executionEngine; + $response = $this->connection->__soapCall('IHost_isExecutionEngineSupported', array((array)$request)); + return (bool)$response->returnval; } - public function getAutoReset() + public function getArchitecture() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getAutoReset', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IHost_getArchitecture', array((array)$request)); + return new PlatformArchitecture ($this->connection, $response->returnval); } - public function setAutoReset($value) + public function getX86() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->autoReset = (bool)$value; - } - else - { - $request->autoReset = (bool)$value->handle; - } - $this->connection->__soapCall('IMedium_setAutoReset', array((array)$request)); + $response = $this->connection->__soapCall('IHost_getX86', array((array)$request)); + return new IHostX86 ($this->connection, $response->returnval); } - public function getLastAccessError() + public function getDVDDrives() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getLastAccessError', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IHost_getDVDDrives', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function getMachineIds() + public function getFloppyDrives() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMedium_getMachineIds', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IHost_getFloppyDrives', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMediumCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMedium"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMediumFormat extends VBox_ManagedObject -{ - public function describeFileExtensions() + public function getAudioDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumFormat_describeFileExtensions', array((array)$request)); - return array((array)$response->extensions, new DeviceTypeCollection ($this->connection, (array)$response->types)); + $response = $this->connection->__soapCall('IHost_getAudioDevices', array((array)$request)); + return new IHostAudioDeviceCollection ($this->connection, (array)$response->returnval); } - public function describeProperties() + public function getUSBDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumFormat_describeProperties', array((array)$request)); - return array((array)$response->names, (array)$response->descriptions, new DataTypeCollection ($this->connection, (array)$response->types), (array)$response->flags, (array)$response->defaults); + $response = $this->connection->__soapCall('IHost_getUSBDevices', array((array)$request)); + return new IHostUSBDeviceCollection ($this->connection, (array)$response->returnval); } - public function getId() + public function getUSBDeviceFilters() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumFormat_getId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IHost_getUSBDeviceFilters', array((array)$request)); + return new IHostUSBDeviceFilterCollection ($this->connection, (array)$response->returnval); } - public function getName() + public function getNetworkInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumFormat_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IHost_getNetworkInterfaces', array((array)$request)); + return new IHostNetworkInterfaceCollection ($this->connection, (array)$response->returnval); } - public function getCapabilities() + public function getNameServers() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumFormat_getCapabilities', array((array)$request)); - return new MediumFormatCapabilitiesCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IHost_getNameServers', array((array)$request)); + return (array)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMediumFormatCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMediumFormat"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IToken extends VBox_ManagedObject -{ - public function abandon() + public function getDomainName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IToken_abandon', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHost_getDomainName', array((array)$request)); + return (string)$response->returnval; } - public function dummy() + public function getSearchStrings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IToken_dummy', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHost_getSearchStrings', array((array)$request)); + return (array)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ITokenCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IToken"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IKeyboard extends VBox_ManagedObject -{ - public function putScancode($arg_scancode) + public function getProcessorCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->scancode = $arg_scancode; - $response = $this->connection->__soapCall('IKeyboard_putScancode', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHost_getProcessorCount', array((array)$request)); + return (float)$response->returnval; } - public function putScancodes($arg_scancodes) + public function getProcessorOnlineCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->scancodes = $arg_scancodes; - $response = $this->connection->__soapCall('IKeyboard_putScancodes', array((array)$request)); + $response = $this->connection->__soapCall('IHost_getProcessorOnlineCount', array((array)$request)); return (float)$response->returnval; } - public function putCAD() + public function getProcessorCoreCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboard_putCAD', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHost_getProcessorCoreCount', array((array)$request)); + return (float)$response->returnval; } - public function releaseKeys() + public function getProcessorOnlineCoreCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboard_releaseKeys', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IHost_getProcessorOnlineCoreCount', array((array)$request)); + return (float)$response->returnval; } - public function getKeyboardLEDs() + public function getHostDrives() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboard_getKeyboardLEDs', array((array)$request)); - return new KeyboardLEDCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IHost_getHostDrives', array((array)$request)); + return new IHostDriveCollection ($this->connection, (array)$response->returnval); } - public function getEventSource() + public function getMemorySize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboard_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); - } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IKeyboardCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IKeyboard"; -} + $response = $this->connection->__soapCall('IHost_getMemorySize', array((array)$request)); + return (float)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMousePointerShape extends VBox_ManagedObject -{ + public function getMemoryAvailable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHost_getMemoryAvailable', array((array)$request)); + return (float)$response->returnval; + } - public function getVisible() + public function getOperatingSystem() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getVisible', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IHost_getOperatingSystem', array((array)$request)); + return (string)$response->returnval; } - public function getAlpha() + public function getOSVersion() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getAlpha', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IHost_getOSVersion', array((array)$request)); + return (string)$response->returnval; } - public function getHotX() + public function getUTCTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getHotX', array((array)$request)); + $response = $this->connection->__soapCall('IHost_getUTCTime', array((array)$request)); return (float)$response->returnval; } - public function getHotY() + public function getVideoInputDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getHotY', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHost_getVideoInputDevices', array((array)$request)); + return new IHostVideoInputDeviceCollection ($this->connection, (array)$response->returnval); } - public function getWidth() + public function getUpdateHost() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getWidth', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHost_getUpdateHost', array((array)$request)); + return new IUpdateAgent ($this->connection, $response->returnval); } - public function getHeight() + public function getUpdateExtPack() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getHeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IHost_getUpdateExtPack', array((array)$request)); + return new IUpdateAgent ($this->connection, $response->returnval); } - public function getShape() + public function getUpdateGuestAdditions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShape_getShape', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IHost_getUpdateGuestAdditions', array((array)$request)); + return new IUpdateAgent ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IMousePointerShapeCollection extends VBox_ManagedObjectCollection +class IHostCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IMousePointerShape"; + protected $_interfaceName = "IHost"; } /** * Generated VBoxWebService Interface Wrapper */ -class IMouse extends VBox_ManagedObject +class ICPUProfile extends VBox_ManagedObject { - public function putMouseEvent($arg_dx, $arg_dy, $arg_dz, $arg_dw, $arg_buttonState) + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $request->dx = $arg_dx; - $request->dy = $arg_dy; - $request->dz = $arg_dz; - $request->dw = $arg_dw; - $request->buttonState = $arg_buttonState; - $response = $this->connection->__soapCall('IMouse_putMouseEvent', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICPUProfile_getName', array((array)$request)); + return (string)$response->returnval; } - public function putMouseEventAbsolute($arg_x, $arg_y, $arg_dz, $arg_dw, $arg_buttonState) + public function getFullName() { $request = new stdClass(); $request->_this = $this->handle; - $request->x = $arg_x; - $request->y = $arg_y; - $request->dz = $arg_dz; - $request->dw = $arg_dw; - $request->buttonState = $arg_buttonState; - $response = $this->connection->__soapCall('IMouse_putMouseEventAbsolute', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICPUProfile_getFullName', array((array)$request)); + return (string)$response->returnval; } - public function putEventMultiTouch($arg_count, $arg_contacts, $arg_scanTime) + public function getArchitecture() { $request = new stdClass(); $request->_this = $this->handle; - $request->count = $arg_count; - $request->contacts = $arg_contacts; - $request->scanTime = $arg_scanTime; - $response = $this->connection->__soapCall('IMouse_putEventMultiTouch', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ICPUProfile_getArchitecture', array((array)$request)); + return new CPUArchitecture ($this->connection, $response->returnval); } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICPUProfileCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICPUProfile"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPlatformProperties extends VBox_ManagedObject +{ - public function putEventMultiTouchString($arg_count, $arg_contacts, $arg_scanTime) + public function getMaxNetworkAdapters($arg_chipset) { $request = new stdClass(); $request->_this = $this->handle; - $request->count = $arg_count; - $request->contacts = $arg_contacts; - $request->scanTime = $arg_scanTime; - $response = $this->connection->__soapCall('IMouse_putEventMultiTouchString', array((array)$request)); - return ; + $request->chipset = $arg_chipset; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxNetworkAdapters', array((array)$request)); + return (float)$response->returnval; } - public function getAbsoluteSupported() + public function getMaxNetworkAdaptersOfType($arg_chipset, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getAbsoluteSupported', array((array)$request)); - return (bool)$response->returnval; + $request->chipset = $arg_chipset; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxNetworkAdaptersOfType', array((array)$request)); + return (float)$response->returnval; } - public function getRelativeSupported() + public function getMaxDevicesPerPortForStorageBus($arg_bus) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getRelativeSupported', array((array)$request)); - return (bool)$response->returnval; + $request->bus = $arg_bus; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxDevicesPerPortForStorageBus', array((array)$request)); + return (float)$response->returnval; } - public function getMultiTouchSupported() + public function getMinPortCountForStorageBus($arg_bus) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getMultiTouchSupported', array((array)$request)); - return (bool)$response->returnval; + $request->bus = $arg_bus; + $response = $this->connection->__soapCall('IPlatformProperties_getMinPortCountForStorageBus', array((array)$request)); + return (float)$response->returnval; } - public function getNeedsHostCursor() + public function getMaxPortCountForStorageBus($arg_bus) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getNeedsHostCursor', array((array)$request)); - return (bool)$response->returnval; + $request->bus = $arg_bus; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxPortCountForStorageBus', array((array)$request)); + return (float)$response->returnval; } - public function getPointerShape() + public function getMaxInstancesOfStorageBus($arg_chipset, $arg_bus) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getPointerShape', array((array)$request)); - return new IMousePointerShape ($this->connection, $response->returnval); + $request->chipset = $arg_chipset; + $request->bus = $arg_bus; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxInstancesOfStorageBus', array((array)$request)); + return (float)$response->returnval; } - public function getEventSource() + public function getSupportedVRAMRange($arg_graphicsControllerType, $arg_accelerate3DEnabled) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouse_getEventSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $request->graphicsControllerType = $arg_graphicsControllerType; + $request->accelerate3DEnabled = $arg_accelerate3DEnabled; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedVRAMRange', array((array)$request)); + return array((float)$response->returnval, (float)$response->minMB, (float)$response->maxMB); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMouseCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMouse"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IFramebuffer extends VBox_ManagedObject -{ + public function getSupportedGfxFeaturesForType($arg_graphicsControllerType) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->graphicsControllerType = $arg_graphicsControllerType; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedGfxFeaturesForType', array((array)$request)); + return new GraphicsFeatureCollection ($this->connection, (array)$response->returnval); + } - public function notifyUpdate($arg_x, $arg_y, $arg_width, $arg_height) + public function getDeviceTypesForStorageBus($arg_bus) { $request = new stdClass(); $request->_this = $this->handle; - $request->x = $arg_x; - $request->y = $arg_y; - $request->width = $arg_width; - $request->height = $arg_height; - $response = $this->connection->__soapCall('IFramebuffer_notifyUpdate', array((array)$request)); - return ; + $request->bus = $arg_bus; + $response = $this->connection->__soapCall('IPlatformProperties_getDeviceTypesForStorageBus', array((array)$request)); + return new DeviceTypeCollection ($this->connection, (array)$response->returnval); } - public function notifyUpdateImage($arg_x, $arg_y, $arg_width, $arg_height, $arg_image) + public function getStorageBusForControllerType($arg_storageControllerType) { $request = new stdClass(); $request->_this = $this->handle; - $request->x = $arg_x; - $request->y = $arg_y; - $request->width = $arg_width; - $request->height = $arg_height; - $request->image = $arg_image; - $response = $this->connection->__soapCall('IFramebuffer_notifyUpdateImage', array((array)$request)); - return ; + $request->storageControllerType = $arg_storageControllerType; + $response = $this->connection->__soapCall('IPlatformProperties_getStorageBusForControllerType', array((array)$request)); + return new StorageBus ($this->connection, $response->returnval); } - public function notifyChange($arg_screenId, $arg_xOrigin, $arg_yOrigin, $arg_width, $arg_height) + public function getStorageControllerTypesForBus($arg_storageBus) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->xOrigin = $arg_xOrigin; - $request->yOrigin = $arg_yOrigin; - $request->width = $arg_width; - $request->height = $arg_height; - $response = $this->connection->__soapCall('IFramebuffer_notifyChange', array((array)$request)); - return ; + $request->storageBus = $arg_storageBus; + $response = $this->connection->__soapCall('IPlatformProperties_getStorageControllerTypesForBus', array((array)$request)); + return new StorageControllerTypeCollection ($this->connection, (array)$response->returnval); } - public function videoModeSupported($arg_width, $arg_height, $arg_bpp) + public function getStorageControllerHotplugCapable($arg_controllerType) { $request = new stdClass(); $request->_this = $this->handle; - $request->width = $arg_width; - $request->height = $arg_height; - $request->bpp = $arg_bpp; - $response = $this->connection->__soapCall('IFramebuffer_videoModeSupported', array((array)$request)); + $request->controllerType = $arg_controllerType; + $response = $this->connection->__soapCall('IPlatformProperties_getStorageControllerHotplugCapable', array((array)$request)); return (bool)$response->returnval; } - public function notify3DEvent($arg_type, $arg_data) + public function getMaxInstancesOfUSBControllerType($arg_chipset, $arg_type) { $request = new stdClass(); $request->_this = $this->handle; + $request->chipset = $arg_chipset; $request->type = $arg_type; - $request->data = $arg_data; - $response = $this->connection->__soapCall('IFramebuffer_notify3DEvent', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IPlatformProperties_getMaxInstancesOfUSBControllerType', array((array)$request)); + return (float)$response->returnval; } - public function getWidth() + public function getRawModeSupported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getWidth', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getRawModeSupported', array((array)$request)); + return (bool)$response->returnval; } - public function getHeight() + public function getExclusiveHwVirt() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getHeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getExclusiveHwVirt', array((array)$request)); + return (bool)$response->returnval; } - public function getBitsPerPixel() + public function setExclusiveHwVirt($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getBitsPerPixel', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->exclusiveHwVirt = $value; + } + else + { + $request->exclusiveHwVirt = $value->handle; + } + $this->connection->__soapCall('IPlatformProperties_setExclusiveHwVirt', array((array)$request)); } - public function getBytesPerLine() + public function getSerialPortCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getBytesPerLine', array((array)$request)); + $response = $this->connection->__soapCall('IPlatformProperties_getSerialPortCount', array((array)$request)); return (float)$response->returnval; } - public function getPixelFormat() + public function getParallelPortCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getPixelFormat', array((array)$request)); - return new BitmapFormat ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPlatformProperties_getParallelPortCount', array((array)$request)); + return (float)$response->returnval; } - public function getHeightReduction() + public function getMaxBootPosition() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getHeightReduction', array((array)$request)); + $response = $this->connection->__soapCall('IPlatformProperties_getMaxBootPosition', array((array)$request)); return (float)$response->returnval; } - public function getOverlay() + public function getSupportedParavirtProviders() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getOverlay', array((array)$request)); - return new IFramebufferOverlay ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedParavirtProviders', array((array)$request)); + return new ParavirtProviderCollection ($this->connection, (array)$response->returnval); } - public function getWinId() + public function getSupportedFirmwareTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getWinId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedFirmwareTypes', array((array)$request)); + return new FirmwareTypeCollection ($this->connection, (array)$response->returnval); } - public function getCapabilities() + public function getSupportedGuestOSTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebuffer_getCapabilities', array((array)$request)); - return new FramebufferCapabilitiesCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedGuestOSTypes', array((array)$request)); + return new IGuestOSTypeCollection ($this->connection, (array)$response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IFramebufferCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IFramebuffer"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IFramebufferOverlay extends IFramebuffer -{ + public function getSupportedGfxControllerTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedGfxControllerTypes', array((array)$request)); + return new GraphicsControllerTypeCollection ($this->connection, (array)$response->returnval); + } - public function move($arg_x, $arg_y) + public function getSupportedNetAdpPromiscModePols() { $request = new stdClass(); $request->_this = $this->handle; - $request->x = $arg_x; - $request->y = $arg_y; - $response = $this->connection->__soapCall('IFramebufferOverlay_move', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedNetAdpPromiscModePols', array((array)$request)); + return new NetworkAdapterPromiscModePolicyCollection ($this->connection, (array)$response->returnval); } - public function getX() + public function getSupportedNetworkAdapterTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebufferOverlay_getX', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedNetworkAdapterTypes', array((array)$request)); + return new NetworkAdapterTypeCollection ($this->connection, (array)$response->returnval); } - public function getY() + public function getSupportedUartTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebufferOverlay_getY', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedUartTypes', array((array)$request)); + return new UartTypeCollection ($this->connection, (array)$response->returnval); } - public function getVisible() + public function getSupportedUSBControllerTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebufferOverlay_getVisible', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedUSBControllerTypes', array((array)$request)); + return new USBControllerTypeCollection ($this->connection, (array)$response->returnval); } - public function setVisible($value) + public function getSupportedAudioControllerTypes() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->visible = (bool)$value; - } - else - { - $request->visible = (bool)$value->handle; - } - $this->connection->__soapCall('IFramebufferOverlay_setVisible', array((array)$request)); + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedAudioControllerTypes', array((array)$request)); + return new AudioControllerTypeCollection ($this->connection, (array)$response->returnval); } - public function getAlpha() + public function getSupportedBootDevices() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IFramebufferOverlay_getAlpha', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedBootDevices', array((array)$request)); + return new DeviceTypeCollection ($this->connection, (array)$response->returnval); } - public function setAlpha($value) + public function getSupportedStorageBuses() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->alpha = $value; - } - else - { - $request->alpha = $value->handle; - } - $this->connection->__soapCall('IFramebufferOverlay_setAlpha', array((array)$request)); + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedStorageBuses', array((array)$request)); + return new StorageBusCollection ($this->connection, (array)$response->returnval); + } + + public function getSupportedStorageControllerTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedStorageControllerTypes', array((array)$request)); + return new StorageControllerTypeCollection ($this->connection, (array)$response->returnval); + } + + public function getSupportedChipsetTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedChipsetTypes', array((array)$request)); + return new ChipsetTypeCollection ($this->connection, (array)$response->returnval); + } + + public function getSupportedIommuTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedIommuTypes', array((array)$request)); + return new IommuTypeCollection ($this->connection, (array)$response->returnval); + } + + public function getSupportedTpmTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPlatformProperties_getSupportedTpmTypes', array((array)$request)); + return new TpmTypeCollection ($this->connection, (array)$response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IFramebufferOverlayCollection extends VBox_ManagedObjectCollection +class IPlatformPropertiesCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IFramebufferOverlay"; + protected $_interfaceName = "IPlatformProperties"; } /** * Generated VBoxWebService Interface Wrapper */ -class IDisplay extends VBox_ManagedObject +class ISystemProperties extends VBox_ManagedObject { - public function getScreenResolution($arg_screenId) + public function getDefaultIoCacheSettingForStorageController($arg_controllerType) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IDisplay_getScreenResolution', array((array)$request)); - return array((float)$response->width, (float)$response->height, (float)$response->bitsPerPixel, (int)$response->xOrigin, (int)$response->yOrigin, new GuestMonitorStatus ($this->connection, $response->guestMonitorStatus)); + $request->controllerType = $arg_controllerType; + $response = $this->connection->__soapCall('ISystemProperties_getDefaultIoCacheSettingForStorageController', array((array)$request)); + return (bool)$response->returnval; } - public function attachFramebuffer($arg_screenId, $arg_framebuffer) + public function getCPUProfiles($arg_architecture, $arg_namePattern) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->framebuffer = $arg_framebuffer; - $response = $this->connection->__soapCall('IDisplay_attachFramebuffer', array((array)$request)); - return (string)$response->returnval; + $request->architecture = $arg_architecture; + $request->namePattern = $arg_namePattern; + $response = $this->connection->__soapCall('ISystemProperties_getCPUProfiles', array((array)$request)); + return new ICPUProfileCollection ($this->connection, (array)$response->returnval); } - public function detachFramebuffer($arg_screenId, $arg_id) + public function getExecutionEnginesForVmCpuArchitecture($arg_cpuArchitecture) { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->id = $arg_id; - $response = $this->connection->__soapCall('IDisplay_detachFramebuffer', array((array)$request)); - return ; + $request->cpuArchitecture = $arg_cpuArchitecture; + $response = $this->connection->__soapCall('ISystemProperties_getExecutionEnginesForVmCpuArchitecture', array((array)$request)); + return new VMExecutionEngineCollection ($this->connection, (array)$response->returnval); } - public function queryFramebuffer($arg_screenId) + public function getPlatform() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IDisplay_queryFramebuffer', array((array)$request)); - return new IFramebuffer ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getPlatform', array((array)$request)); + return new IPlatformProperties ($this->connection, $response->returnval); } - public function setVideoModeHint($arg_display, $arg_enabled, $arg_changeOrigin, $arg_originX, $arg_originY, $arg_width, $arg_height, $arg_bitsPerPixel) + public function getMinGuestRAM() { $request = new stdClass(); $request->_this = $this->handle; - $request->display = $arg_display; - $request->enabled = (bool)$arg_enabled; - $request->changeOrigin = (bool)$arg_changeOrigin; - $request->originX = $arg_originX; - $request->originY = $arg_originY; - $request->width = $arg_width; - $request->height = $arg_height; - $request->bitsPerPixel = $arg_bitsPerPixel; - $response = $this->connection->__soapCall('IDisplay_setVideoModeHint', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMinGuestRAM', array((array)$request)); + return (float)$response->returnval; } - public function setSeamlessMode($arg_enabled) + public function getMaxGuestRAM() { $request = new stdClass(); $request->_this = $this->handle; - $request->enabled = (bool)$arg_enabled; - $response = $this->connection->__soapCall('IDisplay_setSeamlessMode', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestRAM', array((array)$request)); + return (float)$response->returnval; } - public function takeScreenShotToArray($arg_screenId, $arg_width, $arg_height, $arg_bitmapFormat) + public function getMinGuestVRAM() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->width = $arg_width; - $request->height = $arg_height; - $request->bitmapFormat = $arg_bitmapFormat; - $response = $this->connection->__soapCall('IDisplay_takeScreenShotToArray', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getMinGuestVRAM', array((array)$request)); + return (float)$response->returnval; } - public function invalidateAndUpdate() + public function getMaxGuestVRAM() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDisplay_invalidateAndUpdate', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestVRAM', array((array)$request)); + return (float)$response->returnval; } - public function invalidateAndUpdateScreen($arg_screenId) + public function getMinGuestCPUCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $response = $this->connection->__soapCall('IDisplay_invalidateAndUpdateScreen', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMinGuestCPUCount', array((array)$request)); + return (float)$response->returnval; } - public function viewportChanged($arg_screenId, $arg_x, $arg_y, $arg_width, $arg_height) + public function getMaxGuestCPUCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->x = $arg_x; - $request->y = $arg_y; - $request->width = $arg_width; - $request->height = $arg_height; - $response = $this->connection->__soapCall('IDisplay_viewportChanged', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestCPUCount', array((array)$request)); + return (float)$response->returnval; } - public function notifyScaleFactorChange($arg_screenId, $arg_u32ScaleFactorWMultiplied, $arg_u32ScaleFactorHMultiplied) + public function getMaxGuestMonitors() { $request = new stdClass(); $request->_this = $this->handle; - $request->screenId = $arg_screenId; - $request->u32ScaleFactorWMultiplied = $arg_u32ScaleFactorWMultiplied; - $request->u32ScaleFactorHMultiplied = $arg_u32ScaleFactorHMultiplied; - $response = $this->connection->__soapCall('IDisplay_notifyScaleFactorChange', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getMaxGuestMonitors', array((array)$request)); + return (float)$response->returnval; } - public function notifyHiDPIOutputPolicyChange($arg_fUnscaledHiDPI) + public function getInfoVDSize() { $request = new stdClass(); $request->_this = $this->handle; - $request->fUnscaledHiDPI = (bool)$arg_fUnscaledHiDPI; - $response = $this->connection->__soapCall('IDisplay_notifyHiDPIOutputPolicyChange', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISystemProperties_getInfoVDSize', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDisplayCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDisplay"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INetworkAdapter extends VBox_ManagedObject -{ - public function getProperty($arg_key) + public function getDefaultMachineFolder() { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $response = $this->connection->__soapCall('INetworkAdapter_getProperty', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getDefaultMachineFolder', array((array)$request)); return (string)$response->returnval; } - public function setProperty($arg_key, $arg_value) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->key = $arg_key; - $request->value = $arg_value; - $response = $this->connection->__soapCall('INetworkAdapter_setProperty', array((array)$request)); - return ; - } - - public function getProperties($arg_names) + public function setDefaultMachineFolder($value) { $request = new stdClass(); $request->_this = $this->handle; - $request->names = $arg_names; - $response = $this->connection->__soapCall('INetworkAdapter_getProperties', array((array)$request)); - return array((array)$response->returnval, (array)$response->returnNames); + if (is_null($value) || is_scalar($value)) + { + $request->defaultMachineFolder = $value; + } + else + { + $request->defaultMachineFolder = $value->handle; + } + $this->connection->__soapCall('ISystemProperties_setDefaultMachineFolder', array((array)$request)); } - public function getAdapterType() + public function getLoggingLevel() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getAdapterType', array((array)$request)); - return new NetworkAdapterType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getLoggingLevel', array((array)$request)); + return (string)$response->returnval; } - public function setAdapterType($value) + public function setLoggingLevel($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->adapterType = $value; + $request->loggingLevel = $value; } else { - $request->adapterType = $value->handle; + $request->loggingLevel = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setAdapterType', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setLoggingLevel', array((array)$request)); } - public function getSlot() + public function getMediumFormats() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getSlot', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getMediumFormats', array((array)$request)); + return new IMediumFormatCollection ($this->connection, (array)$response->returnval); } - public function getEnabled() + public function getDefaultHardDiskFormat() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getDefaultHardDiskFormat', array((array)$request)); + return (string)$response->returnval; } - public function setEnabled($value) + public function setDefaultHardDiskFormat($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->enabled = (bool)$value; + $request->defaultHardDiskFormat = $value; } else { - $request->enabled = (bool)$value->handle; + $request->defaultHardDiskFormat = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setEnabled', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setDefaultHardDiskFormat', array((array)$request)); } - public function getMACAddress() + public function getFreeDiskSpaceWarning() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getMACAddress', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpaceWarning', array((array)$request)); + return (float)$response->returnval; } - public function setMACAddress($value) + public function setFreeDiskSpaceWarning($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->MACAddress = $value; + $request->freeDiskSpaceWarning = $value; } else { - $request->MACAddress = $value->handle; + $request->freeDiskSpaceWarning = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setMACAddress', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setFreeDiskSpaceWarning', array((array)$request)); } - public function getAttachmentType() + public function getFreeDiskSpacePercentWarning() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getAttachmentType', array((array)$request)); - return new NetworkAttachmentType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpacePercentWarning', array((array)$request)); + return (float)$response->returnval; } - public function setAttachmentType($value) + public function setFreeDiskSpacePercentWarning($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->attachmentType = $value; + $request->freeDiskSpacePercentWarning = $value; } else { - $request->attachmentType = $value->handle; + $request->freeDiskSpacePercentWarning = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setAttachmentType', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setFreeDiskSpacePercentWarning', array((array)$request)); } - public function getBridgedInterface() + public function getFreeDiskSpaceError() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getBridgedInterface', array((array)$request)); - return (string)$response->returnval; - } + $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpaceError', array((array)$request)); + return (float)$response->returnval; + } - public function setBridgedInterface($value) + public function setFreeDiskSpaceError($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->bridgedInterface = $value; + $request->freeDiskSpaceError = $value; } else { - $request->bridgedInterface = $value->handle; + $request->freeDiskSpaceError = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setBridgedInterface', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setFreeDiskSpaceError', array((array)$request)); } - public function getHostOnlyInterface() + public function getFreeDiskSpacePercentError() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getHostOnlyInterface', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getFreeDiskSpacePercentError', array((array)$request)); + return (float)$response->returnval; } - public function setHostOnlyInterface($value) + public function setFreeDiskSpacePercentError($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->hostOnlyInterface = $value; + $request->freeDiskSpacePercentError = $value; } else { - $request->hostOnlyInterface = $value->handle; + $request->freeDiskSpacePercentError = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setHostOnlyInterface', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setFreeDiskSpacePercentError', array((array)$request)); } - public function getInternalNetwork() + public function getVRDEAuthLibrary() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getInternalNetwork', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getVRDEAuthLibrary', array((array)$request)); return (string)$response->returnval; } - public function setInternalNetwork($value) + public function setVRDEAuthLibrary($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->internalNetwork = $value; + $request->VRDEAuthLibrary = $value; } else { - $request->internalNetwork = $value->handle; + $request->VRDEAuthLibrary = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setInternalNetwork', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setVRDEAuthLibrary', array((array)$request)); } - public function getNATNetwork() + public function getWebServiceAuthLibrary() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getNATNetwork', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getWebServiceAuthLibrary', array((array)$request)); return (string)$response->returnval; } - public function setNATNetwork($value) + public function setWebServiceAuthLibrary($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->NATNetwork = $value; + $request->webServiceAuthLibrary = $value; } else { - $request->NATNetwork = $value->handle; + $request->webServiceAuthLibrary = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setNATNetwork', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setWebServiceAuthLibrary', array((array)$request)); } - public function getGenericDriver() + public function getDefaultVRDEExtPack() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getGenericDriver', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getDefaultVRDEExtPack', array((array)$request)); return (string)$response->returnval; } - public function setGenericDriver($value) + public function setDefaultVRDEExtPack($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->genericDriver = $value; + $request->defaultVRDEExtPack = $value; } else { - $request->genericDriver = $value->handle; + $request->defaultVRDEExtPack = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setGenericDriver', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setDefaultVRDEExtPack', array((array)$request)); } - public function getCableConnected() + public function getDefaultCryptoExtPack() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getCableConnected', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getDefaultCryptoExtPack', array((array)$request)); + return (string)$response->returnval; } - public function setCableConnected($value) + public function setDefaultCryptoExtPack($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->cableConnected = (bool)$value; + $request->defaultCryptoExtPack = $value; } else { - $request->cableConnected = (bool)$value->handle; + $request->defaultCryptoExtPack = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setCableConnected', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setDefaultCryptoExtPack', array((array)$request)); } - public function getLineSpeed() + public function getLogHistoryCount() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getLineSpeed', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getLogHistoryCount', array((array)$request)); return (float)$response->returnval; } - public function setLineSpeed($value) + public function setLogHistoryCount($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->lineSpeed = $value; + $request->logHistoryCount = $value; } else { - $request->lineSpeed = $value->handle; + $request->logHistoryCount = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setLineSpeed', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setLogHistoryCount', array((array)$request)); } - public function getPromiscModePolicy() + public function getDefaultAudioDriver() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getPromiscModePolicy', array((array)$request)); - return new NetworkAdapterPromiscModePolicy ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getDefaultAudioDriver', array((array)$request)); + return new AudioDriverType ($this->connection, $response->returnval); } - public function setPromiscModePolicy($value) + public function getAutostartDatabasePath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISystemProperties_getAutostartDatabasePath', array((array)$request)); + return (string)$response->returnval; + } + + public function setAutostartDatabasePath($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->promiscModePolicy = $value; + $request->autostartDatabasePath = $value; } else { - $request->promiscModePolicy = $value->handle; + $request->autostartDatabasePath = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setPromiscModePolicy', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setAutostartDatabasePath', array((array)$request)); } - public function getTraceEnabled() + public function getDefaultAdditionsISO() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getTraceEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getDefaultAdditionsISO', array((array)$request)); + return (string)$response->returnval; } - public function setTraceEnabled($value) + public function setDefaultAdditionsISO($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->traceEnabled = (bool)$value; + $request->defaultAdditionsISO = $value; } else { - $request->traceEnabled = (bool)$value->handle; + $request->defaultAdditionsISO = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setTraceEnabled', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setDefaultAdditionsISO', array((array)$request)); } - public function getTraceFile() + public function getDefaultFrontend() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getTraceFile', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getDefaultFrontend', array((array)$request)); return (string)$response->returnval; } - public function setTraceFile($value) + public function setDefaultFrontend($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->traceFile = $value; + $request->defaultFrontend = $value; } else { - $request->traceFile = $value->handle; + $request->defaultFrontend = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setTraceFile', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setDefaultFrontend', array((array)$request)); } - public function getNATEngine() + public function getScreenShotFormats() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getNATEngine', array((array)$request)); - return new INATEngine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getScreenShotFormats', array((array)$request)); + return new BitmapFormatCollection ($this->connection, (array)$response->returnval); } - public function getBootPriority() + public function getProxyMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getBootPriority', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getProxyMode', array((array)$request)); + return new ProxyMode ($this->connection, $response->returnval); } - public function setBootPriority($value) + public function setProxyMode($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->bootPriority = $value; + $request->proxyMode = $value; } else { - $request->bootPriority = $value->handle; + $request->proxyMode = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setBootPriority', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setProxyMode', array((array)$request)); } - public function getBandwidthGroup() + public function getProxyURL() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapter_getBandwidthGroup', array((array)$request)); - return new IBandwidthGroup ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getProxyURL', array((array)$request)); + return (string)$response->returnval; } - public function setBandwidthGroup($value) + public function setProxyURL($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->bandwidthGroup = $value; + $request->proxyURL = $value; } else { - $request->bandwidthGroup = $value->handle; + $request->proxyURL = $value->handle; } - $this->connection->__soapCall('INetworkAdapter_setBandwidthGroup', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setProxyURL', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INetworkAdapterCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INetworkAdapter"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISerialPort extends VBox_ManagedObject -{ - public function getSlot() + public function getSupportedPlatformArchitectures() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getSlot', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedPlatformArchitectures', array((array)$request)); + return new PlatformArchitectureCollection ($this->connection, (array)$response->returnval); } - public function getEnabled() + public function getSupportedClipboardModes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedClipboardModes', array((array)$request)); + return new ClipboardModeCollection ($this->connection, (array)$response->returnval); } - public function setEnabled($value) + public function getSupportedDnDModes() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabled = (bool)$value; - } - else - { - $request->enabled = (bool)$value->handle; - } - $this->connection->__soapCall('ISerialPort_setEnabled', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedDnDModes', array((array)$request)); + return new DnDModeCollection ($this->connection, (array)$response->returnval); } - public function getIOBase() + public function getSupportedPointingHIDTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getIOBase', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedPointingHIDTypes', array((array)$request)); + return new PointingHIDTypeCollection ($this->connection, (array)$response->returnval); } - public function setIOBase($value) + public function getSupportedKeyboardHIDTypes() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->IOBase = $value; - } - else - { - $request->IOBase = $value->handle; - } - $this->connection->__soapCall('ISerialPort_setIOBase', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedKeyboardHIDTypes', array((array)$request)); + return new KeyboardHIDTypeCollection ($this->connection, (array)$response->returnval); } - public function getIRQ() + public function getSupportedVFSTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getIRQ', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedVFSTypes', array((array)$request)); + return new VFSTypeCollection ($this->connection, (array)$response->returnval); } - public function setIRQ($value) + public function getSupportedImportOptions() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->IRQ = $value; - } - else - { - $request->IRQ = $value->handle; - } - $this->connection->__soapCall('ISerialPort_setIRQ', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedImportOptions', array((array)$request)); + return new ImportOptionsCollection ($this->connection, (array)$response->returnval); } - public function getHostMode() + public function getSupportedExportOptions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getHostMode', array((array)$request)); - return new PortMode ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedExportOptions', array((array)$request)); + return new ExportOptionsCollection ($this->connection, (array)$response->returnval); } - public function setHostMode($value) + public function getSupportedGraphicsFeatures() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->hostMode = $value; - } - else - { - $request->hostMode = $value->handle; - } - $this->connection->__soapCall('ISerialPort_setHostMode', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedGraphicsFeatures', array((array)$request)); + return new GraphicsFeatureCollection ($this->connection, (array)$response->returnval); } - public function getServer() + public function getSupportedRecordingFeatures() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getServer', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingFeatures', array((array)$request)); + return new RecordingFeatureCollection ($this->connection, (array)$response->returnval); } - public function setServer($value) + public function getSupportedRecordingAudioCodecs() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->server = (bool)$value; - } - else - { - $request->server = (bool)$value->handle; - } - $this->connection->__soapCall('ISerialPort_setServer', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingAudioCodecs', array((array)$request)); + return new RecordingAudioCodecCollection ($this->connection, (array)$response->returnval); } - public function getPath() + public function getSupportedRecordingVideoCodecs() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPort_getPath', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingVideoCodecs', array((array)$request)); + return new RecordingVideoCodecCollection ($this->connection, (array)$response->returnval); } - public function setPath($value) + public function getSupportedRecordingVSModes() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->path = $value; - } - else - { - $request->path = $value->handle; - } - $this->connection->__soapCall('ISerialPort_setPath', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingVSModes', array((array)$request)); + return new RecordingVideoScalingModeCollection ($this->connection, (array)$response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISerialPortCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISerialPort"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IParallelPort extends VBox_ManagedObject -{ - public function getSlot() + public function getSupportedRecordingARCModes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPort_getSlot', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingARCModes', array((array)$request)); + return new RecordingRateControlModeCollection ($this->connection, (array)$response->returnval); } - public function getEnabled() + public function getSupportedRecordingVRCModes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPort_getEnabled', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedRecordingVRCModes', array((array)$request)); + return new RecordingRateControlModeCollection ($this->connection, (array)$response->returnval); } - public function setEnabled($value) + public function getSupportedCloneOptions() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabled = (bool)$value; - } - else - { - $request->enabled = (bool)$value->handle; - } - $this->connection->__soapCall('IParallelPort_setEnabled', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedCloneOptions', array((array)$request)); + return new CloneOptionsCollection ($this->connection, (array)$response->returnval); } - public function getIOBase() + public function getSupportedAutostopTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPort_getIOBase', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedAutostopTypes', array((array)$request)); + return new AutostopTypeCollection ($this->connection, (array)$response->returnval); } - public function setIOBase($value) + public function getSupportedVMProcPriorities() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->IOBase = $value; - } - else - { - $request->IOBase = $value->handle; - } - $this->connection->__soapCall('IParallelPort_setIOBase', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedVMProcPriorities', array((array)$request)); + return new VMProcPriorityCollection ($this->connection, (array)$response->returnval); } - public function getIRQ() + public function getSupportedNetworkAttachmentTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPort_getIRQ', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISystemProperties_getSupportedNetworkAttachmentTypes', array((array)$request)); + return new NetworkAttachmentTypeCollection ($this->connection, (array)$response->returnval); } - public function setIRQ($value) + public function getSupportedPortModes() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->IRQ = $value; - } - else - { - $request->IRQ = $value->handle; - } - $this->connection->__soapCall('IParallelPort_setIRQ', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedPortModes', array((array)$request)); + return new PortModeCollection ($this->connection, (array)$response->returnval); } - public function getPath() + public function getSupportedAudioDriverTypes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPort_getPath', array((array)$request)); + $response = $this->connection->__soapCall('ISystemProperties_getSupportedAudioDriverTypes', array((array)$request)); + return new AudioDriverTypeCollection ($this->connection, (array)$response->returnval); + } + + public function getLanguageId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISystemProperties_getLanguageId', array((array)$request)); return (string)$response->returnval; } - public function setPath($value) + public function setLanguageId($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->path = $value; + $request->languageId = $value; } else { - $request->path = $value->handle; + $request->languageId = $value->handle; } - $this->connection->__soapCall('IParallelPort_setPath', array((array)$request)); + $this->connection->__soapCall('ISystemProperties_setLanguageId', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IParallelPortCollection extends VBox_ManagedObjectCollection +class ISystemPropertiesCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IParallelPort"; + protected $_interfaceName = "ISystemProperties"; } /** * Generated VBoxWebService Interface Wrapper */ -class IMachineDebugger extends VBox_ManagedObject +class IDnDBase extends VBox_ManagedObject { - public function dumpGuestCore($arg_filename, $arg_compression) + public function isFormatSupported($arg_format) { $request = new stdClass(); $request->_this = $this->handle; - $request->filename = $arg_filename; - $request->compression = $arg_compression; - $response = $this->connection->__soapCall('IMachineDebugger_dumpGuestCore', array((array)$request)); - return ; + $request->format = $arg_format; + $response = $this->connection->__soapCall('IDnDBase_isFormatSupported', array((array)$request)); + return (bool)$response->returnval; } - public function dumpHostProcessCore($arg_filename, $arg_compression) + public function addFormats($arg_formats) { $request = new stdClass(); $request->_this = $this->handle; - $request->filename = $arg_filename; - $request->compression = $arg_compression; - $response = $this->connection->__soapCall('IMachineDebugger_dumpHostProcessCore', array((array)$request)); + $request->formats = $arg_formats; + $response = $this->connection->__soapCall('IDnDBase_addFormats', array((array)$request)); return ; } - public function info($arg_name, $arg_args) + public function removeFormats($arg_formats) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->args = $arg_args; - $response = $this->connection->__soapCall('IMachineDebugger_info', array((array)$request)); - return (string)$response->returnval; + $request->formats = $arg_formats; + $response = $this->connection->__soapCall('IDnDBase_removeFormats', array((array)$request)); + return ; } - public function injectNMI() + public function getFormats() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_injectNMI', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IDnDBase_getFormats', array((array)$request)); + return (array)$response->returnval; } +} - public function modifyLogGroups($arg_settings) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDnDBaseCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDnDBase"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDnDSource extends IDnDBase +{ + + public function dragIsPending($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $request->settings = $arg_settings; - $response = $this->connection->__soapCall('IMachineDebugger_modifyLogGroups', array((array)$request)); - return ; + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IDnDSource_dragIsPending', array((array)$request)); + return array(new DnDAction ($this->connection, $response->returnval), (array)$response->formats, new DnDActionCollection ($this->connection, (array)$response->allowedActions)); } - public function modifyLogFlags($arg_settings) + public function drop($arg_format, $arg_action) { $request = new stdClass(); $request->_this = $this->handle; - $request->settings = $arg_settings; - $response = $this->connection->__soapCall('IMachineDebugger_modifyLogFlags', array((array)$request)); - return ; + $request->format = $arg_format; + $request->action = $arg_action; + $response = $this->connection->__soapCall('IDnDSource_drop', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function modifyLogDestinations($arg_settings) + public function receiveData() { $request = new stdClass(); $request->_this = $this->handle; - $request->settings = $arg_settings; - $response = $this->connection->__soapCall('IMachineDebugger_modifyLogDestinations', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IDnDSource_receiveData', array((array)$request)); + return (array)$response->returnval; } +} - public function readPhysicalMemory($arg_address, $arg_size) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDnDSourceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDnDSource"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDnDSource extends IDnDSource +{ + + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $request->address = $arg_address; - $request->size = $arg_size; - $response = $this->connection->__soapCall('IMachineDebugger_readPhysicalMemory', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IGuestDnDSource_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} - public function writePhysicalMemory($arg_address, $arg_size, $arg_bytes) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDnDSourceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDnDSource"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDnDTarget extends IDnDBase +{ + + public function enter($arg_screenId, $arg_y, $arg_x, $arg_defaultAction, $arg_allowedActions, $arg_formats) { $request = new stdClass(); $request->_this = $this->handle; - $request->address = $arg_address; - $request->size = $arg_size; - $request->bytes = $arg_bytes; - $response = $this->connection->__soapCall('IMachineDebugger_writePhysicalMemory', array((array)$request)); - return ; + $request->screenId = $arg_screenId; + $request->y = $arg_y; + $request->x = $arg_x; + $request->defaultAction = $arg_defaultAction; + $request->allowedActions = $arg_allowedActions; + $request->formats = $arg_formats; + $response = $this->connection->__soapCall('IDnDTarget_enter', array((array)$request)); + return new DnDAction ($this->connection, $response->returnval); } - public function readVirtualMemory($arg_cpuId, $arg_address, $arg_size) + public function move($arg_screenId, $arg_x, $arg_y, $arg_defaultAction, $arg_allowedActions, $arg_formats) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->address = $arg_address; - $request->size = $arg_size; - $response = $this->connection->__soapCall('IMachineDebugger_readVirtualMemory', array((array)$request)); - return (array)$response->returnval; + $request->screenId = $arg_screenId; + $request->x = $arg_x; + $request->y = $arg_y; + $request->defaultAction = $arg_defaultAction; + $request->allowedActions = $arg_allowedActions; + $request->formats = $arg_formats; + $response = $this->connection->__soapCall('IDnDTarget_move', array((array)$request)); + return new DnDAction ($this->connection, $response->returnval); } - public function writeVirtualMemory($arg_cpuId, $arg_address, $arg_size, $arg_bytes) + public function leave($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->address = $arg_address; - $request->size = $arg_size; - $request->bytes = $arg_bytes; - $response = $this->connection->__soapCall('IMachineDebugger_writeVirtualMemory', array((array)$request)); + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IDnDTarget_leave', array((array)$request)); return ; } - public function loadPlugIn($arg_name) + public function drop($arg_screenId, $arg_x, $arg_y, $arg_defaultAction, $arg_allowedActions, $arg_formats) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachineDebugger_loadPlugIn', array((array)$request)); - return (string)$response->returnval; + $request->screenId = $arg_screenId; + $request->x = $arg_x; + $request->y = $arg_y; + $request->defaultAction = $arg_defaultAction; + $request->allowedActions = $arg_allowedActions; + $request->formats = $arg_formats; + $response = $this->connection->__soapCall('IDnDTarget_drop', array((array)$request)); + return array(new DnDAction ($this->connection, $response->returnval), (string)$response->format); } - public function unloadPlugIn($arg_name) + public function sendData($arg_screenId, $arg_format, $arg_data) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachineDebugger_unloadPlugIn', array((array)$request)); - return ; + $request->screenId = $arg_screenId; + $request->format = $arg_format; + $request->data = $arg_data; + $response = $this->connection->__soapCall('IDnDTarget_sendData', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function detectOS() + public function cancel() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_detectOS', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IDnDTarget_cancel', array((array)$request)); + return (bool)$response->returnval; } +} - public function queryOSKernelLog($arg_maxMessages) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDnDTargetCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDnDTarget"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDnDTarget extends IDnDTarget +{ + + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $request->maxMessages = $arg_maxMessages; - $response = $this->connection->__soapCall('IMachineDebugger_queryOSKernelLog', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestDnDTarget_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} - public function getRegister($arg_cpuId, $arg_name) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IMachineDebugger_getRegister', array((array)$request)); - return (string)$response->returnval; +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDnDTargetCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDnDTarget"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestSession extends VBox_ManagedObject +{ + + public function close() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSession_close', array((array)$request)); + return ; } - public function getRegisters($arg_cpuId) + public function copyFromGuest($arg_sources, $arg_filters, $arg_flags, $arg_destination) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $response = $this->connection->__soapCall('IMachineDebugger_getRegisters', array((array)$request)); - return array((array)$response->names, (array)$response->values); + $request->sources = $arg_sources; + $request->filters = $arg_filters; + $request->flags = $arg_flags; + $request->destination = $arg_destination; + $response = $this->connection->__soapCall('IGuestSession_copyFromGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setRegister($arg_cpuId, $arg_name, $arg_value) + public function copyToGuest($arg_sources, $arg_filters, $arg_flags, $arg_destination) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->name = $arg_name; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IMachineDebugger_setRegister', array((array)$request)); - return ; + $request->sources = $arg_sources; + $request->filters = $arg_filters; + $request->flags = $arg_flags; + $request->destination = $arg_destination; + $response = $this->connection->__soapCall('IGuestSession_copyToGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setRegisters($arg_cpuId, $arg_names, $arg_values) + public function directoryCopy($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $request->names = $arg_names; - $request->values = $arg_values; - $response = $this->connection->__soapCall('IMachineDebugger_setRegisters', array((array)$request)); - return ; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryCopy', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function dumpGuestStack($arg_cpuId) + public function directoryCopyFromGuest($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $request->cpuId = $arg_cpuId; - $response = $this->connection->__soapCall('IMachineDebugger_dumpGuestStack', array((array)$request)); - return (string)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryCopyFromGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function resetStats($arg_pattern) + public function directoryCopyToGuest($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $request->pattern = $arg_pattern; - $response = $this->connection->__soapCall('IMachineDebugger_resetStats', array((array)$request)); - return ; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryCopyToGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function dumpStats($arg_pattern) + public function directoryCreate($arg_path, $arg_mode, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $request->pattern = $arg_pattern; - $response = $this->connection->__soapCall('IMachineDebugger_dumpStats', array((array)$request)); + $request->path = $arg_path; + $request->mode = $arg_mode; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryCreate', array((array)$request)); return ; } - public function getStats($arg_pattern, $arg_withDescriptions) + public function directoryCreateTemp($arg_templateName, $arg_mode, $arg_path, $arg_secure) { $request = new stdClass(); $request->_this = $this->handle; - $request->pattern = $arg_pattern; - $request->withDescriptions = (bool)$arg_withDescriptions; - $response = $this->connection->__soapCall('IMachineDebugger_getStats', array((array)$request)); + $request->templateName = $arg_templateName; + $request->mode = $arg_mode; + $request->path = $arg_path; + $request->secure = $arg_secure; + $response = $this->connection->__soapCall('IGuestSession_directoryCreateTemp', array((array)$request)); return (string)$response->returnval; } - public function getSingleStep() + public function directoryExists($arg_path, $arg_followSymlinks) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getSingleStep', array((array)$request)); + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $response = $this->connection->__soapCall('IGuestSession_directoryExists', array((array)$request)); return (bool)$response->returnval; } - public function setSingleStep($value) + public function directoryOpen($arg_path, $arg_filter, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->singleStep = (bool)$value; - } - else - { - $request->singleStep = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setSingleStep', array((array)$request)); + $request->path = $arg_path; + $request->filter = $arg_filter; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryOpen', array((array)$request)); + return new IGuestDirectory ($this->connection, $response->returnval); } - public function getRecompileUser() + public function directoryRemove($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getRecompileUser', array((array)$request)); - return (bool)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IGuestSession_directoryRemove', array((array)$request)); + return ; } - public function setRecompileUser($value) + public function directoryRemoveRecursive($arg_path, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->recompileUser = (bool)$value; - } - else - { - $request->recompileUser = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setRecompileUser', array((array)$request)); + $request->path = $arg_path; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_directoryRemoveRecursive', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getRecompileSupervisor() + public function environmentScheduleSet($arg_name, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getRecompileSupervisor', array((array)$request)); - return (bool)$response->returnval; + $request->name = $arg_name; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IGuestSession_environmentScheduleSet', array((array)$request)); + return ; } - public function setRecompileSupervisor($value) + public function environmentScheduleUnset($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->recompileSupervisor = (bool)$value; - } - else - { - $request->recompileSupervisor = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setRecompileSupervisor', array((array)$request)); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IGuestSession_environmentScheduleUnset', array((array)$request)); + return ; } - public function getExecuteAllInIEM() + public function environmentGetBaseVariable($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getExecuteAllInIEM', array((array)$request)); - return (bool)$response->returnval; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IGuestSession_environmentGetBaseVariable', array((array)$request)); + return (string)$response->returnval; } - public function setExecuteAllInIEM($value) + public function environmentDoesBaseVariableExist($arg_name) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->executeAllInIEM = (bool)$value; - } - else - { - $request->executeAllInIEM = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setExecuteAllInIEM', array((array)$request)); + $request->name = $arg_name; + $response = $this->connection->__soapCall('IGuestSession_environmentDoesBaseVariableExist', array((array)$request)); + return (bool)$response->returnval; } - public function getPATMEnabled() + public function fileCopy($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getPATMEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fileCopy', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setPATMEnabled($value) + public function fileCopyFromGuest($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->PATMEnabled = (bool)$value; - } - else - { - $request->PATMEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setPATMEnabled', array((array)$request)); + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fileCopyFromGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getCSAMEnabled() + public function fileCopyToGuest($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getCSAMEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fileCopyToGuest', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function setCSAMEnabled($value) + public function fileCreateTemp($arg_templateName, $arg_mode, $arg_path, $arg_secure) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->CSAMEnabled = (bool)$value; - } - else - { - $request->CSAMEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setCSAMEnabled', array((array)$request)); + $request->templateName = $arg_templateName; + $request->mode = $arg_mode; + $request->path = $arg_path; + $request->secure = $arg_secure; + $response = $this->connection->__soapCall('IGuestSession_fileCreateTemp', array((array)$request)); + return new IGuestFile ($this->connection, $response->returnval); } - public function getLogEnabled() + public function fileExists($arg_path, $arg_followSymlinks) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogEnabled', array((array)$request)); + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $response = $this->connection->__soapCall('IGuestSession_fileExists', array((array)$request)); return (bool)$response->returnval; } - public function setLogEnabled($value) + public function fileOpen($arg_path, $arg_accessMode, $arg_openAction, $arg_creationMode) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->logEnabled = (bool)$value; - } - else - { - $request->logEnabled = (bool)$value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setLogEnabled', array((array)$request)); + $request->path = $arg_path; + $request->accessMode = $arg_accessMode; + $request->openAction = $arg_openAction; + $request->creationMode = $arg_creationMode; + $response = $this->connection->__soapCall('IGuestSession_fileOpen', array((array)$request)); + return new IGuestFile ($this->connection, $response->returnval); } - public function getLogDbgFlags() + public function fileOpenEx($arg_path, $arg_accessMode, $arg_openAction, $arg_sharingMode, $arg_creationMode, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgFlags', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $request->accessMode = $arg_accessMode; + $request->openAction = $arg_openAction; + $request->sharingMode = $arg_sharingMode; + $request->creationMode = $arg_creationMode; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fileOpenEx', array((array)$request)); + return new IGuestFile ($this->connection, $response->returnval); } - public function getLogDbgGroups() + public function fileQuerySize($arg_path, $arg_followSymlinks) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgGroups', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $response = $this->connection->__soapCall('IGuestSession_fileQuerySize', array((array)$request)); + return (float)$response->returnval; } - public function getLogDbgDestinations() + public function fsObjExists($arg_path, $arg_followSymlinks) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgDestinations', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $response = $this->connection->__soapCall('IGuestSession_fsObjExists', array((array)$request)); + return (bool)$response->returnval; } - public function getLogRelFlags() + public function fsObjQueryInfo($arg_path, $arg_followSymlinks) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogRelFlags', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $response = $this->connection->__soapCall('IGuestSession_fsObjQueryInfo', array((array)$request)); + return new IGuestFsObjInfo ($this->connection, $response->returnval); } - public function getLogRelGroups() + public function fsObjRemove($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogRelGroups', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IGuestSession_fsObjRemove', array((array)$request)); + return ; } - public function getLogRelDestinations() + public function fsObjRemoveArray($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getLogRelDestinations', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IGuestSession_fsObjRemoveArray', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getHWVirtExEnabled() + public function fsObjRename($arg_oldPath, $arg_newPath, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->oldPath = $arg_oldPath; + $request->newPath = $arg_newPath; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fsObjRename', array((array)$request)); + return ; } - public function getHWVirtExNestedPagingEnabled() + public function fsObjMove($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExNestedPagingEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fsObjMove', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getHWVirtExVPIDEnabled() + public function fsObjMoveArray($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExVPIDEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fsObjMoveArray', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getHWVirtExUXEnabled() + public function fsObjCopyArray($arg_source, $arg_destination, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExUXEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->source = $arg_source; + $request->destination = $arg_destination; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_fsObjCopyArray', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getOSName() + public function fsObjSetACL($arg_path, $arg_followSymlinks, $arg_acl, $arg_mode) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getOSName', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $request->followSymlinks = $arg_followSymlinks; + $request->acl = $arg_acl; + $request->mode = $arg_mode; + $response = $this->connection->__soapCall('IGuestSession_fsObjSetACL', array((array)$request)); + return ; } - public function getOSVersion() + public function fsQueryFreeSpace($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getOSVersion', array((array)$request)); - return (string)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IGuestSession_fsQueryFreeSpace', array((array)$request)); + return (float)$response->returnval; } - public function getPAEEnabled() + public function fsQueryInfo($arg_path) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getPAEEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->path = $arg_path; + $response = $this->connection->__soapCall('IGuestSession_fsQueryInfo', array((array)$request)); + return new IGuestFsInfo ($this->connection, $response->returnval); } - public function getVirtualTimeRate() + public function processCreate($arg_executable, $arg_arguments, $arg_cwd, $arg_environmentChanges, $arg_flags, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getVirtualTimeRate', array((array)$request)); - return (float)$response->returnval; + $request->executable = $arg_executable; + $request->arguments = $arg_arguments; + $request->cwd = $arg_cwd; + $request->environmentChanges = $arg_environmentChanges; + $request->flags = $arg_flags; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IGuestSession_processCreate', array((array)$request)); + return new IGuestProcess ($this->connection, $response->returnval); } - public function setVirtualTimeRate($value) + public function processCreateEx($arg_executable, $arg_arguments, $arg_cwd, $arg_environmentChanges, $arg_flags, $arg_timeoutMS, $arg_priority, $arg_affinity) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->virtualTimeRate = $value; - } - else - { - $request->virtualTimeRate = $value->handle; - } - $this->connection->__soapCall('IMachineDebugger_setVirtualTimeRate', array((array)$request)); + $request->executable = $arg_executable; + $request->arguments = $arg_arguments; + $request->cwd = $arg_cwd; + $request->environmentChanges = $arg_environmentChanges; + $request->flags = $arg_flags; + $request->timeoutMS = $arg_timeoutMS; + $request->priority = $arg_priority; + $request->affinity = $arg_affinity; + $response = $this->connection->__soapCall('IGuestSession_processCreateEx', array((array)$request)); + return new IGuestProcess ($this->connection, $response->returnval); } - public function getVM() + public function processGet($arg_pid) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDebugger_getVM', array((array)$request)); - return (float)$response->returnval; + $request->pid = $arg_pid; + $response = $this->connection->__soapCall('IGuestSession_processGet', array((array)$request)); + return new IGuestProcess ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineDebuggerCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachineDebugger"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IUSBDeviceFilters extends VBox_ManagedObject -{ + public function symlinkCreate($arg_symlink, $arg_target, $arg_type) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->symlink = $arg_symlink; + $request->target = $arg_target; + $request->type = $arg_type; + $response = $this->connection->__soapCall('IGuestSession_symlinkCreate', array((array)$request)); + return ; + } - public function createDeviceFilter($arg_name) + public function symlinkExists($arg_symlink) { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IUSBDeviceFilters_createDeviceFilter', array((array)$request)); - return new IUSBDeviceFilter ($this->connection, $response->returnval); + $request->symlink = $arg_symlink; + $response = $this->connection->__soapCall('IGuestSession_symlinkExists', array((array)$request)); + return (bool)$response->returnval; } - public function insertDeviceFilter($arg_position, $arg_filter) + public function symlinkRead($arg_symlink, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $request->filter = $arg_filter; - $response = $this->connection->__soapCall('IUSBDeviceFilters_insertDeviceFilter', array((array)$request)); - return ; + $request->symlink = $arg_symlink; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuestSession_symlinkRead', array((array)$request)); + return (string)$response->returnval; } - public function removeDeviceFilter($arg_position) + public function waitFor($arg_waitFor, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $request->position = $arg_position; - $response = $this->connection->__soapCall('IUSBDeviceFilters_removeDeviceFilter', array((array)$request)); - return new IUSBDeviceFilter ($this->connection, $response->returnval); + $request->waitFor = $arg_waitFor; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IGuestSession_waitFor', array((array)$request)); + return new GuestSessionWaitResult ($this->connection, $response->returnval); } - public function getDeviceFilters() + public function waitForArray($arg_waitFor, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilters_getDeviceFilters', array((array)$request)); - return new IUSBDeviceFilterCollection ($this->connection, (array)$response->returnval); + $request->waitFor = $arg_waitFor; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IGuestSession_waitForArray', array((array)$request)); + return new GuestSessionWaitResult ($this->connection, $response->returnval); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IUSBDeviceFiltersCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IUSBDeviceFilters"; -} + public function getUser() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSession_getUser', array((array)$request)); + return (string)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IUSBController extends VBox_ManagedObject -{ + public function getDomain() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSession_getDomain', array((array)$request)); + return (string)$response->returnval; + } public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBController_getName', array((array)$request)); + $response = $this->connection->__soapCall('IGuestSession_getName', array((array)$request)); return (string)$response->returnval; } - public function setName($value) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('IUSBController_setName', array((array)$request)); + $response = $this->connection->__soapCall('IGuestSession_getId', array((array)$request)); + return (float)$response->returnval; } - public function getType() + public function getTimeout() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBController_getType', array((array)$request)); - return new USBControllerType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGuestSession_getTimeout', array((array)$request)); + return (float)$response->returnval; } - public function setType($value) + public function setTimeout($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->type = $value; + $request->timeout = $value; } else { - $request->type = $value->handle; + $request->timeout = $value->handle; } - $this->connection->__soapCall('IUSBController_setType', array((array)$request)); + $this->connection->__soapCall('IGuestSession_setTimeout', array((array)$request)); } - public function getUSBStandard() + public function getProtocolVersion() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBController_getUSBStandard', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getProtocolVersion', array((array)$request)); + return (float)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IUSBControllerCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IUSBController"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IUSBDevice extends VBox_ManagedObject -{ - - public function getId() + public function getStatus() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getStatus', array((array)$request)); + return new GuestSessionStatus ($this->connection, $response->returnval); } - public function getVendorId() + public function getEnvironmentChanges() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getVendorId', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getEnvironmentChanges', array((array)$request)); + return (array)$response->returnval; } - public function getProductId() + public function setEnvironmentChanges($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getProductId', array((array)$request)); - return (int)$response->returnval; + if (is_array($value) || is_null($value) || is_scalar($value)) + { + $request->environmentChanges = $value; + } + else + { + $request->environmentChanges = $value->handle; + } + $this->connection->__soapCall('IGuestSession_setEnvironmentChanges', array((array)$request)); } - public function getRevision() + public function getEnvironmentBase() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getRevision', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getEnvironmentBase', array((array)$request)); + return (array)$response->returnval; } - public function getManufacturer() + public function getProcesses() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getManufacturer', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getProcesses', array((array)$request)); + return new IGuestProcessCollection ($this->connection, (array)$response->returnval); } - public function getProduct() + public function getPathStyle() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getProduct', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getPathStyle', array((array)$request)); + return new PathStyle ($this->connection, $response->returnval); } - public function getSerialNumber() + public function getCurrentDirectory() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getSerialNumber', array((array)$request)); + $response = $this->connection->__soapCall('IGuestSession_getCurrentDirectory', array((array)$request)); return (string)$response->returnval; } - public function getAddress() + public function setCurrentDirectory($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getAddress', array((array)$request)); + if (is_null($value) || is_scalar($value)) + { + $request->currentDirectory = $value; + } + else + { + $request->currentDirectory = $value->handle; + } + $this->connection->__soapCall('IGuestSession_setCurrentDirectory', array((array)$request)); + } + + public function getUserHome() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSession_getUserHome', array((array)$request)); return (string)$response->returnval; } - public function getPort() + public function getUserDocuments() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getPort', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getUserDocuments', array((array)$request)); + return (string)$response->returnval; } - public function getVersion() + public function getMountPoints() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getVersion', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getMountPoints', array((array)$request)); + return (array)$response->returnval; } - public function getPortVersion() + public function getDirectories() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getPortVersion', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getDirectories', array((array)$request)); + return new IGuestDirectoryCollection ($this->connection, (array)$response->returnval); } - public function getSpeed() + public function getFiles() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getSpeed', array((array)$request)); - return new USBConnectionSpeed ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGuestSession_getFiles', array((array)$request)); + return new IGuestFileCollection ($this->connection, (array)$response->returnval); } - public function getRemote() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDevice_getRemote', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IGuestSession_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IUSBDeviceCollection extends VBox_ManagedObjectCollection +class IGuestSessionCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IUSBDevice"; + protected $_interfaceName = "IGuestSession"; } /** * Generated VBoxWebService Interface Wrapper */ -class IUSBDeviceFilter extends VBox_ManagedObject +class IProcess extends VBox_ManagedObject { - public function getName() + public function waitFor($arg_waitFor, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getName', array((array)$request)); - return (string)$response->returnval; + $request->waitFor = $arg_waitFor; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IProcess_waitFor', array((array)$request)); + return new ProcessWaitResult ($this->connection, $response->returnval); } - public function setName($value) + public function waitForArray($arg_waitFor, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setName', array((array)$request)); + $request->waitFor = $arg_waitFor; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IProcess_waitForArray', array((array)$request)); + return new ProcessWaitResult ($this->connection, $response->returnval); } - public function getActive() + public function read($arg_handle, $arg_toRead, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getActive', array((array)$request)); - return (bool)$response->returnval; + $request->handle = $arg_handle; + $request->toRead = $arg_toRead; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IProcess_read', array((array)$request)); + return (array)$response->returnval; } - public function setActive($value) + public function write($arg_handle, $arg_flags, $arg_data, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->active = (bool)$value; - } - else - { - $request->active = (bool)$value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setActive', array((array)$request)); + $request->handle = $arg_handle; + $request->flags = $arg_flags; + $request->data = $arg_data; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IProcess_write', array((array)$request)); + return (float)$response->returnval; } - public function getVendorId() + public function writeArray($arg_handle, $arg_flags, $arg_data, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getVendorId', array((array)$request)); - return (string)$response->returnval; + $request->handle = $arg_handle; + $request->flags = $arg_flags; + $request->data = $arg_data; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IProcess_writeArray', array((array)$request)); + return (float)$response->returnval; } - public function setVendorId($value) + public function terminate() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->vendorId = $value; - } - else - { - $request->vendorId = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setVendorId', array((array)$request)); + $response = $this->connection->__soapCall('IProcess_terminate', array((array)$request)); + return ; } - public function getProductId() + public function getArguments() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getProductId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IProcess_getArguments', array((array)$request)); + return (array)$response->returnval; } - public function setProductId($value) + public function getEnvironment() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->productId = $value; - } - else - { - $request->productId = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setProductId', array((array)$request)); + $response = $this->connection->__soapCall('IProcess_getEnvironment', array((array)$request)); + return (array)$response->returnval; } - public function getRevision() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getRevision', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IProcess_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function setRevision($value) + public function getExecutablePath() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->revision = $value; - } - else - { - $request->revision = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setRevision', array((array)$request)); + $response = $this->connection->__soapCall('IProcess_getExecutablePath', array((array)$request)); + return (string)$response->returnval; } - public function getManufacturer() + public function getExitCode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getManufacturer', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IProcess_getExitCode', array((array)$request)); + return (int)$response->returnval; } - public function setManufacturer($value) + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->manufacturer = $value; - } - else - { - $request->manufacturer = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setManufacturer', array((array)$request)); + $response = $this->connection->__soapCall('IProcess_getName', array((array)$request)); + return (string)$response->returnval; } - public function getProduct() + public function getPID() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getProduct', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IProcess_getPID', array((array)$request)); + return (float)$response->returnval; } - public function setProduct($value) + public function getStatus() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->product = $value; - } - else - { - $request->product = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setProduct', array((array)$request)); + $response = $this->connection->__soapCall('IProcess_getStatus', array((array)$request)); + return new ProcessStatus ($this->connection, $response->returnval); } +} - public function getSerialNumber() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IProcessCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IProcess"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcess extends IProcess +{ + + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getSerialNumber', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestProcess_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} - public function setSerialNumber($value) +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcess"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDirectory extends VBox_ManagedObject +{ + + public function close() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->serialNumber = $value; - } - else - { - $request->serialNumber = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setSerialNumber', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_close', array((array)$request)); + return ; } - public function getPort() + public function list($arg_maxEntries) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getPort', array((array)$request)); - return (string)$response->returnval; + $request->maxEntries = $arg_maxEntries; + $response = $this->connection->__soapCall('IDirectory_list', array((array)$request)); + return new IFsObjInfoCollection ($this->connection, (array)$response->returnval); } - public function setPort($value) + public function read() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->port = $value; - } - else - { - $request->port = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setPort', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_read', array((array)$request)); + return new IFsObjInfo ($this->connection, $response->returnval); } - public function getRemote() + public function rewind() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getRemote', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_rewind', array((array)$request)); + return ; + } + + public function getDirectoryName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IDirectory_getDirectoryName', array((array)$request)); return (string)$response->returnval; } - public function setRemote($value) + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->remote = $value; - } - else - { - $request->remote = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setRemote', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function getMaskedInterfaces() + public function getFilter() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceFilter_getMaskedInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_getFilter', array((array)$request)); + return (string)$response->returnval; + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IDirectory_getId', array((array)$request)); return (float)$response->returnval; } - public function setMaskedInterfaces($value) + public function getStatus() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->maskedInterfaces = $value; - } - else - { - $request->maskedInterfaces = $value->handle; - } - $this->connection->__soapCall('IUSBDeviceFilter_setMaskedInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IDirectory_getStatus', array((array)$request)); + return new DirectoryStatus ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IUSBDeviceFilterCollection extends VBox_ManagedObjectCollection +class IDirectoryCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IUSBDeviceFilter"; + protected $_interfaceName = "IDirectory"; } /** * Generated VBoxWebService Interface Wrapper */ -class IHostUSBDevice extends IUSBDevice +class IGuestDirectory extends IDirectory { - public function getState() + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostUSBDevice_getState', array((array)$request)); - return new USBDeviceState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGuestDirectory_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IHostUSBDeviceCollection extends VBox_ManagedObjectCollection +class IGuestDirectoryCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IHostUSBDevice"; + protected $_interfaceName = "IGuestDirectory"; } /** * Generated VBoxWebService Interface Wrapper */ -class IHostUSBDeviceFilter extends IUSBDeviceFilter +class IFile extends VBox_ManagedObject { - public function getAction() + public function close() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostUSBDeviceFilter_getAction', array((array)$request)); - return new USBDeviceFilterAction ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFile_close', array((array)$request)); + return ; } - public function setAction($value) + public function queryInfo() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->action = $value; - } - else - { - $request->action = $value->handle; - } - $this->connection->__soapCall('IHostUSBDeviceFilter_setAction', array((array)$request)); + $response = $this->connection->__soapCall('IFile_queryInfo', array((array)$request)); + return new IFsObjInfo ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IHostUSBDeviceFilterCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IHostUSBDeviceFilter"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IAudioAdapter extends VBox_ManagedObject -{ - public function setProperty($arg_key, $arg_value) + public function querySize() { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IAudioAdapter_setProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IFile_querySize', array((array)$request)); + return (float)$response->returnval; } - public function getProperty($arg_key) + public function read($arg_toRead, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $response = $this->connection->__soapCall('IAudioAdapter_getProperty', array((array)$request)); - return (string)$response->returnval; + $request->toRead = $arg_toRead; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IFile_read', array((array)$request)); + return (array)$response->returnval; } - public function getEnabled() + public function readAt($arg_offset, $arg_toRead, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getEnabled', array((array)$request)); - return (bool)$response->returnval; + $request->offset = $arg_offset; + $request->toRead = $arg_toRead; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IFile_readAt', array((array)$request)); + return (array)$response->returnval; } - public function setEnabled($value) + public function seek($arg_offset, $arg_whence) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabled = (bool)$value; - } - else - { - $request->enabled = (bool)$value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setEnabled', array((array)$request)); + $request->offset = $arg_offset; + $request->whence = $arg_whence; + $response = $this->connection->__soapCall('IFile_seek', array((array)$request)); + return (float)$response->returnval; } - public function getEnabledIn() + public function setACL($arg_acl, $arg_mode) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getEnabledIn', array((array)$request)); - return (bool)$response->returnval; + $request->acl = $arg_acl; + $request->mode = $arg_mode; + $response = $this->connection->__soapCall('IFile_setACL', array((array)$request)); + return ; } - public function setEnabledIn($value) + public function setSize($arg_size) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabledIn = (bool)$value; - } - else - { - $request->enabledIn = (bool)$value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setEnabledIn', array((array)$request)); + $request->size = $arg_size; + $response = $this->connection->__soapCall('IFile_setSize', array((array)$request)); + return ; } - public function getEnabledOut() + public function write($arg_data, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getEnabledOut', array((array)$request)); - return (bool)$response->returnval; + $request->data = $arg_data; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IFile_write', array((array)$request)); + return (float)$response->returnval; } - public function setEnabledOut($value) + public function writeAt($arg_offset, $arg_data, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabledOut = (bool)$value; - } - else - { - $request->enabledOut = (bool)$value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setEnabledOut', array((array)$request)); + $request->offset = $arg_offset; + $request->data = $arg_data; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IFile_writeAt', array((array)$request)); + return (float)$response->returnval; } - public function getAudioController() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getAudioController', array((array)$request)); - return new AudioControllerType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFile_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function setAudioController($value) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->audioController = $value; - } - else - { - $request->audioController = $value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setAudioController', array((array)$request)); + $response = $this->connection->__soapCall('IFile_getId', array((array)$request)); + return (float)$response->returnval; } - public function getAudioCodec() + public function getInitialSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getAudioCodec', array((array)$request)); - return new AudioCodecType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFile_getInitialSize', array((array)$request)); + return (float)$response->returnval; } - public function setAudioCodec($value) + public function getOffset() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->audioCodec = $value; - } - else - { - $request->audioCodec = $value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setAudioCodec', array((array)$request)); + $response = $this->connection->__soapCall('IFile_getOffset', array((array)$request)); + return (float)$response->returnval; } - public function getAudioDriver() + public function getStatus() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getAudioDriver', array((array)$request)); - return new AudioDriverType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFile_getStatus', array((array)$request)); + return new FileStatus ($this->connection, $response->returnval); } - public function setAudioDriver($value) + public function getFilename() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->audioDriver = $value; - } - else - { - $request->audioDriver = $value->handle; - } - $this->connection->__soapCall('IAudioAdapter_setAudioDriver', array((array)$request)); + $response = $this->connection->__soapCall('IFile_getFilename', array((array)$request)); + return (string)$response->returnval; } - public function getPropertiesList() + public function getCreationMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAudioAdapter_getPropertiesList', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IFile_getCreationMode', array((array)$request)); + return (float)$response->returnval; } -} -/** + public function getOpenAction() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFile_getOpenAction', array((array)$request)); + return new FileOpenAction ($this->connection, $response->returnval); + } + + public function getAccessMode() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFile_getAccessMode', array((array)$request)); + return new FileAccessMode ($this->connection, $response->returnval); + } +} + +/** * Generated VBoxWebService Managed Object Collection */ -class IAudioAdapterCollection extends VBox_ManagedObjectCollection +class IFileCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IAudioAdapter"; + protected $_interfaceName = "IFile"; } /** * Generated VBoxWebService Interface Wrapper */ -class IVRDEServer extends VBox_ManagedObject +class IGuestFile extends IFile { - public function setVRDEProperty($arg_key, $arg_value) + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $request->key = $arg_key; - $request->value = $arg_value; - $response = $this->connection->__soapCall('IVRDEServer_setVRDEProperty', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IGuestFile_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } +} - public function getVRDEProperty($arg_key) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->key = $arg_key; - $response = $this->connection->__soapCall('IVRDEServer_getVRDEProperty', array((array)$request)); - return (string)$response->returnval; - } +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFile"; +} - public function getEnabled() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getEnabled', array((array)$request)); - return (bool)$response->returnval; - } +/** + * Generated VBoxWebService Interface Wrapper + */ +class IFsInfo extends VBox_ManagedObject +{ - public function setEnabled($value) + public function getFreeSize() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->enabled = (bool)$value; - } - else - { - $request->enabled = (bool)$value->handle; - } - $this->connection->__soapCall('IVRDEServer_setEnabled', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getFreeSize', array((array)$request)); + return (float)$response->returnval; } - public function getAuthType() + public function getTotalSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getAuthType', array((array)$request)); - return new AuthType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsInfo_getTotalSize', array((array)$request)); + return (float)$response->returnval; } - public function setAuthType($value) + public function getBlockSize() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->authType = $value; - } - else - { - $request->authType = $value->handle; - } - $this->connection->__soapCall('IVRDEServer_setAuthType', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getBlockSize', array((array)$request)); + return (float)$response->returnval; } - public function getAuthTimeout() + public function getSectorSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getAuthTimeout', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getSectorSize', array((array)$request)); return (float)$response->returnval; } - public function setAuthTimeout($value) + public function getSerialNumber() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->authTimeout = $value; - } - else - { - $request->authTimeout = $value->handle; - } - $this->connection->__soapCall('IVRDEServer_setAuthTimeout', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getSerialNumber', array((array)$request)); + return (float)$response->returnval; } - public function getAllowMultiConnection() + public function getIsRemote() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getAllowMultiConnection', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getIsRemote', array((array)$request)); return (bool)$response->returnval; } - public function setAllowMultiConnection($value) + public function getIsCaseSensitive() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->allowMultiConnection = (bool)$value; - } - else - { - $request->allowMultiConnection = (bool)$value->handle; - } - $this->connection->__soapCall('IVRDEServer_setAllowMultiConnection', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getIsCaseSensitive', array((array)$request)); + return (bool)$response->returnval; } - public function getReuseSingleConnection() + public function getIsReadOnly() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getReuseSingleConnection', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getIsReadOnly', array((array)$request)); return (bool)$response->returnval; } - public function setReuseSingleConnection($value) + public function getIsCompressed() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->reuseSingleConnection = (bool)$value; - } - else - { - $request->reuseSingleConnection = (bool)$value->handle; - } - $this->connection->__soapCall('IVRDEServer_setReuseSingleConnection', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getIsCompressed', array((array)$request)); + return (bool)$response->returnval; } - public function getVRDEExtPack() + public function getSupportsFileCompression() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getVRDEExtPack', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IFsInfo_getSupportsFileCompression', array((array)$request)); + return (bool)$response->returnval; } - public function setVRDEExtPack($value) + public function getMaxComponent() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->VRDEExtPack = $value; - } - else - { - $request->VRDEExtPack = $value->handle; - } - $this->connection->__soapCall('IVRDEServer_setVRDEExtPack', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getMaxComponent', array((array)$request)); + return (float)$response->returnval; } - public function getAuthLibrary() + public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getAuthLibrary', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getType', array((array)$request)); return (string)$response->returnval; } - public function setAuthLibrary($value) + public function getLabel() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->authLibrary = $value; - } - else - { - $request->authLibrary = $value->handle; - } - $this->connection->__soapCall('IVRDEServer_setAuthLibrary', array((array)$request)); + $response = $this->connection->__soapCall('IFsInfo_getLabel', array((array)$request)); + return (string)$response->returnval; } - public function getVRDEProperties() + public function getMountPoint() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServer_getVRDEProperties', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IFsInfo_getMountPoint', array((array)$request)); + return (string)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IVRDEServerCollection extends VBox_ManagedObjectCollection +class IFsInfoCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IVRDEServer"; + protected $_interfaceName = "IFsInfo"; } /** * Generated VBoxWebService Interface Wrapper */ -class ISession extends VBox_ManagedObject +class IFsObjInfo extends VBox_ManagedObject { - public function unlockMachine() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_unlockMachine', array((array)$request)); - return ; - } - - public function getState() + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_getState', array((array)$request)); - return new SessionState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsObjInfo_getName', array((array)$request)); + return (string)$response->returnval; } public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_getType', array((array)$request)); - return new SessionType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsObjInfo_getType', array((array)$request)); + return new FsObjType ($this->connection, $response->returnval); } - public function getName() + public function getFileAttributes() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_getName', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getFileAttributes', array((array)$request)); return (string)$response->returnval; } - public function setName($value) + public function getObjectSize() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('ISession_setName', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getObjectSize', array((array)$request)); + return (float)$response->returnval; } - public function getMachine() + public function getAllocatedSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_getMachine', array((array)$request)); - return new IMachine ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsObjInfo_getAllocatedSize', array((array)$request)); + return (float)$response->returnval; } - public function getConsole() + public function getAccessTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISession_getConsole', array((array)$request)); - return new IConsole ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsObjInfo_getAccessTime', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISessionCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISession"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IStorageController extends VBox_ManagedObject -{ - public function getName() + public function getBirthTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getBirthTime', array((array)$request)); + return (float)$response->returnval; } - public function setName($value) + public function getChangeTime() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->name = $value; - } - else - { - $request->name = $value->handle; - } - $this->connection->__soapCall('IStorageController_setName', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getChangeTime', array((array)$request)); + return (float)$response->returnval; } - public function getMaxDevicesPerPortCount() + public function getModificationTime() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getMaxDevicesPerPortCount', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getModificationTime', array((array)$request)); return (float)$response->returnval; } - public function getMinPortCount() + public function getUID() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getMinPortCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getUID', array((array)$request)); + return (int)$response->returnval; } - public function getMaxPortCount() + public function getUserName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getMaxPortCount', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getUserName', array((array)$request)); + return (string)$response->returnval; } - public function getInstance() + public function getGID() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getInstance', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getGID', array((array)$request)); + return (int)$response->returnval; } - public function setInstance($value) + public function getGroupName() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->instance = $value; - } - else - { - $request->instance = $value->handle; - } - $this->connection->__soapCall('IStorageController_setInstance', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getGroupName', array((array)$request)); + return (string)$response->returnval; } - public function getPortCount() + public function getNodeId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getPortCount', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getNodeId', array((array)$request)); return (float)$response->returnval; } - public function setPortCount($value) - { - $request = new stdClass(); - $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->portCount = $value; - } - else - { - $request->portCount = $value->handle; - } - $this->connection->__soapCall('IStorageController_setPortCount', array((array)$request)); - } - - public function getBus() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getBus', array((array)$request)); - return new StorageBus ($this->connection, $response->returnval); - } - - public function getControllerType() + public function getNodeIdDevice() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getControllerType', array((array)$request)); - return new StorageControllerType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFsObjInfo_getNodeIdDevice', array((array)$request)); + return (float)$response->returnval; } - public function setControllerType($value) + public function getHardLinks() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->controllerType = $value; - } - else - { - $request->controllerType = $value->handle; - } - $this->connection->__soapCall('IStorageController_setControllerType', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getHardLinks', array((array)$request)); + return (float)$response->returnval; } - public function getUseHostIOCache() + public function getDeviceNumber() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getUseHostIOCache', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getDeviceNumber', array((array)$request)); + return (float)$response->returnval; } - public function setUseHostIOCache($value) + public function getGenerationId() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->useHostIOCache = (bool)$value; - } - else - { - $request->useHostIOCache = (bool)$value->handle; - } - $this->connection->__soapCall('IStorageController_setUseHostIOCache', array((array)$request)); + $response = $this->connection->__soapCall('IFsObjInfo_getGenerationId', array((array)$request)); + return (float)$response->returnval; } - public function getBootable() + public function getUserFlags() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageController_getBootable', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IFsObjInfo_getUserFlags', array((array)$request)); + return (float)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IStorageControllerCollection extends VBox_ManagedObjectCollection +class IFsObjInfoCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IStorageController"; + protected $_interfaceName = "IFsObjInfo"; } /** * Generated VBoxWebService Interface Wrapper */ -class IManagedObjectRef extends VBox_ManagedObject +class IGuestFsInfo extends IFsInfo { - public function getInterfaceName() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IManagedObjectRef_getInterfaceName', array((array)$request)); - return (string)$response->returnval; - } - - public function release() + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IManagedObjectRef_release', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IGuestFsInfo_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IManagedObjectRefCollection extends VBox_ManagedObjectCollection +class IGuestFsInfoCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IManagedObjectRef"; + protected $_interfaceName = "IGuestFsInfo"; } /** * Generated VBoxWebService Interface Wrapper */ -class IWebsessionManager extends VBox_ManagedObject +class IGuestFsObjInfo extends IFsObjInfo { - public function logon($arg_username, $arg_password) - { - $request = new stdClass(); - - $request->username = $arg_username; - $request->password = $arg_password; - $response = $this->connection->__soapCall('IWebsessionManager_logon', array((array)$request)); - return new IVirtualBox ($this->connection, $response->returnval); - } - - public function getSessionObject($arg_refIVirtualBox) - { - $request = new stdClass(); - - $request->refIVirtualBox = $arg_refIVirtualBox; - $response = $this->connection->__soapCall('IWebsessionManager_getSessionObject', array((array)$request)); - return new ISession ($this->connection, $response->returnval); - } - - public function logoff($arg_refIVirtualBox) + public function getMidlDoesNotLikeEmptyInterfaces() { $request = new stdClass(); - - $request->refIVirtualBox = $arg_refIVirtualBox; - $response = $this->connection->__soapCall('IWebsessionManager_logoff', array((array)$request)); - return ; + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFsObjInfo_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IWebsessionManagerCollection extends VBox_ManagedObjectCollection +class IGuestFsObjInfoCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IWebsessionManager"; + protected $_interfaceName = "IGuestFsObjInfo"; } /** * Generated VBoxWebService Interface Wrapper */ -class IPerformanceMetric extends VBox_ManagedObject +class IGuest extends VBox_ManagedObject { - public function getMetricName() + public function internalGetStatistics() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getMetricName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuest_internalGetStatistics', array((array)$request)); + return array((float)$response->cpuUser, (float)$response->cpuKernel, (float)$response->cpuIdle, (float)$response->memTotal, (float)$response->memFree, (float)$response->memBalloon, (float)$response->memShared, (float)$response->memCache, (float)$response->pagedTotal, (float)$response->memAllocTotal, (float)$response->memFreeTotal, (float)$response->memBalloonTotal, (float)$response->memSharedTotal); } - public function getObject() + public function getFacilityStatus($arg_facility) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getObject', array((array)$request)); - return new VBox_ManagedObject ($this->connection, $response->returnval); + $request->facility = $arg_facility; + $response = $this->connection->__soapCall('IGuest_getFacilityStatus', array((array)$request)); + return array(new AdditionsFacilityStatus ($this->connection, $response->returnval), (float)$response->timestamp); } - public function getDescription() + public function getAdditionsStatus($arg_level) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getDescription', array((array)$request)); - return (string)$response->returnval; + $request->level = $arg_level; + $response = $this->connection->__soapCall('IGuest_getAdditionsStatus', array((array)$request)); + return (bool)$response->returnval; } - public function getPeriod() + public function setCredentials($arg_userName, $arg_password, $arg_domain, $arg_allowInteractiveLogon) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getPeriod', array((array)$request)); - return (float)$response->returnval; + $request->userName = $arg_userName; + $request->password = $arg_password; + $request->domain = $arg_domain; + $request->allowInteractiveLogon = $arg_allowInteractiveLogon; + $response = $this->connection->__soapCall('IGuest_setCredentials', array((array)$request)); + return ; } - public function getCount() + public function createSession($arg_user, $arg_password, $arg_domain, $arg_sessionName) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getCount', array((array)$request)); - return (float)$response->returnval; + $request->user = $arg_user; + $request->password = $arg_password; + $request->domain = $arg_domain; + $request->sessionName = $arg_sessionName; + $response = $this->connection->__soapCall('IGuest_createSession', array((array)$request)); + return new IGuestSession ($this->connection, $response->returnval); } - public function getUnit() + public function findSession($arg_sessionName) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getUnit', array((array)$request)); - return (string)$response->returnval; + $request->sessionName = $arg_sessionName; + $response = $this->connection->__soapCall('IGuest_findSession', array((array)$request)); + return new IGuestSessionCollection ($this->connection, (array)$response->returnval); } - public function getMinimumValue() + public function shutdown($arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getMinimumValue', array((array)$request)); - return (int)$response->returnval; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuest_shutdown', array((array)$request)); + return ; } - public function getMaximumValue() + public function updateGuestAdditions($arg_source, $arg_arguments, $arg_flags) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceMetric_getMaximumValue', array((array)$request)); - return (int)$response->returnval; + $request->source = $arg_source; + $request->arguments = $arg_arguments; + $request->flags = $arg_flags; + $response = $this->connection->__soapCall('IGuest_updateGuestAdditions', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IPerformanceMetricCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IPerformanceMetric"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IPerformanceCollector extends VBox_ManagedObject -{ - public function getMetrics($arg_metricNames, $arg_objects) + public function getOSTypeId() { $request = new stdClass(); $request->_this = $this->handle; - $request->metricNames = $arg_metricNames; - $request->objects = $arg_objects; - $response = $this->connection->__soapCall('IPerformanceCollector_getMetrics', array((array)$request)); - return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IGuest_getOSTypeId', array((array)$request)); + return (string)$response->returnval; } - public function setupMetrics($arg_metricNames, $arg_objects, $arg_period, $arg_count) + public function getAdditionsRunLevel() { $request = new stdClass(); $request->_this = $this->handle; - $request->metricNames = $arg_metricNames; - $request->objects = $arg_objects; - $request->period = $arg_period; - $request->count = $arg_count; - $response = $this->connection->__soapCall('IPerformanceCollector_setupMetrics', array((array)$request)); - return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IGuest_getAdditionsRunLevel', array((array)$request)); + return new AdditionsRunLevelType ($this->connection, $response->returnval); } - public function enableMetrics($arg_metricNames, $arg_objects) + public function getAdditionsVersion() { $request = new stdClass(); $request->_this = $this->handle; - $request->metricNames = $arg_metricNames; - $request->objects = $arg_objects; - $response = $this->connection->__soapCall('IPerformanceCollector_enableMetrics', array((array)$request)); - return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IGuest_getAdditionsVersion', array((array)$request)); + return (string)$response->returnval; } - public function disableMetrics($arg_metricNames, $arg_objects) + public function getAdditionsRevision() { $request = new stdClass(); $request->_this = $this->handle; - $request->metricNames = $arg_metricNames; - $request->objects = $arg_objects; - $response = $this->connection->__soapCall('IPerformanceCollector_disableMetrics', array((array)$request)); - return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + $response = $this->connection->__soapCall('IGuest_getAdditionsRevision', array((array)$request)); + return (float)$response->returnval; } - public function queryMetricsData($arg_metricNames, $arg_objects) + public function getDnDSource() { $request = new stdClass(); $request->_this = $this->handle; - $request->metricNames = $arg_metricNames; - $request->objects = $arg_objects; - $response = $this->connection->__soapCall('IPerformanceCollector_queryMetricsData', array((array)$request)); - return array((array)$response->returnval, (array)$response->returnMetricNames, new VBox_ManagedObjectCollection ($this->connection, (array)$response->returnObjects), (array)$response->returnUnits, (array)$response->returnScales, (array)$response->returnSequenceNumbers, (array)$response->returnDataIndices, (array)$response->returnDataLengths); - } - - public function getMetricNames() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IPerformanceCollector_getMetricNames', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IGuest_getDnDSource', array((array)$request)); + return new IGuestDnDSource ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IPerformanceCollectorCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IPerformanceCollector"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATEngine extends VBox_ManagedObject -{ - public function setNetworkSettings($arg_mtu, $arg_sockSnd, $arg_sockRcv, $arg_TcpWndSnd, $arg_TcpWndRcv) + public function getDnDTarget() { $request = new stdClass(); $request->_this = $this->handle; - $request->mtu = $arg_mtu; - $request->sockSnd = $arg_sockSnd; - $request->sockRcv = $arg_sockRcv; - $request->TcpWndSnd = $arg_TcpWndSnd; - $request->TcpWndRcv = $arg_TcpWndRcv; - $response = $this->connection->__soapCall('INATEngine_setNetworkSettings', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IGuest_getDnDTarget', array((array)$request)); + return new IGuestDnDTarget ($this->connection, $response->returnval); } - public function getNetworkSettings() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getNetworkSettings', array((array)$request)); - return array((float)$response->mtu, (float)$response->sockSnd, (float)$response->sockRcv, (float)$response->TcpWndSnd, (float)$response->TcpWndRcv); + $response = $this->connection->__soapCall('IGuest_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } - public function addRedirect($arg_name, $arg_proto, $arg_hostIP, $arg_hostPort, $arg_guestIP, $arg_guestPort) + public function getFacilities() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $request->proto = $arg_proto; - $request->hostIP = $arg_hostIP; - $request->hostPort = $arg_hostPort; - $request->guestIP = $arg_guestIP; - $request->guestPort = $arg_guestPort; - $response = $this->connection->__soapCall('INATEngine_addRedirect', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IGuest_getFacilities', array((array)$request)); + return new IAdditionsFacilityCollection ($this->connection, (array)$response->returnval); } - public function removeRedirect($arg_name) + public function getSessions() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('INATEngine_removeRedirect', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IGuest_getSessions', array((array)$request)); + return new IGuestSessionCollection ($this->connection, (array)$response->returnval); } - public function getNetwork() + public function getMemoryBalloonSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getNetwork', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuest_getMemoryBalloonSize', array((array)$request)); + return (float)$response->returnval; } - public function setNetwork($value) + public function setMemoryBalloonSize($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->network = $value; + $request->memoryBalloonSize = $value; } else { - $request->network = $value->handle; + $request->memoryBalloonSize = $value->handle; } - $this->connection->__soapCall('INATEngine_setNetwork', array((array)$request)); + $this->connection->__soapCall('IGuest_setMemoryBalloonSize', array((array)$request)); } - public function getHostIP() + public function getStatisticsUpdateInterval() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getHostIP', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuest_getStatisticsUpdateInterval', array((array)$request)); + return (float)$response->returnval; } - public function setHostIP($value) + public function setStatisticsUpdateInterval($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->hostIP = $value; + $request->statisticsUpdateInterval = $value; } else { - $request->hostIP = $value->handle; + $request->statisticsUpdateInterval = $value->handle; } - $this->connection->__soapCall('INATEngine_setHostIP', array((array)$request)); + $this->connection->__soapCall('IGuest_setStatisticsUpdateInterval', array((array)$request)); } +} - public function getTFTPPrefix() +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuest"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IProgress extends VBox_ManagedObject +{ + + public function waitForCompletion($arg_timeout) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getTFTPPrefix', array((array)$request)); - return (string)$response->returnval; + $request->timeout = $arg_timeout; + $response = $this->connection->__soapCall('IProgress_waitForCompletion', array((array)$request)); + return ; } - public function setTFTPPrefix($value) + public function waitForOperationCompletion($arg_operation, $arg_timeout) { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->TFTPPrefix = $value; - } - else - { - $request->TFTPPrefix = $value->handle; - } - $this->connection->__soapCall('INATEngine_setTFTPPrefix', array((array)$request)); + $request->operation = $arg_operation; + $request->timeout = $arg_timeout; + $response = $this->connection->__soapCall('IProgress_waitForOperationCompletion', array((array)$request)); + return ; } - public function getTFTPBootFile() + public function cancel() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getTFTPBootFile', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IProgress_cancel', array((array)$request)); + return ; } - public function setTFTPBootFile($value) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->TFTPBootFile = $value; - } - else - { - $request->TFTPBootFile = $value->handle; - } - $this->connection->__soapCall('INATEngine_setTFTPBootFile', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getId', array((array)$request)); + return (string)$response->returnval; } - public function getTFTPNextServer() + public function getDescription() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getTFTPNextServer', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getDescription', array((array)$request)); return (string)$response->returnval; } - public function setTFTPNextServer($value) + public function getInitiator() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->TFTPNextServer = $value; - } - else - { - $request->TFTPNextServer = $value->handle; - } - $this->connection->__soapCall('INATEngine_setTFTPNextServer', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getInitiator', array((array)$request)); + return new VBox_ManagedObject ($this->connection, $response->returnval); } - public function getAliasMode() + public function getCancelable() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getAliasMode', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IProgress_getCancelable', array((array)$request)); + return (bool)$response->returnval; } - public function setAliasMode($value) + public function getPercent() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->aliasMode = $value; - } - else - { - $request->aliasMode = $value->handle; - } - $this->connection->__soapCall('INATEngine_setAliasMode', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getPercent', array((array)$request)); + return (float)$response->returnval; } - public function getDNSPassDomain() + public function getTimeRemaining() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getDNSPassDomain', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IProgress_getTimeRemaining', array((array)$request)); + return (int)$response->returnval; } - public function setDNSPassDomain($value) + public function getCompleted() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->DNSPassDomain = (bool)$value; - } - else - { - $request->DNSPassDomain = (bool)$value->handle; - } - $this->connection->__soapCall('INATEngine_setDNSPassDomain', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getCompleted', array((array)$request)); + return (bool)$response->returnval; } - public function getDNSProxy() + public function getCanceled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getDNSProxy', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getCanceled', array((array)$request)); return (bool)$response->returnval; } - public function setDNSProxy($value) + public function getResultCode() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->DNSProxy = (bool)$value; - } - else - { - $request->DNSProxy = (bool)$value->handle; - } - $this->connection->__soapCall('INATEngine_setDNSProxy', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getResultCode', array((array)$request)); + return (int)$response->returnval; } - public function getDNSUseHostResolver() + public function getErrorInfo() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getDNSUseHostResolver', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IProgress_getErrorInfo', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); } - public function setDNSUseHostResolver($value) + public function getOperationCount() { $request = new stdClass(); $request->_this = $this->handle; - if (is_null($value) || is_scalar($value)) - { - $request->DNSUseHostResolver = (bool)$value; - } - else - { - $request->DNSUseHostResolver = (bool)$value->handle; - } - $this->connection->__soapCall('INATEngine_setDNSUseHostResolver', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getOperationCount', array((array)$request)); + return (float)$response->returnval; } - public function getRedirects() + public function getOperation() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATEngine_getRedirects', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IProgress_getOperation', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATEngineCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATEngine"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IBandwidthGroup extends VBox_ManagedObject -{ - public function getName() + public function getOperationDescription() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthGroup_getName', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getOperationDescription', array((array)$request)); return (string)$response->returnval; } - public function getType() + public function getOperationPercent() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthGroup_getType', array((array)$request)); - return new BandwidthGroupType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IProgress_getOperationPercent', array((array)$request)); + return (float)$response->returnval; } - public function getReference() + public function getOperationWeight() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthGroup_getReference', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getOperationWeight', array((array)$request)); return (float)$response->returnval; } - public function getMaxBytesPerSec() + public function getTimeout() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthGroup_getMaxBytesPerSec', array((array)$request)); + $response = $this->connection->__soapCall('IProgress_getTimeout', array((array)$request)); return (float)$response->returnval; } - public function setMaxBytesPerSec($value) + public function setTimeout($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->maxBytesPerSec = $value; + $request->timeout = $value; } else { - $request->maxBytesPerSec = $value->handle; + $request->timeout = $value->handle; } - $this->connection->__soapCall('IBandwidthGroup_setMaxBytesPerSec', array((array)$request)); + $this->connection->__soapCall('IProgress_setTimeout', array((array)$request)); + } + + public function getEventSource() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IProgress_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IBandwidthGroupCollection extends VBox_ManagedObjectCollection +class IProgressCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IBandwidthGroup"; + protected $_interfaceName = "IProgress"; } /** * Generated VBoxWebService Interface Wrapper */ -class IBandwidthControl extends VBox_ManagedObject +class ISnapshot extends VBox_ManagedObject { - public function createBandwidthGroup($arg_name, $arg_type, $arg_maxBytesPerSec) - { - $request = new stdClass(); - $request->_this = $this->handle; - $request->name = $arg_name; - $request->type = $arg_type; - $request->maxBytesPerSec = $arg_maxBytesPerSec; - $response = $this->connection->__soapCall('IBandwidthControl_createBandwidthGroup', array((array)$request)); - return ; - } - - public function deleteBandwidthGroup($arg_name) + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IBandwidthControl_deleteBandwidthGroup', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISnapshot_getId', array((array)$request)); + return (string)$response->returnval; } - public function getBandwidthGroup($arg_name) + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $request->name = $arg_name; - $response = $this->connection->__soapCall('IBandwidthControl_getBandwidthGroup', array((array)$request)); - return new IBandwidthGroup ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISnapshot_getName', array((array)$request)); + return (string)$response->returnval; } - public function getAllBandwidthGroups() + public function setName($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthControl_getAllBandwidthGroups', array((array)$request)); - return new IBandwidthGroupCollection ($this->connection, (array)$response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('ISnapshot_setName', array((array)$request)); } - public function getNumGroups() + public function getDescription() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthControl_getNumGroups', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('ISnapshot_getDescription', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IBandwidthControlCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IBandwidthControl"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IEventSource extends VBox_ManagedObject -{ - public function createListener() + public function setDescription($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEventSource_createListener', array((array)$request)); - return new IEventListener ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->description = $value; + } + else + { + $request->description = $value->handle; + } + $this->connection->__soapCall('ISnapshot_setDescription', array((array)$request)); } - public function createAggregator($arg_subordinates) + public function getTimeStamp() { $request = new stdClass(); $request->_this = $this->handle; - $request->subordinates = $arg_subordinates; - $response = $this->connection->__soapCall('IEventSource_createAggregator', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISnapshot_getTimeStamp', array((array)$request)); + return (float)$response->returnval; } - public function registerListener($arg_listener, $arg_interesting, $arg_active) + public function getOnline() { $request = new stdClass(); $request->_this = $this->handle; - $request->listener = $arg_listener; - $request->interesting = $arg_interesting; - $request->active = (bool)$arg_active; - $response = $this->connection->__soapCall('IEventSource_registerListener', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISnapshot_getOnline', array((array)$request)); + return (bool)$response->returnval; } - public function unregisterListener($arg_listener) + public function getMachine() { $request = new stdClass(); $request->_this = $this->handle; - $request->listener = $arg_listener; - $response = $this->connection->__soapCall('IEventSource_unregisterListener', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISnapshot_getMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); } - public function fireEvent($arg_event, $arg_timeout) + public function getParent() { $request = new stdClass(); $request->_this = $this->handle; - $request->event = $arg_event; - $request->timeout = $arg_timeout; - $response = $this->connection->__soapCall('IEventSource_fireEvent', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISnapshot_getParent', array((array)$request)); + return new ISnapshot ($this->connection, $response->returnval); } - public function getEvent($arg_listener, $arg_timeout) + public function getChildren() { $request = new stdClass(); $request->_this = $this->handle; - $request->listener = $arg_listener; - $request->timeout = $arg_timeout; - $response = $this->connection->__soapCall('IEventSource_getEvent', array((array)$request)); - return new IEvent ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('ISnapshot_getChildren', array((array)$request)); + return new ISnapshotCollection ($this->connection, (array)$response->returnval); } - public function eventProcessed($arg_listener, $arg_event) + public function getChildrenCount() { $request = new stdClass(); $request->_this = $this->handle; - $request->listener = $arg_listener; - $request->event = $arg_event; - $response = $this->connection->__soapCall('IEventSource_eventProcessed', array((array)$request)); - return ; + $response = $this->connection->__soapCall('ISnapshot_getChildrenCount', array((array)$request)); + return (float)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IEventSourceCollection extends VBox_ManagedObjectCollection +class ISnapshotCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IEventSource"; + protected $_interfaceName = "ISnapshot"; } /** * Generated VBoxWebService Interface Wrapper */ -class IEventListener extends VBox_ManagedObject +class IMedium extends VBox_ManagedObject { - public function handleEvent($arg_event) + public function setIds($arg_setImageId, $arg_imageId, $arg_setParentId, $arg_parentId) { $request = new stdClass(); $request->_this = $this->handle; - $request->event = $arg_event; - $response = $this->connection->__soapCall('IEventListener_handleEvent', array((array)$request)); + $request->setImageId = $arg_setImageId; + $request->imageId = $arg_imageId; + $request->setParentId = $arg_setParentId; + $request->parentId = $arg_parentId; + $response = $this->connection->__soapCall('IMedium_setIds', array((array)$request)); return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IEventListenerCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IEventListener"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IEvent extends VBox_ManagedObject -{ - public function setProcessed() + public function refreshState() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEvent_setProcessed', array((array)$request)); - return ; + $response = $this->connection->__soapCall('IMedium_refreshState', array((array)$request)); + return new MediumState ($this->connection, $response->returnval); } - public function waitProcessed($arg_timeout) + public function getSnapshotIds($arg_machineId) { $request = new stdClass(); $request->_this = $this->handle; - $request->timeout = $arg_timeout; - $response = $this->connection->__soapCall('IEvent_waitProcessed', array((array)$request)); - return (bool)$response->returnval; + $request->machineId = $arg_machineId; + $response = $this->connection->__soapCall('IMedium_getSnapshotIds', array((array)$request)); + return (array)$response->returnval; } - public function getType() + public function lockRead() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEvent_getType', array((array)$request)); - return new VBoxEventType ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMedium_lockRead', array((array)$request)); + return new IToken ($this->connection, $response->returnval); } - public function getSource() + public function lockWrite() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEvent_getSource', array((array)$request)); - return new IEventSource ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMedium_lockWrite', array((array)$request)); + return new IToken ($this->connection, $response->returnval); } - public function getWaitable() + public function close() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEvent_getWaitable', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_close', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IReusableEvent extends IEvent -{ + public function getProperty($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMedium_getProperty', array((array)$request)); + return (string)$response->returnval; + } - public function reuse() + public function setProperty($arg_name, $arg_value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IReusableEvent_reuse', array((array)$request)); + $request->name = $arg_name; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IMedium_setProperty', array((array)$request)); return ; } - public function getGeneration() + public function getProperties($arg_names) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IReusableEvent_getGeneration', array((array)$request)); - return (float)$response->returnval; + $request->names = $arg_names; + $response = $this->connection->__soapCall('IMedium_getProperties', array((array)$request)); + return array((array)$response->returnval, (array)$response->returnNames); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IReusableEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IReusableEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMachineEvent extends IEvent -{ - - public function getMachineId() + public function setProperties($arg_names, $arg_values) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineEvent_getMachineId', array((array)$request)); - return (string)$response->returnval; + $request->names = $arg_names; + $request->values = $arg_values; + $response = $this->connection->__soapCall('IMedium_setProperties', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachineEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMachineStateChangedEvent extends IMachineEvent -{ - public function getState() + public function createBaseStorage($arg_logicalSize, $arg_variant) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineStateChangedEvent_getState', array((array)$request)); - return new MachineState ($this->connection, $response->returnval); + $request->logicalSize = $arg_logicalSize; + $request->variant = $arg_variant; + $response = $this->connection->__soapCall('IMedium_createBaseStorage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachineStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMachineDataChangedEvent extends IMachineEvent -{ - public function getTemporary() + public function deleteStorage() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineDataChangedEvent_getTemporary', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_deleteStorage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineDataChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachineDataChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMediumRegisteredEvent extends IEvent -{ - public function getMediumId() + public function createDiffStorage($arg_target, $arg_variant) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumRegisteredEvent_getMediumId', array((array)$request)); - return (string)$response->returnval; + $request->target = $arg_target; + $request->variant = $arg_variant; + $response = $this->connection->__soapCall('IMedium_createDiffStorage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getMediumType() + public function mergeTo($arg_target) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumRegisteredEvent_getMediumType', array((array)$request)); - return new DeviceType ($this->connection, $response->returnval); + $request->target = $arg_target; + $response = $this->connection->__soapCall('IMedium_mergeTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getRegistered() + public function cloneTo($arg_target, $arg_variant, $arg_parent) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumRegisteredEvent_getRegistered', array((array)$request)); - return (bool)$response->returnval; + $request->target = $arg_target; + $request->variant = $arg_variant; + $request->parent = $arg_parent; + $response = $this->connection->__soapCall('IMedium_cloneTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMediumRegisteredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMediumRegisteredEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMediumConfigChangedEvent extends IEvent -{ - public function getMedium() + public function cloneToBase($arg_target, $arg_variant) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumConfigChangedEvent_getMedium', array((array)$request)); - return new IMedium ($this->connection, $response->returnval); + $request->target = $arg_target; + $request->variant = $arg_variant; + $response = $this->connection->__soapCall('IMedium_cloneToBase', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMediumConfigChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMediumConfigChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMachineRegisteredEvent extends IMachineEvent -{ - public function getRegistered() + public function moveTo($arg_location) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMachineRegisteredEvent_getRegistered', array((array)$request)); - return (bool)$response->returnval; + $request->location = $arg_location; + $response = $this->connection->__soapCall('IMedium_moveTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMachineRegisteredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMachineRegisteredEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISessionStateChangedEvent extends IMachineEvent -{ - public function getState() + public function compact() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISessionStateChangedEvent_getState', array((array)$request)); - return new SessionState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMedium_compact', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISessionStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISessionStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestPropertyChangedEvent extends IMachineEvent -{ - public function getName() + public function resize($arg_logicalSize) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getName', array((array)$request)); - return (string)$response->returnval; + $request->logicalSize = $arg_logicalSize; + $response = $this->connection->__soapCall('IMedium_resize', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getValue() + public function reset() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getValue', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMedium_reset', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getFlags() + public function changeEncryption($arg_currentPassword, $arg_cipher, $arg_newPassword, $arg_newPasswordId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getFlags', array((array)$request)); - return (string)$response->returnval; + $request->currentPassword = $arg_currentPassword; + $request->cipher = $arg_cipher; + $request->newPassword = $arg_newPassword; + $request->newPasswordId = $arg_newPasswordId; + $response = $this->connection->__soapCall('IMedium_changeEncryption', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestPropertyChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestPropertyChangedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISnapshotEvent extends IMachineEvent -{ - - public function getSnapshotId() + public function getEncryptionSettings() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshotEvent_getSnapshotId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getEncryptionSettings', array((array)$request)); + return array((string)$response->returnval, (string)$response->cipher); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshotEvent"; -} + public function checkEncryptionPassword($arg_password) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IMedium_checkEncryptionPassword', array((array)$request)); + return ; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISnapshotTakenEvent extends ISnapshotEvent -{ + public function openForIO($arg_writable, $arg_password) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->writable = $arg_writable; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IMedium_openForIO', array((array)$request)); + return new IMediumIO ($this->connection, $response->returnval); + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function resizeAndCloneTo($arg_target, $arg_logicalSize, $arg_variant, $arg_parent) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshotTakenEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $request->target = $arg_target; + $request->logicalSize = $arg_logicalSize; + $request->variant = $arg_variant; + $request->parent = $arg_parent; + $response = $this->connection->__soapCall('IMedium_resizeAndCloneTo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotTakenEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshotTakenEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISnapshotDeletedEvent extends ISnapshotEvent -{ - - public function getMidlDoesNotLikeEmptyInterfaces() + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshotDeletedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getId', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotDeletedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshotDeletedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISnapshotRestoredEvent extends ISnapshotEvent -{ + public function getDescription() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getDescription', array((array)$request)); + return (string)$response->returnval; + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function setDescription($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshotRestoredEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->description = $value; + } + else + { + $request->description = $value->handle; + } + $this->connection->__soapCall('IMedium_setDescription', array((array)$request)); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotRestoredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshotRestoredEvent"; -} + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getState', array((array)$request)); + return new MediumState ($this->connection, $response->returnval); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISnapshotChangedEvent extends ISnapshotEvent -{ + public function getVariant() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getVariant', array((array)$request)); + return new MediumVariantCollection ($this->connection, (array)$response->returnval); + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function getLocation() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISnapshotChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getLocation', array((array)$request)); + return (string)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISnapshotChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISnapshotChangedEvent"; -} + public function setLocation($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->location = $value; + } + else + { + $request->location = $value->handle; + } + $this->connection->__soapCall('IMedium_setLocation', array((array)$request)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMousePointerShapeChangedEvent extends IEvent -{ + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getName', array((array)$request)); + return (string)$response->returnval; + } - public function getVisible() + public function getDeviceType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getVisible', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getDeviceType', array((array)$request)); + return new DeviceType ($this->connection, $response->returnval); } - public function getAlpha() + public function getHostDrive() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getAlpha', array((array)$request)); + $response = $this->connection->__soapCall('IMedium_getHostDrive', array((array)$request)); return (bool)$response->returnval; } - public function getXhot() + public function getSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getXhot', array((array)$request)); + $response = $this->connection->__soapCall('IMedium_getSize', array((array)$request)); return (float)$response->returnval; } - public function getYhot() + public function getFormat() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getYhot', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getFormat', array((array)$request)); + return (string)$response->returnval; } - public function getWidth() + public function getMediumFormat() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getWidth', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getMediumFormat', array((array)$request)); + return new IMediumFormat ($this->connection, $response->returnval); } - public function getHeight() + public function getType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getHeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getType', array((array)$request)); + return new MediumType ($this->connection, $response->returnval); } - public function getShape() + public function setType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getShape', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->type = $value; + } + else + { + $request->type = $value->handle; + } + $this->connection->__soapCall('IMedium_setType', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMousePointerShapeChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMousePointerShapeChangedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMouseCapabilityChangedEvent extends IEvent -{ + public function getAllowedTypes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getAllowedTypes', array((array)$request)); + return new MediumTypeCollection ($this->connection, (array)$response->returnval); + } - public function getSupportsAbsolute() + public function getParent() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsAbsolute', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getParent', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getSupportsRelative() + public function getChildren() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsRelative', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getChildren', array((array)$request)); + return new IMediumCollection ($this->connection, (array)$response->returnval); } - public function getSupportsMultiTouch() + public function getBase() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsMultiTouch', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getBase', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getNeedsHostCursor() + public function getReadOnly() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getNeedsHostCursor', array((array)$request)); + $response = $this->connection->__soapCall('IMedium_getReadOnly', array((array)$request)); return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IMouseCapabilityChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IMouseCapabilityChangedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IKeyboardLedsChangedEvent extends IEvent -{ + public function getLogicalSize() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getLogicalSize', array((array)$request)); + return (float)$response->returnval; + } - public function getNumLock() + public function getAutoReset() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getNumLock', array((array)$request)); + $response = $this->connection->__soapCall('IMedium_getAutoReset', array((array)$request)); return (bool)$response->returnval; } - public function getCapsLock() + public function setAutoReset($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getCapsLock', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->autoReset = $value; + } + else + { + $request->autoReset = $value->handle; + } + $this->connection->__soapCall('IMedium_setAutoReset', array((array)$request)); } - public function getScrollLock() + public function getLastAccessError() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getScrollLock', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMedium_getLastAccessError', array((array)$request)); + return (string)$response->returnval; + } + + public function getMachineIds() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMedium_getMachineIds', array((array)$request)); + return (array)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IKeyboardLedsChangedEventCollection extends VBox_ManagedObjectCollection +class IMediumCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IKeyboardLedsChangedEvent"; + protected $_interfaceName = "IMedium"; } /** * Generated VBoxWebService Interface Wrapper */ -class IStateChangedEvent extends IEvent +class IMediumFormat extends VBox_ManagedObject { - public function getState() + public function describeFileExtensions() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStateChangedEvent_getState', array((array)$request)); - return new MachineState ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMediumFormat_describeFileExtensions', array((array)$request)); + return array((array)$response->extensions, new DeviceTypeCollection ($this->connection, (array)$response->types)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IAdditionsStateChangedEvent extends IEvent -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function describeProperties() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IAdditionsStateChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IMediumFormat_describeProperties', array((array)$request)); + return array((array)$response->names, (array)$response->descriptions, new DataTypeCollection ($this->connection, (array)$response->types), (array)$response->flags, (array)$response->defaults); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IAdditionsStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IAdditionsStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INetworkAdapterChangedEvent extends IEvent -{ - public function getNetworkAdapter() + public function getId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INetworkAdapterChangedEvent_getNetworkAdapter', array((array)$request)); - return new INetworkAdapter ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMediumFormat_getId', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INetworkAdapterChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INetworkAdapterChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISerialPortChangedEvent extends IEvent -{ - public function getSerialPort() + public function getName() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISerialPortChangedEvent_getSerialPort', array((array)$request)); - return new ISerialPort ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMediumFormat_getName', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISerialPortChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISerialPortChangedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IParallelPortChangedEvent extends IEvent -{ - - public function getParallelPort() + public function getCapabilities() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IParallelPortChangedEvent_getParallelPort', array((array)$request)); - return new IParallelPort ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMediumFormat_getCapabilities', array((array)$request)); + return new MediumFormatCapabilitiesCollection ($this->connection, (array)$response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IParallelPortChangedEventCollection extends VBox_ManagedObjectCollection +class IMediumFormatCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IParallelPortChangedEvent"; + protected $_interfaceName = "IMediumFormat"; } /** * Generated VBoxWebService Interface Wrapper */ -class IStorageControllerChangedEvent extends IEvent +class IDataStream extends VBox_ManagedObject { - public function getMidlDoesNotLikeEmptyInterfaces() + public function read($arg_size, $arg_timeoutMS) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageControllerChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $request->size = $arg_size; + $request->timeoutMS = $arg_timeoutMS; + $response = $this->connection->__soapCall('IDataStream_read', array((array)$request)); + return (array)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IStorageControllerChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IStorageControllerChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IMediumChangedEvent extends IEvent -{ - public function getMediumAttachment() + public function getReadSize() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IMediumChangedEvent_getMediumAttachment', array((array)$request)); - return new IMediumAttachment ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IDataStream_getReadSize', array((array)$request)); + return (float)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IMediumChangedEventCollection extends VBox_ManagedObjectCollection +class IDataStreamCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IMediumChangedEvent"; + protected $_interfaceName = "IDataStream"; } /** * Generated VBoxWebService Interface Wrapper */ -class IClipboardModeChangedEvent extends IEvent +class IMediumIO extends VBox_ManagedObject { - public function getClipboardMode() + public function read($arg_offset, $arg_size) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IClipboardModeChangedEvent_getClipboardMode', array((array)$request)); - return new ClipboardMode ($this->connection, $response->returnval); + $request->offset = $arg_offset; + $request->size = $arg_size; + $response = $this->connection->__soapCall('IMediumIO_read', array((array)$request)); + return (array)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IClipboardModeChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IClipboardModeChangedEvent"; -} + public function write($arg_offset, $arg_data) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->offset = $arg_offset; + $request->data = $arg_data; + $response = $this->connection->__soapCall('IMediumIO_write', array((array)$request)); + return (float)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IDnDModeChangedEvent extends IEvent -{ + public function formatFAT($arg_quick) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->quick = $arg_quick; + $response = $this->connection->__soapCall('IMediumIO_formatFAT', array((array)$request)); + return ; + } - public function getDndMode() + public function initializePartitionTable($arg_format, $arg_wholeDiskInOneEntry) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IDnDModeChangedEvent_getDndMode', array((array)$request)); - return new DnDMode ($this->connection, $response->returnval); + $request->format = $arg_format; + $request->wholeDiskInOneEntry = $arg_wholeDiskInOneEntry; + $response = $this->connection->__soapCall('IMediumIO_initializePartitionTable', array((array)$request)); + return ; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IDnDModeChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IDnDModeChangedEvent"; -} + public function convertToStream($arg_format, $arg_variant, $arg_bufferSize) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->format = $arg_format; + $request->variant = $arg_variant; + $request->bufferSize = $arg_bufferSize; + $response = $this->connection->__soapCall('IMediumIO_convertToStream', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IDataStream ($this->connection, $response->stream)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class ICPUChangedEvent extends IEvent -{ + public function close() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumIO_close', array((array)$request)); + return ; + } - public function getCPU() + public function getMedium() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ICPUChangedEvent_getCPU', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMediumIO_getMedium', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); } - public function getAdd() + public function getWritable() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ICPUChangedEvent_getAdd', array((array)$request)); + $response = $this->connection->__soapCall('IMediumIO_getWritable', array((array)$request)); return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ICPUChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ICPUChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ICPUExecutionCapChangedEvent extends IEvent -{ - public function getExecutionCap() + public function getExplorer() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ICPUExecutionCapChangedEvent_getExecutionCap', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMediumIO_getExplorer', array((array)$request)); + return new IVFSExplorer ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class ICPUExecutionCapChangedEventCollection extends VBox_ManagedObjectCollection +class IMediumIOCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "ICPUExecutionCapChangedEvent"; + protected $_interfaceName = "IMediumIO"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestKeyboardEvent extends IEvent +class IToken extends VBox_ManagedObject { - public function getScancodes() + public function abandon() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestKeyboardEvent_getScancodes', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IToken_abandon', array((array)$request)); + return ; + } + + public function dummy() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IToken_dummy', array((array)$request)); + return ; } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestKeyboardEventCollection extends VBox_ManagedObjectCollection +class ITokenCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestKeyboardEvent"; + protected $_interfaceName = "IToken"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestMouseEvent extends IReusableEvent +class IKeyboard extends VBox_ManagedObject { - public function getMode() + public function putScancode($arg_scancode) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getMode', array((array)$request)); - return new GuestMouseEventMode ($this->connection, $response->returnval); + $request->scancode = $arg_scancode; + $response = $this->connection->__soapCall('IKeyboard_putScancode', array((array)$request)); + return ; } - public function getX() + public function putScancodes($arg_scancodes) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getX', array((array)$request)); - return (int)$response->returnval; + $request->scancodes = $arg_scancodes; + $response = $this->connection->__soapCall('IKeyboard_putScancodes', array((array)$request)); + return (float)$response->returnval; } - public function getY() + public function putCAD() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getY', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IKeyboard_putCAD', array((array)$request)); + return ; } - public function getZ() + public function releaseKeys() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getZ', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IKeyboard_releaseKeys', array((array)$request)); + return ; } - public function getW() + public function putUsageCode($arg_usageCode, $arg_usagePage, $arg_keyRelease) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getW', array((array)$request)); - return (int)$response->returnval; + $request->usageCode = $arg_usageCode; + $request->usagePage = $arg_usagePage; + $request->keyRelease = $arg_keyRelease; + $response = $this->connection->__soapCall('IKeyboard_putUsageCode', array((array)$request)); + return ; } - public function getButtons() + public function getKeyboardLEDs() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMouseEvent_getButtons', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IKeyboard_getKeyboardLEDs', array((array)$request)); + return new KeyboardLEDCollection ($this->connection, (array)$response->returnval); + } + + public function getEventSource() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IKeyboard_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestMouseEventCollection extends VBox_ManagedObjectCollection +class IKeyboardCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestMouseEvent"; + protected $_interfaceName = "IKeyboard"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestMultiTouchEvent extends IEvent +class IMousePointerShape extends VBox_ManagedObject { - public function getContactCount() + public function getVisible() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactCount', array((array)$request)); - return (int)$response->returnval; + $response = $this->connection->__soapCall('IMousePointerShape_getVisible', array((array)$request)); + return (bool)$response->returnval; } - public function getXPositions() + public function getAlpha() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getXPositions', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMousePointerShape_getAlpha', array((array)$request)); + return (bool)$response->returnval; } - public function getYPositions() + public function getHotX() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getYPositions', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMousePointerShape_getHotX', array((array)$request)); + return (float)$response->returnval; } - public function getContactIds() + public function getHotY() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactIds', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMousePointerShape_getHotY', array((array)$request)); + return (float)$response->returnval; } - public function getContactFlags() + public function getWidth() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactFlags', array((array)$request)); - return (array)$response->returnval; + $response = $this->connection->__soapCall('IMousePointerShape_getWidth', array((array)$request)); + return (float)$response->returnval; } - public function getScanTime() + public function getHeight() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getScanTime', array((array)$request)); + $response = $this->connection->__soapCall('IMousePointerShape_getHeight', array((array)$request)); return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestMultiTouchEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestMultiTouchEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestSessionEvent extends IEvent -{ - public function getSession() + public function getShape() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSessionEvent_getSession', array((array)$request)); - return new IGuestSession ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMousePointerShape_getShape', array((array)$request)); + return (array)$response->returnval; } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestSessionEventCollection extends VBox_ManagedObjectCollection +class IMousePointerShapeCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestSessionEvent"; + protected $_interfaceName = "IMousePointerShape"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestSessionStateChangedEvent extends IGuestSessionEvent +class IMouse extends VBox_ManagedObject { - public function getId() + public function putMouseEvent($arg_dx, $arg_dy, $arg_dz, $arg_dw, $arg_buttonState) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getId', array((array)$request)); - return (float)$response->returnval; + $request->dx = $arg_dx; + $request->dy = $arg_dy; + $request->dz = $arg_dz; + $request->dw = $arg_dw; + $request->buttonState = $arg_buttonState; + $response = $this->connection->__soapCall('IMouse_putMouseEvent', array((array)$request)); + return ; } - public function getStatus() + public function putMouseEventAbsolute($arg_x, $arg_y, $arg_dz, $arg_dw, $arg_buttonState) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getStatus', array((array)$request)); - return new GuestSessionStatus ($this->connection, $response->returnval); + $request->x = $arg_x; + $request->y = $arg_y; + $request->dz = $arg_dz; + $request->dw = $arg_dw; + $request->buttonState = $arg_buttonState; + $response = $this->connection->__soapCall('IMouse_putMouseEventAbsolute', array((array)$request)); + return ; } - public function getError() + public function putEventMultiTouch($arg_count, $arg_contacts, $arg_isTouchScreen, $arg_scanTime) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getError', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $request->count = $arg_count; + $request->contacts = $arg_contacts; + $request->isTouchScreen = $arg_isTouchScreen; + $request->scanTime = $arg_scanTime; + $response = $this->connection->__soapCall('IMouse_putEventMultiTouch', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestSessionStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestSessionStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestSessionRegisteredEvent extends IGuestSessionEvent -{ - public function getRegistered() + public function putEventMultiTouchString($arg_count, $arg_contacts, $arg_isTouchScreen, $arg_scanTime) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestSessionRegisteredEvent_getRegistered', array((array)$request)); - return (bool)$response->returnval; + $request->count = $arg_count; + $request->contacts = $arg_contacts; + $request->isTouchScreen = $arg_isTouchScreen; + $request->scanTime = $arg_scanTime; + $response = $this->connection->__soapCall('IMouse_putEventMultiTouchString', array((array)$request)); + return ; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestSessionRegisteredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestSessionRegisteredEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcessEvent extends IGuestSessionEvent -{ - public function getProcess() + public function getAbsoluteSupported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessEvent_getProcess', array((array)$request)); - return new IGuestProcess ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMouse_getAbsoluteSupported', array((array)$request)); + return (bool)$response->returnval; } - public function getPid() + public function getRelativeSupported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessEvent_getPid', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMouse_getRelativeSupported', array((array)$request)); + return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcessEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcessRegisteredEvent extends IGuestProcessEvent -{ - public function getRegistered() + public function getTouchScreenSupported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessRegisteredEvent_getRegistered', array((array)$request)); + $response = $this->connection->__soapCall('IMouse_getTouchScreenSupported', array((array)$request)); return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessRegisteredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcessRegisteredEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcessStateChangedEvent extends IGuestProcessEvent -{ - public function getStatus() + public function getTouchPadSupported() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessStateChangedEvent_getStatus', array((array)$request)); - return new ProcessStatus ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMouse_getTouchPadSupported', array((array)$request)); + return (bool)$response->returnval; } - public function getError() + public function getNeedsHostCursor() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessStateChangedEvent_getError', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IMouse_getNeedsHostCursor', array((array)$request)); + return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcessStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcessIOEvent extends IGuestProcessEvent -{ - public function getHandle() + public function getPointerShape() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessIOEvent_getHandle', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMouse_getPointerShape', array((array)$request)); + return new IMousePointerShape ($this->connection, $response->returnval); } - public function getProcessed() + public function getEventSource() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessIOEvent_getProcessed', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('IMouse_getEventSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestProcessIOEventCollection extends VBox_ManagedObjectCollection +class IMouseCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestProcessIOEvent"; + protected $_interfaceName = "IMouse"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestProcessInputNotifyEvent extends IGuestProcessIOEvent +class IFramebuffer extends VBox_ManagedObject { - public function getStatus() + public function notifyUpdate($arg_x, $arg_y, $arg_width, $arg_height) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessInputNotifyEvent_getStatus', array((array)$request)); - return new ProcessInputStatus ($this->connection, $response->returnval); + $request->x = $arg_x; + $request->y = $arg_y; + $request->width = $arg_width; + $request->height = $arg_height; + $response = $this->connection->__soapCall('IFramebuffer_notifyUpdate', array((array)$request)); + return ; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessInputNotifyEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcessInputNotifyEvent"; -} + public function notifyUpdateImage($arg_x, $arg_y, $arg_width, $arg_height, $arg_image) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->x = $arg_x; + $request->y = $arg_y; + $request->width = $arg_width; + $request->height = $arg_height; + $request->image = $arg_image; + $response = $this->connection->__soapCall('IFramebuffer_notifyUpdateImage', array((array)$request)); + return ; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestProcessOutputEvent extends IGuestProcessIOEvent -{ + public function notifyChange($arg_screenId, $arg_xOrigin, $arg_yOrigin, $arg_width, $arg_height) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->screenId = $arg_screenId; + $request->xOrigin = $arg_xOrigin; + $request->yOrigin = $arg_yOrigin; + $request->width = $arg_width; + $request->height = $arg_height; + $response = $this->connection->__soapCall('IFramebuffer_notifyChange', array((array)$request)); + return ; + } - public function getData() + public function videoModeSupported($arg_width, $arg_height, $arg_bpp) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestProcessOutputEvent_getData', array((array)$request)); - return (array)$response->returnval; + $request->width = $arg_width; + $request->height = $arg_height; + $request->bpp = $arg_bpp; + $response = $this->connection->__soapCall('IFramebuffer_videoModeSupported', array((array)$request)); + return (bool)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestProcessOutputEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestProcessOutputEvent"; -} + public function notify3DEvent($arg_type, $arg_data) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->type = $arg_type; + $request->data = $arg_data; + $response = $this->connection->__soapCall('IFramebuffer_notify3DEvent', array((array)$request)); + return ; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFileEvent extends IGuestSessionEvent -{ + public function getWidth() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebuffer_getWidth', array((array)$request)); + return (float)$response->returnval; + } - public function getFile() + public function getHeight() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileEvent_getFile', array((array)$request)); - return new IGuestFile ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFramebuffer_getHeight', array((array)$request)); + return (float)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFileEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFileEvent"; -} + public function getBitsPerPixel() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebuffer_getBitsPerPixel', array((array)$request)); + return (float)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFileRegisteredEvent extends IGuestFileEvent -{ + public function getBytesPerLine() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebuffer_getBytesPerLine', array((array)$request)); + return (float)$response->returnval; + } - public function getRegistered() + public function getPixelFormat() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileRegisteredEvent_getRegistered', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IFramebuffer_getPixelFormat', array((array)$request)); + return new BitmapFormat ($this->connection, $response->returnval); } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFileRegisteredEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFileRegisteredEvent"; -} + public function getHeightReduction() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebuffer_getHeightReduction', array((array)$request)); + return (float)$response->returnval; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFileStateChangedEvent extends IGuestFileEvent -{ + public function getOverlay() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebuffer_getOverlay', array((array)$request)); + return new IFramebufferOverlay ($this->connection, $response->returnval); + } - public function getStatus() + public function getWinId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileStateChangedEvent_getStatus', array((array)$request)); - return new FileStatus ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFramebuffer_getWinId', array((array)$request)); + return (float)$response->returnval; } - public function getError() + public function getCapabilities() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileStateChangedEvent_getError', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IFramebuffer_getCapabilities', array((array)$request)); + return new FramebufferCapabilitiesCollection ($this->connection, (array)$response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestFileStateChangedEventCollection extends VBox_ManagedObjectCollection +class IFramebufferCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestFileStateChangedEvent"; + protected $_interfaceName = "IFramebuffer"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestFileIOEvent extends IGuestFileEvent +class IFramebufferOverlay extends IFramebuffer { - public function getOffset() + public function move($arg_x, $arg_y) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileIOEvent_getOffset', array((array)$request)); - return (float)$response->returnval; + $request->x = $arg_x; + $request->y = $arg_y; + $response = $this->connection->__soapCall('IFramebufferOverlay_move', array((array)$request)); + return ; } - public function getProcessed() + public function getX() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileIOEvent_getProcessed', array((array)$request)); + $response = $this->connection->__soapCall('IFramebufferOverlay_getX', array((array)$request)); return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFileIOEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFileIOEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFileOffsetChangedEvent extends IGuestFileIOEvent -{ + public function getY() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebufferOverlay_getY', array((array)$request)); + return (float)$response->returnval; + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function getVisible() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileOffsetChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IFramebufferOverlay_getVisible', array((array)$request)); return (bool)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFileOffsetChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFileOffsetChangedEvent"; -} + public function setVisible($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->visible = $value; + } + else + { + $request->visible = $value->handle; + } + $this->connection->__soapCall('IFramebufferOverlay_setVisible', array((array)$request)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestFileReadEvent extends IGuestFileIOEvent -{ + public function getAlpha() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFramebufferOverlay_getAlpha', array((array)$request)); + return (float)$response->returnval; + } - public function getData() + public function setAlpha($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileReadEvent_getData', array((array)$request)); - return (array)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->alpha = $value; + } + else + { + $request->alpha = $value->handle; + } + $this->connection->__soapCall('IFramebufferOverlay_setAlpha', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class IGuestFileReadEventCollection extends VBox_ManagedObjectCollection +class IFramebufferOverlayCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestFileReadEvent"; + protected $_interfaceName = "IFramebufferOverlay"; } /** * Generated VBoxWebService Interface Wrapper */ -class IGuestFileWriteEvent extends IGuestFileIOEvent +class IGuestScreenInfo extends VBox_ManagedObject { - public function getMidlDoesNotLikeEmptyInterfaces() + public function getScreenId() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestFileWriteEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IGuestScreenInfo_getScreenId', array((array)$request)); + return (float)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestFileWriteEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestFileWriteEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IVRDEServerChangedEvent extends IEvent -{ - - public function getMidlDoesNotLikeEmptyInterfaces() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServerChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; - } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVRDEServerChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVRDEServerChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IVRDEServerInfoChangedEvent extends IEvent -{ - - public function getMidlDoesNotLikeEmptyInterfaces() + public function getGuestMonitorStatus() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVRDEServerInfoChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IGuestScreenInfo_getGuestMonitorStatus', array((array)$request)); + return new GuestMonitorStatus ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVRDEServerInfoChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVRDEServerInfoChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IVideoCaptureChangedEvent extends IEvent -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function getPrimary() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVideoCaptureChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IGuestScreenInfo_getPrimary', array((array)$request)); return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVideoCaptureChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVideoCaptureChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IUSBControllerChangedEvent extends IEvent -{ - public function getMidlDoesNotLikeEmptyInterfaces() + public function getOrigin() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBControllerChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + $response = $this->connection->__soapCall('IGuestScreenInfo_getOrigin', array((array)$request)); return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IUSBControllerChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IUSBControllerChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IUSBDeviceStateChangedEvent extends IEvent -{ - - public function getDevice() - { - $request = new stdClass(); - $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getDevice', array((array)$request)); - return new IUSBDevice ($this->connection, $response->returnval); - } - public function getAttached() + public function getOriginX() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getAttached', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IGuestScreenInfo_getOriginX', array((array)$request)); + return (int)$response->returnval; } - public function getError() + public function getOriginY() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getError', array((array)$request)); - return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGuestScreenInfo_getOriginY', array((array)$request)); + return (int)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IUSBDeviceStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IUSBDeviceStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class ISharedFolderChangedEvent extends IEvent -{ - public function getScope() + public function getWidth() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ISharedFolderChangedEvent_getScope', array((array)$request)); - return new Scope ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('IGuestScreenInfo_getWidth', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class ISharedFolderChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ISharedFolderChangedEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IRuntimeErrorEvent extends IEvent -{ - - public function getFatal() + public function getHeight() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IRuntimeErrorEvent_getFatal', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IGuestScreenInfo_getHeight', array((array)$request)); + return (float)$response->returnval; } - public function getId() + public function getBitsPerPixel() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IRuntimeErrorEvent_getId', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('IGuestScreenInfo_getBitsPerPixel', array((array)$request)); + return (float)$response->returnval; } - public function getMessage() + public function getExtendedInfo() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IRuntimeErrorEvent_getMessage', array((array)$request)); + $response = $this->connection->__soapCall('IGuestScreenInfo_getExtendedInfo', array((array)$request)); return (string)$response->returnval; } } @@ -13610,1978 +13214,10499 @@ public function getMessage() /** * Generated VBoxWebService Managed Object Collection */ -class IRuntimeErrorEventCollection extends VBox_ManagedObjectCollection +class IGuestScreenInfoCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IRuntimeErrorEvent"; + protected $_interfaceName = "IGuestScreenInfo"; } /** * Generated VBoxWebService Interface Wrapper */ -class IEventSourceChangedEvent extends IEvent +class IDisplay extends VBox_ManagedObject { - public function getListener() + public function getScreenResolution($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEventSourceChangedEvent_getListener', array((array)$request)); - return new IEventListener ($this->connection, $response->returnval); + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IDisplay_getScreenResolution', array((array)$request)); + return array((float)$response->width, (float)$response->height, (float)$response->bitsPerPixel, (int)$response->xOrigin, (int)$response->yOrigin, new GuestMonitorStatus ($this->connection, $response->guestMonitorStatus)); } - public function getAdd() + public function attachFramebuffer($arg_screenId, $arg_framebuffer) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IEventSourceChangedEvent_getAdd', array((array)$request)); - return (bool)$response->returnval; + $request->screenId = $arg_screenId; + $request->framebuffer = $arg_framebuffer; + $response = $this->connection->__soapCall('IDisplay_attachFramebuffer', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IEventSourceChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IEventSourceChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IExtraDataChangedEvent extends IEvent -{ - public function getMachineId() + public function detachFramebuffer($arg_screenId, $arg_id) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataChangedEvent_getMachineId', array((array)$request)); - return (string)$response->returnval; + $request->screenId = $arg_screenId; + $request->id = $arg_id; + $response = $this->connection->__soapCall('IDisplay_detachFramebuffer', array((array)$request)); + return ; } - public function getKey() + public function queryFramebuffer($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataChangedEvent_getKey', array((array)$request)); - return (string)$response->returnval; + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IDisplay_queryFramebuffer', array((array)$request)); + return new IFramebuffer ($this->connection, $response->returnval); } - public function getValue() + public function setVideoModeHint($arg_display, $arg_enabled, $arg_changeOrigin, $arg_originX, $arg_originY, $arg_width, $arg_height, $arg_bitsPerPixel, $arg_notify) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataChangedEvent_getValue', array((array)$request)); - return (string)$response->returnval; + $request->display = $arg_display; + $request->enabled = $arg_enabled; + $request->changeOrigin = $arg_changeOrigin; + $request->originX = $arg_originX; + $request->originY = $arg_originY; + $request->width = $arg_width; + $request->height = $arg_height; + $request->bitsPerPixel = $arg_bitsPerPixel; + $request->notify = $arg_notify; + $response = $this->connection->__soapCall('IDisplay_setVideoModeHint', array((array)$request)); + return ; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IExtraDataChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IExtraDataChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IVetoEvent extends IEvent -{ - - public function addVeto($arg_reason) + public function getVideoModeHint($arg_display) { $request = new stdClass(); $request->_this = $this->handle; - $request->reason = $arg_reason; - $response = $this->connection->__soapCall('IVetoEvent_addVeto', array((array)$request)); - return ; + $request->display = $arg_display; + $response = $this->connection->__soapCall('IDisplay_getVideoModeHint', array((array)$request)); + return array((bool)$response->enabled, (bool)$response->changeOrigin, (int)$response->originX, (int)$response->originY, (float)$response->width, (float)$response->height, (float)$response->bitsPerPixel); } - public function isVetoed() + public function setSeamlessMode($arg_enabled) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVetoEvent_isVetoed', array((array)$request)); - return (bool)$response->returnval; + $request->enabled = $arg_enabled; + $response = $this->connection->__soapCall('IDisplay_setSeamlessMode', array((array)$request)); + return ; } - public function getVetos() + public function takeScreenShotToArray($arg_screenId, $arg_width, $arg_height, $arg_bitmapFormat) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVetoEvent_getVetos', array((array)$request)); + $request->screenId = $arg_screenId; + $request->width = $arg_width; + $request->height = $arg_height; + $request->bitmapFormat = $arg_bitmapFormat; + $response = $this->connection->__soapCall('IDisplay_takeScreenShotToArray', array((array)$request)); return (array)$response->returnval; } - public function addApproval($arg_reason) + public function invalidateAndUpdate() { $request = new stdClass(); $request->_this = $this->handle; - $request->reason = $arg_reason; - $response = $this->connection->__soapCall('IVetoEvent_addApproval', array((array)$request)); + $response = $this->connection->__soapCall('IDisplay_invalidateAndUpdate', array((array)$request)); return ; } - public function isApproved() + public function invalidateAndUpdateScreen($arg_screenId) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVetoEvent_isApproved', array((array)$request)); - return (bool)$response->returnval; + $request->screenId = $arg_screenId; + $response = $this->connection->__soapCall('IDisplay_invalidateAndUpdateScreen', array((array)$request)); + return ; } - public function getApprovals() + public function viewportChanged($arg_screenId, $arg_x, $arg_y, $arg_width, $arg_height) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVetoEvent_getApprovals', array((array)$request)); - return (array)$response->returnval; + $request->screenId = $arg_screenId; + $request->x = $arg_x; + $request->y = $arg_y; + $request->width = $arg_width; + $request->height = $arg_height; + $response = $this->connection->__soapCall('IDisplay_viewportChanged', array((array)$request)); + return ; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVetoEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVetoEvent"; -} + public function notifyScaleFactorChange($arg_screenId, $arg_u32ScaleFactorWMultiplied, $arg_u32ScaleFactorHMultiplied) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->screenId = $arg_screenId; + $request->u32ScaleFactorWMultiplied = $arg_u32ScaleFactorWMultiplied; + $request->u32ScaleFactorHMultiplied = $arg_u32ScaleFactorHMultiplied; + $response = $this->connection->__soapCall('IDisplay_notifyScaleFactorChange', array((array)$request)); + return ; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IExtraDataCanChangeEvent extends IVetoEvent -{ + public function notifyHiDPIOutputPolicyChange($arg_fUnscaledHiDPI) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->fUnscaledHiDPI = $arg_fUnscaledHiDPI; + $response = $this->connection->__soapCall('IDisplay_notifyHiDPIOutputPolicyChange', array((array)$request)); + return ; + } - public function getMachineId() + public function setScreenLayout($arg_screenLayoutMode, $arg_guestScreenInfo) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getMachineId', array((array)$request)); - return (string)$response->returnval; + $request->screenLayoutMode = $arg_screenLayoutMode; + $request->guestScreenInfo = $arg_guestScreenInfo; + $response = $this->connection->__soapCall('IDisplay_setScreenLayout', array((array)$request)); + return ; } - public function getKey() + public function detachScreens($arg_screenIds) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getKey', array((array)$request)); - return (string)$response->returnval; + $request->screenIds = $arg_screenIds; + $response = $this->connection->__soapCall('IDisplay_detachScreens', array((array)$request)); + return ; } - public function getValue() + public function createGuestScreenInfo($arg_display, $arg_status, $arg_primary, $arg_changeOrigin, $arg_originX, $arg_originY, $arg_width, $arg_height, $arg_bitsPerPixel) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getValue', array((array)$request)); - return (string)$response->returnval; + $request->display = $arg_display; + $request->status = $arg_status; + $request->primary = $arg_primary; + $request->changeOrigin = $arg_changeOrigin; + $request->originX = $arg_originX; + $request->originY = $arg_originY; + $request->width = $arg_width; + $request->height = $arg_height; + $request->bitsPerPixel = $arg_bitsPerPixel; + $response = $this->connection->__soapCall('IDisplay_createGuestScreenInfo', array((array)$request)); + return new IGuestScreenInfo ($this->connection, $response->returnval); + } + + public function getGuestScreenLayout() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IDisplay_getGuestScreenLayout', array((array)$request)); + return new IGuestScreenInfoCollection ($this->connection, (array)$response->returnval); } } /** * Generated VBoxWebService Managed Object Collection */ -class IExtraDataCanChangeEventCollection extends VBox_ManagedObjectCollection +class IDisplayCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IExtraDataCanChangeEvent"; + protected $_interfaceName = "IDisplay"; } /** * Generated VBoxWebService Interface Wrapper */ -class ICanShowWindowEvent extends IVetoEvent +class INetworkAdapter extends VBox_ManagedObject { - public function getMidlDoesNotLikeEmptyInterfaces() + public function getProperty($arg_key) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('ICanShowWindowEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $request->key = $arg_key; + $response = $this->connection->__soapCall('INetworkAdapter_getProperty', array((array)$request)); + return (string)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class ICanShowWindowEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "ICanShowWindowEvent"; -} + public function setProperty($arg_key, $arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $request->value = $arg_value; + $response = $this->connection->__soapCall('INetworkAdapter_setProperty', array((array)$request)); + return ; + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class IShowWindowEvent extends IEvent -{ + public function getProperties($arg_names) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->names = $arg_names; + $response = $this->connection->__soapCall('INetworkAdapter_getProperties', array((array)$request)); + return array((array)$response->returnval, (array)$response->returnNames); + } - public function getWinId() + public function getAdapterType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IShowWindowEvent_getWinId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getAdapterType', array((array)$request)); + return new NetworkAdapterType ($this->connection, $response->returnval); } - public function setWinId($value) + public function setAdapterType($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_null($value) || is_scalar($value)) { - $request->winId = $value; + $request->adapterType = $value; } else { - $request->winId = $value->handle; + $request->adapterType = $value->handle; } - $this->connection->__soapCall('IShowWindowEvent_setWinId', array((array)$request)); + $this->connection->__soapCall('INetworkAdapter_setAdapterType', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IShowWindowEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IShowWindowEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATRedirectEvent extends IMachineEvent -{ public function getSlot() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getSlot', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getSlot', array((array)$request)); return (float)$response->returnval; } - public function getRemove() + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getRemove', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getEnabled', array((array)$request)); return (bool)$response->returnval; } - public function getName() + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getName', array((array)$request)); + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setEnabled', array((array)$request)); + } + + public function getMACAddress() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INetworkAdapter_getMACAddress', array((array)$request)); return (string)$response->returnval; } - public function getProto() + public function setMACAddress($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getProto', array((array)$request)); - return new NATProtocol ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->MACAddress = $value; + } + else + { + $request->MACAddress = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setMACAddress', array((array)$request)); } - public function getHostIP() + public function getAttachmentType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getHostIP', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getAttachmentType', array((array)$request)); + return new NetworkAttachmentType ($this->connection, $response->returnval); } - public function getHostPort() + public function setAttachmentType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getHostPort', array((array)$request)); - return (int)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->attachmentType = $value; + } + else + { + $request->attachmentType = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setAttachmentType', array((array)$request)); } - public function getGuestIP() + public function getBridgedInterface() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getGuestIP', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getBridgedInterface', array((array)$request)); return (string)$response->returnval; } - public function getGuestPort() + public function setBridgedInterface($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATRedirectEvent_getGuestPort', array((array)$request)); - return (int)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->bridgedInterface = $value; + } + else + { + $request->bridgedInterface = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setBridgedInterface', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATRedirectEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATRedirectEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class IHostPCIDevicePlugEvent extends IMachineEvent -{ + public function getHostOnlyInterface() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INetworkAdapter_getHostOnlyInterface', array((array)$request)); + return (string)$response->returnval; + } - public function getPlugged() + public function setHostOnlyInterface($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getPlugged', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->hostOnlyInterface = $value; + } + else + { + $request->hostOnlyInterface = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setHostOnlyInterface', array((array)$request)); } - public function getSuccess() + public function getHostOnlyNetwork() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getSuccess', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getHostOnlyNetwork', array((array)$request)); + return (string)$response->returnval; } - public function getAttachment() + public function setHostOnlyNetwork($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getAttachment', array((array)$request)); - return new IPCIDeviceAttachment ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->hostOnlyNetwork = $value; + } + else + { + $request->hostOnlyNetwork = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setHostOnlyNetwork', array((array)$request)); } - public function getMessage() + public function getInternalNetwork() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getMessage', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getInternalNetwork', array((array)$request)); return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IHostPCIDevicePlugEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IHostPCIDevicePlugEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IVBoxSVCAvailabilityChangedEvent extends IEvent -{ - public function getAvailable() + public function setInternalNetwork($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IVBoxSVCAvailabilityChangedEvent_getAvailable', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->internalNetwork = $value; + } + else + { + $request->internalNetwork = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setInternalNetwork', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IVBoxSVCAvailabilityChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IVBoxSVCAvailabilityChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IBandwidthGroupChangedEvent extends IEvent -{ - public function getBandwidthGroup() + public function getNATNetwork() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IBandwidthGroupChangedEvent_getBandwidthGroup', array((array)$request)); - return new IBandwidthGroup ($this->connection, $response->returnval); + $response = $this->connection->__soapCall('INetworkAdapter_getNATNetwork', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IBandwidthGroupChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IBandwidthGroupChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestMonitorChangedEvent extends IEvent -{ - public function getChangeType() + public function setNATNetwork($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getChangeType', array((array)$request)); - return new GuestMonitorChangedEventType ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->NATNetwork = $value; + } + else + { + $request->NATNetwork = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setNATNetwork', array((array)$request)); } - public function getScreenId() + public function getGenericDriver() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getScreenId', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getGenericDriver', array((array)$request)); + return (string)$response->returnval; } - public function getOriginX() + public function setGenericDriver($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getOriginX', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->genericDriver = $value; + } + else + { + $request->genericDriver = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setGenericDriver', array((array)$request)); } - public function getOriginY() + public function getCloudNetwork() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getOriginY', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getCloudNetwork', array((array)$request)); + return (string)$response->returnval; } - public function getWidth() + public function setCloudNetwork($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getWidth', array((array)$request)); - return (float)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->cloudNetwork = $value; + } + else + { + $request->cloudNetwork = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setCloudNetwork', array((array)$request)); } - public function getHeight() + public function getCableConnected() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getHeight', array((array)$request)); - return (float)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getCableConnected', array((array)$request)); + return (bool)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestMonitorChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestMonitorChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IGuestUserStateChangedEvent extends IEvent -{ - public function getName() + public function setCableConnected($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getName', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->cableConnected = $value; + } + else + { + $request->cableConnected = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setCableConnected', array((array)$request)); } - public function getDomain() + public function getLineSpeed() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getDomain', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getLineSpeed', array((array)$request)); + return (float)$response->returnval; } - public function getState() + public function setLineSpeed($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getState', array((array)$request)); - return new GuestUserState ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->lineSpeed = $value; + } + else + { + $request->lineSpeed = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setLineSpeed', array((array)$request)); } - public function getStateDetails() + public function getPromiscModePolicy() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getStateDetails', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getPromiscModePolicy', array((array)$request)); + return new NetworkAdapterPromiscModePolicy ($this->connection, $response->returnval); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IGuestUserStateChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IGuestUserStateChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class IStorageDeviceChangedEvent extends IEvent -{ - public function getStorageDevice() + public function setPromiscModePolicy($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getStorageDevice', array((array)$request)); - return new IMediumAttachment ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->promiscModePolicy = $value; + } + else + { + $request->promiscModePolicy = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setPromiscModePolicy', array((array)$request)); } - public function getRemoved() + public function getTraceEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getRemoved', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getTraceEnabled', array((array)$request)); return (bool)$response->returnval; } - public function getSilent() + public function setTraceEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getSilent', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->traceEnabled = $value; + } + else + { + $request->traceEnabled = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setTraceEnabled', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IStorageDeviceChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IStorageDeviceChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATNetworkChangedEvent extends IEvent -{ - public function getNetworkName() + public function getTraceFile() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkChangedEvent_getNetworkName', array((array)$request)); + $response = $this->connection->__soapCall('INetworkAdapter_getTraceFile', array((array)$request)); return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATNetworkChangedEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATNetworkChangedEvent"; -} - -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATNetworkStartStopEvent extends INATNetworkChangedEvent -{ - public function getStartEvent() + public function setTraceFile($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkStartStopEvent_getStartEvent', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->traceFile = $value; + } + else + { + $request->traceFile = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setTraceFile', array((array)$request)); } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATNetworkStartStopEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATNetworkStartStopEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATNetworkAlterEvent extends INATNetworkChangedEvent -{ + public function getNATEngine() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INetworkAdapter_getNATEngine', array((array)$request)); + return new INATEngine ($this->connection, $response->returnval); + } - public function getMidlDoesNotLikeEmptyInterfaces() + public function getBootPriority() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkAlterEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('INetworkAdapter_getBootPriority', array((array)$request)); + return (float)$response->returnval; } -} -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATNetworkAlterEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATNetworkAlterEvent"; -} + public function setBootPriority($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->bootPriority = $value; + } + else + { + $request->bootPriority = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setBootPriority', array((array)$request)); + } -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATNetworkCreationDeletionEvent extends INATNetworkAlterEvent -{ + public function getBandwidthGroup() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INetworkAdapter_getBandwidthGroup', array((array)$request)); + return new IBandwidthGroup ($this->connection, $response->returnval); + } - public function getCreationEvent() + public function setBandwidthGroup($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkCreationDeletionEvent_getCreationEvent', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->bandwidthGroup = $value; + } + else + { + $request->bandwidthGroup = $value->handle; + } + $this->connection->__soapCall('INetworkAdapter_setBandwidthGroup', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class INATNetworkCreationDeletionEventCollection extends VBox_ManagedObjectCollection +class INetworkAdapterCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "INATNetworkCreationDeletionEvent"; + protected $_interfaceName = "INetworkAdapter"; } /** * Generated VBoxWebService Interface Wrapper */ -class INATNetworkSettingEvent extends INATNetworkAlterEvent +class ISerialPort extends VBox_ManagedObject { + public function getSlot() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISerialPort_getSlot', array((array)$request)); + return (float)$response->returnval; + } + public function getEnabled() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkSettingEvent_getEnabled', array((array)$request)); + $response = $this->connection->__soapCall('ISerialPort_getEnabled', array((array)$request)); return (bool)$response->returnval; } - public function getNetwork() + public function setEnabled($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkSettingEvent_getNetwork', array((array)$request)); - return (string)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setEnabled', array((array)$request)); } - public function getGateway() + public function getIOAddress() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkSettingEvent_getGateway', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISerialPort_getIOAddress', array((array)$request)); + return (float)$response->returnval; } - public function getAdvertiseDefaultIPv6RouteEnabled() + public function setIOAddress($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkSettingEvent_getAdvertiseDefaultIPv6RouteEnabled', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->IOAddress = $value; + } + else + { + $request->IOAddress = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setIOAddress', array((array)$request)); } - public function getNeedDhcpServer() + public function getIRQ() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkSettingEvent_getNeedDhcpServer', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISerialPort_getIRQ', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class INATNetworkSettingEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "INATNetworkSettingEvent"; -} -/** - * Generated VBoxWebService Interface Wrapper - */ -class INATNetworkPortForwardEvent extends INATNetworkAlterEvent -{ + public function setIRQ($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IRQ = $value; + } + else + { + $request->IRQ = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setIRQ', array((array)$request)); + } - public function getCreate() + public function getHostMode() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getCreate', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('ISerialPort_getHostMode', array((array)$request)); + return new PortMode ($this->connection, $response->returnval); } - public function getIpv6() + public function setHostMode($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getIpv6', array((array)$request)); - return (bool)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->hostMode = $value; + } + else + { + $request->hostMode = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setHostMode', array((array)$request)); } - public function getName() + public function getServer() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getName', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISerialPort_getServer', array((array)$request)); + return (bool)$response->returnval; } - public function getProto() + public function setServer($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getProto', array((array)$request)); - return new NATProtocol ($this->connection, $response->returnval); + if (is_null($value) || is_scalar($value)) + { + $request->server = $value; + } + else + { + $request->server = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setServer', array((array)$request)); } - public function getHostIp() + public function getPath() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getHostIp', array((array)$request)); + $response = $this->connection->__soapCall('ISerialPort_getPath', array((array)$request)); return (string)$response->returnval; } - public function getHostPort() + public function setPath($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getHostPort', array((array)$request)); - return (int)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->path = $value; + } + else + { + $request->path = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setPath', array((array)$request)); } - public function getGuestIp() + public function getUartType() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getGuestIp', array((array)$request)); - return (string)$response->returnval; + $response = $this->connection->__soapCall('ISerialPort_getUartType', array((array)$request)); + return new UartType ($this->connection, $response->returnval); } - public function getGuestPort() + public function setUartType($value) { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getGuestPort', array((array)$request)); - return (int)$response->returnval; + if (is_null($value) || is_scalar($value)) + { + $request->uartType = $value; + } + else + { + $request->uartType = $value->handle; + } + $this->connection->__soapCall('ISerialPort_setUartType', array((array)$request)); } } /** * Generated VBoxWebService Managed Object Collection */ -class INATNetworkPortForwardEventCollection extends VBox_ManagedObjectCollection +class ISerialPortCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "INATNetworkPortForwardEvent"; + protected $_interfaceName = "ISerialPort"; } /** * Generated VBoxWebService Interface Wrapper */ -class IHostNameResolutionConfigurationChangeEvent extends IEvent +class IParallelPort extends VBox_ManagedObject { - public function getMidlDoesNotLikeEmptyInterfaces() + public function getSlot() { $request = new stdClass(); $request->_this = $this->handle; - $response = $this->connection->__soapCall('IHostNameResolutionConfigurationChangeEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); - return (bool)$response->returnval; + $response = $this->connection->__soapCall('IParallelPort_getSlot', array((array)$request)); + return (float)$response->returnval; } -} - -/** - * Generated VBoxWebService Managed Object Collection - */ -class IHostNameResolutionConfigurationChangeEventCollection extends VBox_ManagedObjectCollection -{ - protected $_interfaceName = "IHostNameResolutionConfigurationChangeEvent"; -} - -/** - * Generated VBoxWebService Struct - */ -class IPCIDeviceAttachment extends VBox_Struct -{ - protected $name; - protected $isPhysicalDevice; - protected $hostAddress; - protected $guestAddress; - public function __construct($connection, $values) + public function getEnabled() { - $this->connection = $connection; - $this->name = $values->name; - $this->isPhysicalDevice = $values->isPhysicalDevice; - $this->hostAddress = $values->hostAddress; - $this->guestAddress = $values->guestAddress; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IParallelPort_getEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getName() + public function setEnabled($value) { - return (string)$this->name; + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IParallelPort_setEnabled', array((array)$request)); } - public function getIsPhysicalDevice() + + public function getIOBase() { - return (bool)$this->isPhysicalDevice; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IParallelPort_getIOBase', array((array)$request)); + return (float)$response->returnval; } - public function getHostAddress() + + public function setIOBase($value) { - return (int)$this->hostAddress; + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IOBase = $value; + } + else + { + $request->IOBase = $value->handle; + } + $this->connection->__soapCall('IParallelPort_setIOBase', array((array)$request)); } - public function getGuestAddress() + + public function getIRQ() { - return (int)$this->guestAddress; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IParallelPort_getIRQ', array((array)$request)); + return (float)$response->returnval; + } + + public function setIRQ($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IRQ = $value; + } + else + { + $request->IRQ = $value->handle; + } + $this->connection->__soapCall('IParallelPort_setIRQ', array((array)$request)); + } + + public function getPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IParallelPort_getPath', array((array)$request)); + return (string)$response->returnval; + } + + public function setPath($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->path = $value; + } + else + { + $request->path = $value->handle; + } + $this->connection->__soapCall('IParallelPort_setPath', array((array)$request)); } } /** - * Generated VBoxWebService Struct Collection + * Generated VBoxWebService Managed Object Collection */ -class IPCIDeviceAttachmentCollection extends VBox_StructCollection +class IParallelPortCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IPCIDeviceAttachment"; + protected $_interfaceName = "IParallelPort"; } /** - * Generated VBoxWebService Struct + * Generated VBoxWebService Interface Wrapper */ -class IVRDEServerInfo extends VBox_Struct +class IMachineDebugger extends VBox_ManagedObject { - protected $active; - protected $port; - protected $numberOfClients; - protected $beginTime; - protected $endTime; - protected $bytesSent; - protected $bytesSentTotal; - protected $bytesReceived; - protected $bytesReceivedTotal; - protected $user; - protected $domain; - protected $clientName; - protected $clientIP; - protected $clientVersion; - protected $encryptionStyle; - public function __construct($connection, $values) + public function dumpGuestCore($arg_filename, $arg_compression) { - $this->connection = $connection; - $this->active = $values->active; - $this->port = $values->port; - $this->numberOfClients = $values->numberOfClients; - $this->beginTime = $values->beginTime; - $this->endTime = $values->endTime; - $this->bytesSent = $values->bytesSent; - $this->bytesSentTotal = $values->bytesSentTotal; - $this->bytesReceived = $values->bytesReceived; - $this->bytesReceivedTotal = $values->bytesReceivedTotal; - $this->user = $values->user; - $this->domain = $values->domain; - $this->clientName = $values->clientName; - $this->clientIP = $values->clientIP; - $this->clientVersion = $values->clientVersion; - $this->encryptionStyle = $values->encryptionStyle; + $request = new stdClass(); + $request->_this = $this->handle; + $request->filename = $arg_filename; + $request->compression = $arg_compression; + $response = $this->connection->__soapCall('IMachineDebugger_dumpGuestCore', array((array)$request)); + return ; } - public function getActive() + public function dumpHostProcessCore($arg_filename, $arg_compression) { - return (bool)$this->active; + $request = new stdClass(); + $request->_this = $this->handle; + $request->filename = $arg_filename; + $request->compression = $arg_compression; + $response = $this->connection->__soapCall('IMachineDebugger_dumpHostProcessCore', array((array)$request)); + return ; } - public function getPort() + + public function info($arg_name, $arg_args) { - return (int)$this->port; + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $request->args = $arg_args; + $response = $this->connection->__soapCall('IMachineDebugger_info', array((array)$request)); + return (string)$response->returnval; } - public function getNumberOfClients() + + public function injectNMI() { - return (float)$this->numberOfClients; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_injectNMI', array((array)$request)); + return ; } - public function getBeginTime() + + public function modifyLogGroups($arg_settings) { - return (float)$this->beginTime; + $request = new stdClass(); + $request->_this = $this->handle; + $request->settings = $arg_settings; + $response = $this->connection->__soapCall('IMachineDebugger_modifyLogGroups', array((array)$request)); + return ; } - public function getEndTime() + + public function modifyLogFlags($arg_settings) { - return (float)$this->endTime; + $request = new stdClass(); + $request->_this = $this->handle; + $request->settings = $arg_settings; + $response = $this->connection->__soapCall('IMachineDebugger_modifyLogFlags', array((array)$request)); + return ; } - public function getBytesSent() + + public function modifyLogDestinations($arg_settings) { - return (float)$this->bytesSent; + $request = new stdClass(); + $request->_this = $this->handle; + $request->settings = $arg_settings; + $response = $this->connection->__soapCall('IMachineDebugger_modifyLogDestinations', array((array)$request)); + return ; } - public function getBytesSentTotal() + + public function readPhysicalMemory($arg_address, $arg_size) { - return (float)$this->bytesSentTotal; + $request = new stdClass(); + $request->_this = $this->handle; + $request->address = $arg_address; + $request->size = $arg_size; + $response = $this->connection->__soapCall('IMachineDebugger_readPhysicalMemory', array((array)$request)); + return (array)$response->returnval; } - public function getBytesReceived() + + public function writePhysicalMemory($arg_address, $arg_size, $arg_bytes) { - return (float)$this->bytesReceived; + $request = new stdClass(); + $request->_this = $this->handle; + $request->address = $arg_address; + $request->size = $arg_size; + $request->bytes = $arg_bytes; + $response = $this->connection->__soapCall('IMachineDebugger_writePhysicalMemory', array((array)$request)); + return ; } - public function getBytesReceivedTotal() + + public function readVirtualMemory($arg_cpuId, $arg_address, $arg_size) { - return (float)$this->bytesReceivedTotal; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $request->address = $arg_address; + $request->size = $arg_size; + $response = $this->connection->__soapCall('IMachineDebugger_readVirtualMemory', array((array)$request)); + return (array)$response->returnval; } - public function getUser() + + public function writeVirtualMemory($arg_cpuId, $arg_address, $arg_size, $arg_bytes) { - return (string)$this->user; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $request->address = $arg_address; + $request->size = $arg_size; + $request->bytes = $arg_bytes; + $response = $this->connection->__soapCall('IMachineDebugger_writeVirtualMemory', array((array)$request)); + return ; } - public function getDomain() + + public function loadPlugIn($arg_name) { - return (string)$this->domain; + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachineDebugger_loadPlugIn', array((array)$request)); + return (string)$response->returnval; } - public function getClientName() + + public function unloadPlugIn($arg_name) { - return (string)$this->clientName; + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachineDebugger_unloadPlugIn', array((array)$request)); + return ; } - public function getClientIP() + + public function detectOS() { - return (string)$this->clientIP; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_detectOS', array((array)$request)); + return (string)$response->returnval; } - public function getClientVersion() + + public function queryOSKernelLog($arg_maxMessages) { - return (float)$this->clientVersion; + $request = new stdClass(); + $request->_this = $this->handle; + $request->maxMessages = $arg_maxMessages; + $response = $this->connection->__soapCall('IMachineDebugger_queryOSKernelLog', array((array)$request)); + return (string)$response->returnval; } - public function getEncryptionStyle() + + public function getRegister($arg_cpuId, $arg_name) { - return (float)$this->encryptionStyle; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IMachineDebugger_getRegister', array((array)$request)); + return (string)$response->returnval; } -} - -/** - * Generated VBoxWebService Struct Collection - */ -class IVRDEServerInfoCollection extends VBox_StructCollection -{ - protected $_interfaceName = "IVRDEServerInfo"; -} - -/** - * Generated VBoxWebService Struct - */ -class IGuestOSType extends VBox_Struct -{ - protected $familyId; - protected $familyDescription; - protected $id; - protected $description; - protected $is64Bit; - protected $recommendedIOAPIC; - protected $recommendedVirtEx; - protected $recommendedRAM; - protected $recommendedVRAM; - protected $recommended2DVideoAcceleration; - protected $recommended3DAcceleration; - protected $recommendedHDD; - protected $adapterType; - protected $recommendedPAE; - protected $recommendedDVDStorageController; - protected $recommendedDVDStorageBus; - protected $recommendedHDStorageController; - protected $recommendedHDStorageBus; - protected $recommendedFirmware; - protected $recommendedUSBHID; - protected $recommendedHPET; - protected $recommendedUSBTablet; - protected $recommendedRTCUseUTC; - protected $recommendedChipset; - protected $recommendedAudioController; - protected $recommendedAudioCodec; - protected $recommendedFloppy; - protected $recommendedUSB; - protected $recommendedTFReset; - public function __construct($connection, $values) + public function getRegisters($arg_cpuId) { - $this->connection = $connection; - $this->familyId = $values->familyId; - $this->familyDescription = $values->familyDescription; - $this->id = $values->id; - $this->description = $values->description; - $this->is64Bit = $values->is64Bit; - $this->recommendedIOAPIC = $values->recommendedIOAPIC; - $this->recommendedVirtEx = $values->recommendedVirtEx; - $this->recommendedRAM = $values->recommendedRAM; - $this->recommendedVRAM = $values->recommendedVRAM; - $this->recommended2DVideoAcceleration = $values->recommended2DVideoAcceleration; - $this->recommended3DAcceleration = $values->recommended3DAcceleration; - $this->recommendedHDD = $values->recommendedHDD; - $this->adapterType = $values->adapterType; - $this->recommendedPAE = $values->recommendedPAE; - $this->recommendedDVDStorageController = $values->recommendedDVDStorageController; - $this->recommendedDVDStorageBus = $values->recommendedDVDStorageBus; - $this->recommendedHDStorageController = $values->recommendedHDStorageController; - $this->recommendedHDStorageBus = $values->recommendedHDStorageBus; - $this->recommendedFirmware = $values->recommendedFirmware; - $this->recommendedUSBHID = $values->recommendedUSBHID; - $this->recommendedHPET = $values->recommendedHPET; - $this->recommendedUSBTablet = $values->recommendedUSBTablet; - $this->recommendedRTCUseUTC = $values->recommendedRTCUseUTC; - $this->recommendedChipset = $values->recommendedChipset; - $this->recommendedAudioController = $values->recommendedAudioController; - $this->recommendedAudioCodec = $values->recommendedAudioCodec; - $this->recommendedFloppy = $values->recommendedFloppy; - $this->recommendedUSB = $values->recommendedUSB; - $this->recommendedTFReset = $values->recommendedTFReset; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $response = $this->connection->__soapCall('IMachineDebugger_getRegisters', array((array)$request)); + return array((array)$response->names, (array)$response->values); } - public function getFamilyId() + public function setRegister($arg_cpuId, $arg_name, $arg_value) { - return (string)$this->familyId; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $request->name = $arg_name; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IMachineDebugger_setRegister', array((array)$request)); + return ; } - public function getFamilyDescription() + + public function setRegisters($arg_cpuId, $arg_names, $arg_values) { - return (string)$this->familyDescription; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $request->names = $arg_names; + $request->values = $arg_values; + $response = $this->connection->__soapCall('IMachineDebugger_setRegisters', array((array)$request)); + return ; } - public function getId() + + public function dumpGuestStack($arg_cpuId) { - return (string)$this->id; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $response = $this->connection->__soapCall('IMachineDebugger_dumpGuestStack', array((array)$request)); + return (string)$response->returnval; } - public function getDescription() + + public function resetStats($arg_pattern) { - return (string)$this->description; + $request = new stdClass(); + $request->_this = $this->handle; + $request->pattern = $arg_pattern; + $response = $this->connection->__soapCall('IMachineDebugger_resetStats', array((array)$request)); + return ; } - public function getIs64Bit() + + public function dumpStats($arg_pattern) { - return (bool)$this->is64Bit; + $request = new stdClass(); + $request->_this = $this->handle; + $request->pattern = $arg_pattern; + $response = $this->connection->__soapCall('IMachineDebugger_dumpStats', array((array)$request)); + return ; } - public function getRecommendedIOAPIC() + + public function getStats($arg_pattern, $arg_withDescriptions) { - return (bool)$this->recommendedIOAPIC; + $request = new stdClass(); + $request->_this = $this->handle; + $request->pattern = $arg_pattern; + $request->withDescriptions = $arg_withDescriptions; + $response = $this->connection->__soapCall('IMachineDebugger_getStats', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedVirtEx() + + public function getCPULoad($arg_cpuId) { - return (bool)$this->recommendedVirtEx; + $request = new stdClass(); + $request->_this = $this->handle; + $request->cpuId = $arg_cpuId; + $response = $this->connection->__soapCall('IMachineDebugger_getCPULoad', array((array)$request)); + return array((float)$response->returnval, (float)$response->pctExecuting, (float)$response->pctHalted, (float)$response->pctOther); } - public function getRecommendedRAM() + + public function takeGuestSample($arg_filename, $arg_usInterval, $arg_usSampleTime) { - return (float)$this->recommendedRAM; + $request = new stdClass(); + $request->_this = $this->handle; + $request->filename = $arg_filename; + $request->usInterval = $arg_usInterval; + $request->usSampleTime = $arg_usSampleTime; + $response = $this->connection->__soapCall('IMachineDebugger_takeGuestSample', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); } - public function getRecommendedVRAM() + + public function getUVMAndVMMFunctionTable($arg_magicVersion) { - return (float)$this->recommendedVRAM; + $request = new stdClass(); + $request->_this = $this->handle; + $request->magicVersion = $arg_magicVersion; + $response = $this->connection->__soapCall('IMachineDebugger_getUVMAndVMMFunctionTable', array((array)$request)); + return array((float)$response->returnval, (float)$response->VMMFunctionTable); } - public function getRecommended2DVideoAcceleration() + + public function getSingleStep() { - return (bool)$this->recommended2DVideoAcceleration; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getSingleStep', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommended3DAcceleration() + + public function setSingleStep($value) { - return (bool)$this->recommended3DAcceleration; + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->singleStep = $value; + } + else + { + $request->singleStep = $value->handle; + } + $this->connection->__soapCall('IMachineDebugger_setSingleStep', array((array)$request)); } - public function getRecommendedHDD() + + public function getExecuteAllInIEM() { - return (float)$this->recommendedHDD; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getExecuteAllInIEM', array((array)$request)); + return (bool)$response->returnval; } - public function getAdapterType() + + public function setExecuteAllInIEM($value) { - return new NetworkAdapterType ($this->connection, $this->adapterType); + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->executeAllInIEM = $value; + } + else + { + $request->executeAllInIEM = $value->handle; + } + $this->connection->__soapCall('IMachineDebugger_setExecuteAllInIEM', array((array)$request)); } - public function getRecommendedPAE() + + public function getLogEnabled() { - return (bool)$this->recommendedPAE; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommendedDVDStorageController() + + public function setLogEnabled($value) { - return new StorageControllerType ($this->connection, $this->recommendedDVDStorageController); + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->logEnabled = $value; + } + else + { + $request->logEnabled = $value->handle; + } + $this->connection->__soapCall('IMachineDebugger_setLogEnabled', array((array)$request)); } - public function getRecommendedDVDStorageBus() + + public function getLogDbgFlags() { - return new StorageBus ($this->connection, $this->recommendedDVDStorageBus); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgFlags', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedHDStorageController() + + public function getLogDbgGroups() { - return new StorageControllerType ($this->connection, $this->recommendedHDStorageController); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgGroups', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedHDStorageBus() + + public function getLogDbgDestinations() { - return new StorageBus ($this->connection, $this->recommendedHDStorageBus); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogDbgDestinations', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedFirmware() + + public function getLogRelFlags() { - return new FirmwareType ($this->connection, $this->recommendedFirmware); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogRelFlags', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedUSBHID() + + public function getLogRelGroups() { - return (bool)$this->recommendedUSBHID; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogRelGroups', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedHPET() + + public function getLogRelDestinations() { - return (bool)$this->recommendedHPET; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getLogRelDestinations', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedUSBTablet() + + public function getExecutionEngine() { - return (bool)$this->recommendedUSBTablet; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getExecutionEngine', array((array)$request)); + return new VMExecutionEngine ($this->connection, $response->returnval); } - public function getRecommendedRTCUseUTC() + + public function getHWVirtExNestedPagingEnabled() { - return (bool)$this->recommendedRTCUseUTC; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExNestedPagingEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommendedChipset() + + public function getHWVirtExVPIDEnabled() { - return new ChipsetType ($this->connection, $this->recommendedChipset); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExVPIDEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommendedAudioController() + + public function getHWVirtExUXEnabled() { - return new AudioControllerType ($this->connection, $this->recommendedAudioController); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getHWVirtExUXEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommendedAudioCodec() + + public function getOSName() { - return new AudioCodecType ($this->connection, $this->recommendedAudioCodec); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getOSName', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedFloppy() + + public function getOSVersion() { - return (bool)$this->recommendedFloppy; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getOSVersion', array((array)$request)); + return (string)$response->returnval; } - public function getRecommendedUSB() + + public function getPAEEnabled() { - return (bool)$this->recommendedUSB; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getPAEEnabled', array((array)$request)); + return (bool)$response->returnval; } - public function getRecommendedTFReset() + + public function getVirtualTimeRate() { - return (bool)$this->recommendedTFReset; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getVirtualTimeRate', array((array)$request)); + return (float)$response->returnval; + } + + public function setVirtualTimeRate($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->virtualTimeRate = $value; + } + else + { + $request->virtualTimeRate = $value->handle; + } + $this->connection->__soapCall('IMachineDebugger_setVirtualTimeRate', array((array)$request)); + } + + public function getUptime() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDebugger_getUptime', array((array)$request)); + return (float)$response->returnval; } } /** - * Generated VBoxWebService Struct Collection + * Generated VBoxWebService Managed Object Collection */ -class IGuestOSTypeCollection extends VBox_StructCollection +class IMachineDebuggerCollection extends VBox_ManagedObjectCollection { - protected $_interfaceName = "IGuestOSType"; + protected $_interfaceName = "IMachineDebugger"; } /** - * Generated VBoxWebService Struct + * Generated VBoxWebService Interface Wrapper */ -class IAdditionsFacility extends VBox_Struct +class IUSBDeviceFilters extends VBox_ManagedObject { - protected $classType; - protected $lastUpdated; - protected $name; - protected $status; - protected $type; - public function __construct($connection, $values) + public function createDeviceFilter($arg_name) { - $this->connection = $connection; - $this->classType = $values->classType; - $this->lastUpdated = $values->lastUpdated; - $this->name = $values->name; - $this->status = $values->status; - $this->type = $values->type; + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IUSBDeviceFilters_createDeviceFilter', array((array)$request)); + return new IUSBDeviceFilter ($this->connection, $response->returnval); } - public function getClassType() + public function insertDeviceFilter($arg_position, $arg_filter) { - return new AdditionsFacilityClass ($this->connection, $this->classType); + $request = new stdClass(); + $request->_this = $this->handle; + $request->position = $arg_position; + $request->filter = $arg_filter; + $response = $this->connection->__soapCall('IUSBDeviceFilters_insertDeviceFilter', array((array)$request)); + return ; } - public function getLastUpdated() + + public function removeDeviceFilter($arg_position) { - return (float)$this->lastUpdated; + $request = new stdClass(); + $request->_this = $this->handle; + $request->position = $arg_position; + $response = $this->connection->__soapCall('IUSBDeviceFilters_removeDeviceFilter', array((array)$request)); + return new IUSBDeviceFilter ($this->connection, $response->returnval); + } + + public function getDeviceFilters() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilters_getDeviceFilters', array((array)$request)); + return new IUSBDeviceFilterCollection ($this->connection, (array)$response->returnval); } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBDeviceFiltersCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBDeviceFilters"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBController extends VBox_ManagedObject +{ + public function getName() { - return (string)$this->name; + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBController_getName', array((array)$request)); + return (string)$response->returnval; } - public function getStatus() + + public function setName($value) { - return new AdditionsFacilityStatus ($this->connection, $this->status); + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IUSBController_setName', array((array)$request)); } + public function getType() { - return new AdditionsFacilityType ($this->connection, $this->type); + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBController_getType', array((array)$request)); + return new USBControllerType ($this->connection, $response->returnval); + } + + public function setType($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->type = $value; + } + else + { + $request->type = $value->handle; + } + $this->connection->__soapCall('IUSBController_setType', array((array)$request)); + } + + public function getUSBStandard() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBController_getUSBStandard', array((array)$request)); + return (int)$response->returnval; } } /** - * Generated VBoxWebService Struct Collection + * Generated VBoxWebService Managed Object Collection + */ +class IUSBControllerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBController"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBDevice extends VBox_ManagedObject +{ + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getVendorId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getVendorId', array((array)$request)); + return (int)$response->returnval; + } + + public function getProductId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getProductId', array((array)$request)); + return (int)$response->returnval; + } + + public function getRevision() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getRevision', array((array)$request)); + return (int)$response->returnval; + } + + public function getManufacturer() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getManufacturer', array((array)$request)); + return (string)$response->returnval; + } + + public function getProduct() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getProduct', array((array)$request)); + return (string)$response->returnval; + } + + public function getSerialNumber() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getSerialNumber', array((array)$request)); + return (string)$response->returnval; + } + + public function getAddress() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getAddress', array((array)$request)); + return (string)$response->returnval; + } + + public function getPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getPort', array((array)$request)); + return (int)$response->returnval; + } + + public function getPortPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getPortPath', array((array)$request)); + return (string)$response->returnval; + } + + public function getVersion() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getVersion', array((array)$request)); + return (int)$response->returnval; + } + + public function getSpeed() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getSpeed', array((array)$request)); + return new USBConnectionSpeed ($this->connection, $response->returnval); + } + + public function getRemote() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getRemote', array((array)$request)); + return (bool)$response->returnval; + } + + public function getDeviceInfo() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getDeviceInfo', array((array)$request)); + return (array)$response->returnval; + } + + public function getBackend() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDevice_getBackend', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBDeviceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBDevice"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBDeviceFilter extends VBox_ManagedObject +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function setName($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setName', array((array)$request)); + } + + public function getActive() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getActive', array((array)$request)); + return (bool)$response->returnval; + } + + public function setActive($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->active = $value; + } + else + { + $request->active = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setActive', array((array)$request)); + } + + public function getVendorId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getVendorId', array((array)$request)); + return (string)$response->returnval; + } + + public function setVendorId($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->vendorId = $value; + } + else + { + $request->vendorId = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setVendorId', array((array)$request)); + } + + public function getProductId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getProductId', array((array)$request)); + return (string)$response->returnval; + } + + public function setProductId($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->productId = $value; + } + else + { + $request->productId = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setProductId', array((array)$request)); + } + + public function getRevision() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getRevision', array((array)$request)); + return (string)$response->returnval; + } + + public function setRevision($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->revision = $value; + } + else + { + $request->revision = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setRevision', array((array)$request)); + } + + public function getManufacturer() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getManufacturer', array((array)$request)); + return (string)$response->returnval; + } + + public function setManufacturer($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->manufacturer = $value; + } + else + { + $request->manufacturer = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setManufacturer', array((array)$request)); + } + + public function getProduct() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getProduct', array((array)$request)); + return (string)$response->returnval; + } + + public function setProduct($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->product = $value; + } + else + { + $request->product = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setProduct', array((array)$request)); + } + + public function getSerialNumber() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getSerialNumber', array((array)$request)); + return (string)$response->returnval; + } + + public function setSerialNumber($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->serialNumber = $value; + } + else + { + $request->serialNumber = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setSerialNumber', array((array)$request)); + } + + public function getPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getPort', array((array)$request)); + return (string)$response->returnval; + } + + public function setPort($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->port = $value; + } + else + { + $request->port = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setPort', array((array)$request)); + } + + public function getRemote() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getRemote', array((array)$request)); + return (string)$response->returnval; + } + + public function setRemote($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->remote = $value; + } + else + { + $request->remote = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setRemote', array((array)$request)); + } + + public function getMaskedInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceFilter_getMaskedInterfaces', array((array)$request)); + return (float)$response->returnval; + } + + public function setMaskedInterfaces($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->maskedInterfaces = $value; + } + else + { + $request->maskedInterfaces = $value->handle; + } + $this->connection->__soapCall('IUSBDeviceFilter_setMaskedInterfaces', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBDeviceFilterCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBDeviceFilter"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostUSBDevice extends IUSBDevice +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostUSBDevice_getState', array((array)$request)); + return new USBDeviceState ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostUSBDeviceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostUSBDevice"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostUSBDeviceFilter extends IUSBDeviceFilter +{ + + public function getAction() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostUSBDeviceFilter_getAction', array((array)$request)); + return new USBDeviceFilterAction ($this->connection, $response->returnval); + } + + public function setAction($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->action = $value; + } + else + { + $request->action = $value->handle; + } + $this->connection->__soapCall('IHostUSBDeviceFilter_setAction', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostUSBDeviceFilterCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostUSBDeviceFilter"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBProxyBackend extends VBox_ManagedObject +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBProxyBackend_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBProxyBackend_getType', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBProxyBackendCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBProxyBackend"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IAudioAdapter extends VBox_ManagedObject +{ + + public function setProperty($arg_key, $arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IAudioAdapter_setProperty', array((array)$request)); + return ; + } + + public function getProperty($arg_key) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $response = $this->connection->__soapCall('IAudioAdapter_getProperty', array((array)$request)); + return (string)$response->returnval; + } + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function setEnabled($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setEnabled', array((array)$request)); + } + + public function getEnabledIn() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getEnabledIn', array((array)$request)); + return (bool)$response->returnval; + } + + public function setEnabledIn($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enabledIn = $value; + } + else + { + $request->enabledIn = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setEnabledIn', array((array)$request)); + } + + public function getEnabledOut() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getEnabledOut', array((array)$request)); + return (bool)$response->returnval; + } + + public function setEnabledOut($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enabledOut = $value; + } + else + { + $request->enabledOut = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setEnabledOut', array((array)$request)); + } + + public function getAudioController() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getAudioController', array((array)$request)); + return new AudioControllerType ($this->connection, $response->returnval); + } + + public function setAudioController($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->audioController = $value; + } + else + { + $request->audioController = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setAudioController', array((array)$request)); + } + + public function getAudioCodec() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getAudioCodec', array((array)$request)); + return new AudioCodecType ($this->connection, $response->returnval); + } + + public function setAudioCodec($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->audioCodec = $value; + } + else + { + $request->audioCodec = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setAudioCodec', array((array)$request)); + } + + public function getAudioDriver() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getAudioDriver', array((array)$request)); + return new AudioDriverType ($this->connection, $response->returnval); + } + + public function setAudioDriver($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->audioDriver = $value; + } + else + { + $request->audioDriver = $value->handle; + } + $this->connection->__soapCall('IAudioAdapter_setAudioDriver', array((array)$request)); + } + + public function getPropertiesList() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapter_getPropertiesList', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IAudioAdapterCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IAudioAdapter"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostAudioDevice extends VBox_ManagedObject +{ + + public function getProperty($arg_key) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $response = $this->connection->__soapCall('IHostAudioDevice_getProperty', array((array)$request)); + return (string)$response->returnval; + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function setName($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setName', array((array)$request)); + } + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getType', array((array)$request)); + return new AudioDeviceType ($this->connection, $response->returnval); + } + + public function setType($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->type = $value; + } + else + { + $request->type = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setType', array((array)$request)); + } + + public function getUsage() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getUsage', array((array)$request)); + return new AudioDirection ($this->connection, $response->returnval); + } + + public function setUsage($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->usage = $value; + } + else + { + $request->usage = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setUsage', array((array)$request)); + } + + public function getDefaultIn() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getDefaultIn', array((array)$request)); + return (bool)$response->returnval; + } + + public function setDefaultIn($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->defaultIn = $value; + } + else + { + $request->defaultIn = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setDefaultIn', array((array)$request)); + } + + public function getDefaultOut() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getDefaultOut', array((array)$request)); + return (bool)$response->returnval; + } + + public function setDefaultOut($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->defaultOut = $value; + } + else + { + $request->defaultOut = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setDefaultOut', array((array)$request)); + } + + public function getIsHotPlug() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getIsHotPlug', array((array)$request)); + return (bool)$response->returnval; + } + + public function setIsHotPlug($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->isHotPlug = $value; + } + else + { + $request->isHotPlug = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setIsHotPlug', array((array)$request)); + } + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDevice_getState', array((array)$request)); + return new AudioDeviceState ($this->connection, $response->returnval); + } + + public function setState($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->state = $value; + } + else + { + $request->state = $value->handle; + } + $this->connection->__soapCall('IHostAudioDevice_setState', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostAudioDeviceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostAudioDevice"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IAudioSettings extends VBox_ManagedObject +{ + + public function getHostAudioDevice($arg_usage) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->usage = $arg_usage; + $response = $this->connection->__soapCall('IAudioSettings_getHostAudioDevice', array((array)$request)); + return new IHostAudioDevice ($this->connection, $response->returnval); + } + + public function setHostAudioDevice($arg_device, $arg_usage) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->device = $arg_device; + $request->usage = $arg_usage; + $response = $this->connection->__soapCall('IAudioSettings_setHostAudioDevice', array((array)$request)); + return ; + } + + public function getAdapter() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioSettings_getAdapter', array((array)$request)); + return new IAudioAdapter ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IAudioSettingsCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IAudioSettings"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVRDEServer extends VBox_ManagedObject +{ + + public function setVRDEProperty($arg_key, $arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IVRDEServer_setVRDEProperty', array((array)$request)); + return ; + } + + public function getVRDEProperty($arg_key) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->key = $arg_key; + $response = $this->connection->__soapCall('IVRDEServer_getVRDEProperty', array((array)$request)); + return (string)$response->returnval; + } + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function setEnabled($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enabled = $value; + } + else + { + $request->enabled = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setEnabled', array((array)$request)); + } + + public function getAuthType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getAuthType', array((array)$request)); + return new AuthType ($this->connection, $response->returnval); + } + + public function setAuthType($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->authType = $value; + } + else + { + $request->authType = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setAuthType', array((array)$request)); + } + + public function getAuthTimeout() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getAuthTimeout', array((array)$request)); + return (float)$response->returnval; + } + + public function setAuthTimeout($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->authTimeout = $value; + } + else + { + $request->authTimeout = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setAuthTimeout', array((array)$request)); + } + + public function getAllowMultiConnection() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getAllowMultiConnection', array((array)$request)); + return (bool)$response->returnval; + } + + public function setAllowMultiConnection($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->allowMultiConnection = $value; + } + else + { + $request->allowMultiConnection = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setAllowMultiConnection', array((array)$request)); + } + + public function getReuseSingleConnection() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getReuseSingleConnection', array((array)$request)); + return (bool)$response->returnval; + } + + public function setReuseSingleConnection($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->reuseSingleConnection = $value; + } + else + { + $request->reuseSingleConnection = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setReuseSingleConnection', array((array)$request)); + } + + public function getVRDEExtPack() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getVRDEExtPack', array((array)$request)); + return (string)$response->returnval; + } + + public function setVRDEExtPack($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->VRDEExtPack = $value; + } + else + { + $request->VRDEExtPack = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setVRDEExtPack', array((array)$request)); + } + + public function getAuthLibrary() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getAuthLibrary', array((array)$request)); + return (string)$response->returnval; + } + + public function setAuthLibrary($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->authLibrary = $value; + } + else + { + $request->authLibrary = $value->handle; + } + $this->connection->__soapCall('IVRDEServer_setAuthLibrary', array((array)$request)); + } + + public function getVRDEProperties() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServer_getVRDEProperties', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVRDEServerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVRDEServer"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISharedFolder extends VBox_ManagedObject +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getHostPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getHostPath', array((array)$request)); + return (string)$response->returnval; + } + + public function getAccessible() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getAccessible', array((array)$request)); + return (bool)$response->returnval; + } + + public function getWritable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getWritable', array((array)$request)); + return (bool)$response->returnval; + } + + public function setWritable($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->writable = $value; + } + else + { + $request->writable = $value->handle; + } + $this->connection->__soapCall('ISharedFolder_setWritable', array((array)$request)); + } + + public function getAutoMount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getAutoMount', array((array)$request)); + return (bool)$response->returnval; + } + + public function setAutoMount($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->autoMount = $value; + } + else + { + $request->autoMount = $value->handle; + } + $this->connection->__soapCall('ISharedFolder_setAutoMount', array((array)$request)); + } + + public function getAutoMountPoint() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getAutoMountPoint', array((array)$request)); + return (string)$response->returnval; + } + + public function setAutoMountPoint($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->autoMountPoint = $value; + } + else + { + $request->autoMountPoint = $value->handle; + } + $this->connection->__soapCall('ISharedFolder_setAutoMountPoint', array((array)$request)); + } + + public function getLastAccessError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getLastAccessError', array((array)$request)); + return (string)$response->returnval; + } + + public function getSymlinkPolicy() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolder_getSymlinkPolicy', array((array)$request)); + return new SymlinkPolicy ($this->connection, $response->returnval); + } + + public function setSymlinkPolicy($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->symlinkPolicy = $value; + } + else + { + $request->symlinkPolicy = $value->handle; + } + $this->connection->__soapCall('ISharedFolder_setSymlinkPolicy', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISharedFolderCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISharedFolder"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISession extends VBox_ManagedObject +{ + + public function unlockMachine() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_unlockMachine', array((array)$request)); + return ; + } + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_getState', array((array)$request)); + return new SessionState ($this->connection, $response->returnval); + } + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_getType', array((array)$request)); + return new SessionType ($this->connection, $response->returnval); + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function setName($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('ISession_setName', array((array)$request)); + } + + public function getMachine() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_getMachine', array((array)$request)); + return new IMachine ($this->connection, $response->returnval); + } + + public function getConsole() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISession_getConsole', array((array)$request)); + return new IConsole ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISessionCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISession"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStorageController extends VBox_ManagedObject +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function setName($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('IStorageController_setName', array((array)$request)); + } + + public function getMaxDevicesPerPortCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getMaxDevicesPerPortCount', array((array)$request)); + return (float)$response->returnval; + } + + public function getMinPortCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getMinPortCount', array((array)$request)); + return (float)$response->returnval; + } + + public function getMaxPortCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getMaxPortCount', array((array)$request)); + return (float)$response->returnval; + } + + public function getInstance() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getInstance', array((array)$request)); + return (float)$response->returnval; + } + + public function setInstance($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->instance = $value; + } + else + { + $request->instance = $value->handle; + } + $this->connection->__soapCall('IStorageController_setInstance', array((array)$request)); + } + + public function getPortCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getPortCount', array((array)$request)); + return (float)$response->returnval; + } + + public function setPortCount($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->portCount = $value; + } + else + { + $request->portCount = $value->handle; + } + $this->connection->__soapCall('IStorageController_setPortCount', array((array)$request)); + } + + public function getBus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getBus', array((array)$request)); + return new StorageBus ($this->connection, $response->returnval); + } + + public function getControllerType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getControllerType', array((array)$request)); + return new StorageControllerType ($this->connection, $response->returnval); + } + + public function setControllerType($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->controllerType = $value; + } + else + { + $request->controllerType = $value->handle; + } + $this->connection->__soapCall('IStorageController_setControllerType', array((array)$request)); + } + + public function getUseHostIOCache() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getUseHostIOCache', array((array)$request)); + return (bool)$response->returnval; + } + + public function setUseHostIOCache($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->useHostIOCache = $value; + } + else + { + $request->useHostIOCache = $value->handle; + } + $this->connection->__soapCall('IStorageController_setUseHostIOCache', array((array)$request)); + } + + public function getBootable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageController_getBootable', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStorageControllerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStorageController"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IManagedObjectRef extends VBox_ManagedObject +{ + + public function getInterfaceName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IManagedObjectRef_getInterfaceName', array((array)$request)); + return (string)$response->returnval; + } + + public function release() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IManagedObjectRef_release', array((array)$request)); + return ; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IManagedObjectRefCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IManagedObjectRef"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IWebsessionManager extends VBox_ManagedObject +{ + + public function logon($arg_username, $arg_password) + { + $request = new stdClass(); + + $request->username = $arg_username; + $request->password = $arg_password; + $response = $this->connection->__soapCall('IWebsessionManager_logon', array((array)$request)); + return new IVirtualBox ($this->connection, $response->returnval); + } + + public function getSessionObject($arg_refIVirtualBox) + { + $request = new stdClass(); + + $request->refIVirtualBox = $arg_refIVirtualBox; + $response = $this->connection->__soapCall('IWebsessionManager_getSessionObject', array((array)$request)); + return new ISession ($this->connection, $response->returnval); + } + + public function logoff($arg_refIVirtualBox) + { + $request = new stdClass(); + + $request->refIVirtualBox = $arg_refIVirtualBox; + $response = $this->connection->__soapCall('IWebsessionManager_logoff', array((array)$request)); + return ; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IWebsessionManagerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IWebsessionManager"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPerformanceMetric extends VBox_ManagedObject +{ + + public function getMetricName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getMetricName', array((array)$request)); + return (string)$response->returnval; + } + + public function getObject() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getObject', array((array)$request)); + return new VBox_ManagedObject ($this->connection, $response->returnval); + } + + public function getDescription() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getDescription', array((array)$request)); + return (string)$response->returnval; + } + + public function getPeriod() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getPeriod', array((array)$request)); + return (float)$response->returnval; + } + + public function getCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getCount', array((array)$request)); + return (float)$response->returnval; + } + + public function getUnit() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getUnit', array((array)$request)); + return (string)$response->returnval; + } + + public function getMinimumValue() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getMinimumValue', array((array)$request)); + return (int)$response->returnval; + } + + public function getMaximumValue() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceMetric_getMaximumValue', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IPerformanceMetricCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IPerformanceMetric"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IPerformanceCollector extends VBox_ManagedObject +{ + + public function getMetrics($arg_metricNames, $arg_objects) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricNames = $arg_metricNames; + $request->objects = $arg_objects; + $response = $this->connection->__soapCall('IPerformanceCollector_getMetrics', array((array)$request)); + return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + } + + public function setupMetrics($arg_metricNames, $arg_objects, $arg_period, $arg_count) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricNames = $arg_metricNames; + $request->objects = $arg_objects; + $request->period = $arg_period; + $request->count = $arg_count; + $response = $this->connection->__soapCall('IPerformanceCollector_setupMetrics', array((array)$request)); + return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + } + + public function enableMetrics($arg_metricNames, $arg_objects) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricNames = $arg_metricNames; + $request->objects = $arg_objects; + $response = $this->connection->__soapCall('IPerformanceCollector_enableMetrics', array((array)$request)); + return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + } + + public function disableMetrics($arg_metricNames, $arg_objects) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricNames = $arg_metricNames; + $request->objects = $arg_objects; + $response = $this->connection->__soapCall('IPerformanceCollector_disableMetrics', array((array)$request)); + return new IPerformanceMetricCollection ($this->connection, (array)$response->returnval); + } + + public function queryMetricsData($arg_metricNames, $arg_objects) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricNames = $arg_metricNames; + $request->objects = $arg_objects; + $response = $this->connection->__soapCall('IPerformanceCollector_queryMetricsData', array((array)$request)); + return array((array)$response->returnval, (array)$response->returnMetricNames, new VBox_ManagedObjectCollection ($this->connection, (array)$response->returnObjects), (array)$response->returnUnits, (array)$response->returnScales, (array)$response->returnSequenceNumbers, (array)$response->returnDataIndices, (array)$response->returnDataLengths); + } + + public function getMetricNames() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IPerformanceCollector_getMetricNames', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IPerformanceCollectorCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IPerformanceCollector"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATEngine extends VBox_ManagedObject +{ + + public function setNetworkSettings($arg_mtu, $arg_sockSnd, $arg_sockRcv, $arg_TcpWndSnd, $arg_TcpWndRcv) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->mtu = $arg_mtu; + $request->sockSnd = $arg_sockSnd; + $request->sockRcv = $arg_sockRcv; + $request->TcpWndSnd = $arg_TcpWndSnd; + $request->TcpWndRcv = $arg_TcpWndRcv; + $response = $this->connection->__soapCall('INATEngine_setNetworkSettings', array((array)$request)); + return ; + } + + public function getNetworkSettings() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getNetworkSettings', array((array)$request)); + return array((float)$response->mtu, (float)$response->sockSnd, (float)$response->sockRcv, (float)$response->TcpWndSnd, (float)$response->TcpWndRcv); + } + + public function addRedirect($arg_name, $arg_proto, $arg_hostIP, $arg_hostPort, $arg_guestIP, $arg_guestPort) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $request->proto = $arg_proto; + $request->hostIP = $arg_hostIP; + $request->hostPort = $arg_hostPort; + $request->guestIP = $arg_guestIP; + $request->guestPort = $arg_guestPort; + $response = $this->connection->__soapCall('INATEngine_addRedirect', array((array)$request)); + return ; + } + + public function removeRedirect($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('INATEngine_removeRedirect', array((array)$request)); + return ; + } + + public function getNetwork() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getNetwork', array((array)$request)); + return (string)$response->returnval; + } + + public function setNetwork($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->network = $value; + } + else + { + $request->network = $value->handle; + } + $this->connection->__soapCall('INATEngine_setNetwork', array((array)$request)); + } + + public function getHostIP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getHostIP', array((array)$request)); + return (string)$response->returnval; + } + + public function setHostIP($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->hostIP = $value; + } + else + { + $request->hostIP = $value->handle; + } + $this->connection->__soapCall('INATEngine_setHostIP', array((array)$request)); + } + + public function getTFTPPrefix() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getTFTPPrefix', array((array)$request)); + return (string)$response->returnval; + } + + public function setTFTPPrefix($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->TFTPPrefix = $value; + } + else + { + $request->TFTPPrefix = $value->handle; + } + $this->connection->__soapCall('INATEngine_setTFTPPrefix', array((array)$request)); + } + + public function getTFTPBootFile() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getTFTPBootFile', array((array)$request)); + return (string)$response->returnval; + } + + public function setTFTPBootFile($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->TFTPBootFile = $value; + } + else + { + $request->TFTPBootFile = $value->handle; + } + $this->connection->__soapCall('INATEngine_setTFTPBootFile', array((array)$request)); + } + + public function getTFTPNextServer() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getTFTPNextServer', array((array)$request)); + return (string)$response->returnval; + } + + public function setTFTPNextServer($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->TFTPNextServer = $value; + } + else + { + $request->TFTPNextServer = $value->handle; + } + $this->connection->__soapCall('INATEngine_setTFTPNextServer', array((array)$request)); + } + + public function getAliasMode() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getAliasMode', array((array)$request)); + return (float)$response->returnval; + } + + public function setAliasMode($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->aliasMode = $value; + } + else + { + $request->aliasMode = $value->handle; + } + $this->connection->__soapCall('INATEngine_setAliasMode', array((array)$request)); + } + + public function getDNSPassDomain() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getDNSPassDomain', array((array)$request)); + return (bool)$response->returnval; + } + + public function setDNSPassDomain($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->DNSPassDomain = $value; + } + else + { + $request->DNSPassDomain = $value->handle; + } + $this->connection->__soapCall('INATEngine_setDNSPassDomain', array((array)$request)); + } + + public function getDNSProxy() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getDNSProxy', array((array)$request)); + return (bool)$response->returnval; + } + + public function setDNSProxy($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->DNSProxy = $value; + } + else + { + $request->DNSProxy = $value->handle; + } + $this->connection->__soapCall('INATEngine_setDNSProxy', array((array)$request)); + } + + public function getDNSUseHostResolver() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getDNSUseHostResolver', array((array)$request)); + return (bool)$response->returnval; + } + + public function setDNSUseHostResolver($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->DNSUseHostResolver = $value; + } + else + { + $request->DNSUseHostResolver = $value->handle; + } + $this->connection->__soapCall('INATEngine_setDNSUseHostResolver', array((array)$request)); + } + + public function getRedirects() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getRedirects', array((array)$request)); + return (array)$response->returnval; + } + + public function getLocalhostReachable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getLocalhostReachable', array((array)$request)); + return (bool)$response->returnval; + } + + public function setLocalhostReachable($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->localhostReachable = $value; + } + else + { + $request->localhostReachable = $value->handle; + } + $this->connection->__soapCall('INATEngine_setLocalhostReachable', array((array)$request)); + } + + public function getForwardBroadcast() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getForwardBroadcast', array((array)$request)); + return (bool)$response->returnval; + } + + public function setForwardBroadcast($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->forwardBroadcast = $value; + } + else + { + $request->forwardBroadcast = $value->handle; + } + $this->connection->__soapCall('INATEngine_setForwardBroadcast', array((array)$request)); + } + + public function getEnableTFTP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getEnableTFTP', array((array)$request)); + return (bool)$response->returnval; + } + + public function setEnableTFTP($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->enableTFTP = $value; + } + else + { + $request->enableTFTP = $value->handle; + } + $this->connection->__soapCall('INATEngine_setEnableTFTP', array((array)$request)); + } + + public function getNatMRU() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getNatMRU', array((array)$request)); + return (float)$response->returnval; + } + + public function setNatMRU($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->natMRU = $value; + } + else + { + $request->natMRU = $value->handle; + } + $this->connection->__soapCall('INATEngine_setNatMRU', array((array)$request)); + } + + public function getIPv6Enabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getIPv6Enabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function setIPv6Enabled($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IPv6Enabled = $value; + } + else + { + $request->IPv6Enabled = $value->handle; + } + $this->connection->__soapCall('INATEngine_setIPv6Enabled', array((array)$request)); + } + + public function getIPv6Prefix() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATEngine_getIPv6Prefix', array((array)$request)); + return (string)$response->returnval; + } + + public function setIPv6Prefix($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->IPv6Prefix = $value; + } + else + { + $request->IPv6Prefix = $value->handle; + } + $this->connection->__soapCall('INATEngine_setIPv6Prefix', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATEngineCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATEngine"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IBandwidthGroup extends VBox_ManagedObject +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthGroup_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthGroup_getType', array((array)$request)); + return new BandwidthGroupType ($this->connection, $response->returnval); + } + + public function getReference() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthGroup_getReference', array((array)$request)); + return (float)$response->returnval; + } + + public function getMaxBytesPerSec() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthGroup_getMaxBytesPerSec', array((array)$request)); + return (float)$response->returnval; + } + + public function setMaxBytesPerSec($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->maxBytesPerSec = $value; + } + else + { + $request->maxBytesPerSec = $value->handle; + } + $this->connection->__soapCall('IBandwidthGroup_setMaxBytesPerSec', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IBandwidthGroupCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IBandwidthGroup"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IBandwidthControl extends VBox_ManagedObject +{ + + public function createBandwidthGroup($arg_name, $arg_type, $arg_maxBytesPerSec) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $request->type = $arg_type; + $request->maxBytesPerSec = $arg_maxBytesPerSec; + $response = $this->connection->__soapCall('IBandwidthControl_createBandwidthGroup', array((array)$request)); + return ; + } + + public function deleteBandwidthGroup($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IBandwidthControl_deleteBandwidthGroup', array((array)$request)); + return ; + } + + public function getBandwidthGroup($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('IBandwidthControl_getBandwidthGroup', array((array)$request)); + return new IBandwidthGroup ($this->connection, $response->returnval); + } + + public function getAllBandwidthGroups() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthControl_getAllBandwidthGroups', array((array)$request)); + return new IBandwidthGroupCollection ($this->connection, (array)$response->returnval); + } + + public function getNumGroups() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthControl_getNumGroups', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IBandwidthControlCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IBandwidthControl"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDebugControl extends VBox_ManagedObject +{ + + public function getDebugProvider() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDebugControl_getDebugProvider', array((array)$request)); + return new GuestDebugProvider ($this->connection, $response->returnval); + } + + public function setDebugProvider($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->debugProvider = $value; + } + else + { + $request->debugProvider = $value->handle; + } + $this->connection->__soapCall('IGuestDebugControl_setDebugProvider', array((array)$request)); + } + + public function getDebugIoProvider() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDebugControl_getDebugIoProvider', array((array)$request)); + return new GuestDebugIoProvider ($this->connection, $response->returnval); + } + + public function setDebugIoProvider($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->debugIoProvider = $value; + } + else + { + $request->debugIoProvider = $value->handle; + } + $this->connection->__soapCall('IGuestDebugControl_setDebugIoProvider', array((array)$request)); + } + + public function getDebugAddress() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDebugControl_getDebugAddress', array((array)$request)); + return (string)$response->returnval; + } + + public function setDebugAddress($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->debugAddress = $value; + } + else + { + $request->debugAddress = $value->handle; + } + $this->connection->__soapCall('IGuestDebugControl_setDebugAddress', array((array)$request)); + } + + public function getDebugPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDebugControl_getDebugPort', array((array)$request)); + return (float)$response->returnval; + } + + public function setDebugPort($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->debugPort = $value; + } + else + { + $request->debugPort = $value->handle; + } + $this->connection->__soapCall('IGuestDebugControl_setDebugPort', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDebugControlCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDebugControl"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IEventSource extends VBox_ManagedObject +{ + + public function createListener() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEventSource_createListener', array((array)$request)); + return new IEventListener ($this->connection, $response->returnval); + } + + public function createAggregator($arg_subordinates) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->subordinates = $arg_subordinates; + $response = $this->connection->__soapCall('IEventSource_createAggregator', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); + } + + public function registerListener($arg_listener, $arg_interesting, $arg_active) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->listener = $arg_listener; + $request->interesting = $arg_interesting; + $request->active = $arg_active; + $response = $this->connection->__soapCall('IEventSource_registerListener', array((array)$request)); + return ; + } + + public function unregisterListener($arg_listener) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->listener = $arg_listener; + $response = $this->connection->__soapCall('IEventSource_unregisterListener', array((array)$request)); + return ; + } + + public function fireEvent($arg_event, $arg_timeout) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->event = $arg_event; + $request->timeout = $arg_timeout; + $response = $this->connection->__soapCall('IEventSource_fireEvent', array((array)$request)); + return (bool)$response->returnval; + } + + public function getEvent($arg_listener, $arg_timeout) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->listener = $arg_listener; + $request->timeout = $arg_timeout; + $response = $this->connection->__soapCall('IEventSource_getEvent', array((array)$request)); + return new IEvent ($this->connection, $response->returnval); + } + + public function eventProcessed($arg_listener, $arg_event) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->listener = $arg_listener; + $request->event = $arg_event; + $response = $this->connection->__soapCall('IEventSource_eventProcessed', array((array)$request)); + return ; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IEventSourceCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IEventSource"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IEventListener extends VBox_ManagedObject +{ + + public function handleEvent($arg_event) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->event = $arg_event; + $response = $this->connection->__soapCall('IEventListener_handleEvent', array((array)$request)); + return ; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IEventListenerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IEventListener"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IEvent extends VBox_ManagedObject +{ + + public function setProcessed() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEvent_setProcessed', array((array)$request)); + return ; + } + + public function waitProcessed($arg_timeout) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->timeout = $arg_timeout; + $response = $this->connection->__soapCall('IEvent_waitProcessed', array((array)$request)); + return (bool)$response->returnval; + } + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEvent_getType', array((array)$request)); + return new VBoxEventType ($this->connection, $response->returnval); + } + + public function getSource() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEvent_getSource', array((array)$request)); + return new IEventSource ($this->connection, $response->returnval); + } + + public function getWaitable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEvent_getWaitable', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IReusableEvent extends IEvent +{ + + public function reuse() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IReusableEvent_reuse', array((array)$request)); + return ; + } + + public function getGeneration() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IReusableEvent_getGeneration', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IReusableEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IReusableEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachineEvent extends IEvent +{ + + public function getMachineId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineEvent_getMachineId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMachineEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMachineEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachineStateChangedEvent extends IMachineEvent +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineStateChangedEvent_getState', array((array)$request)); + return new MachineState ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMachineStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMachineStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IExtPackInstalledEvent extends IEvent +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtPackInstalledEvent_getName', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IExtPackInstalledEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IExtPackInstalledEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IExtPackUninstalledEvent extends IEvent +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtPackUninstalledEvent_getName', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IExtPackUninstalledEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IExtPackUninstalledEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachineDataChangedEvent extends IMachineEvent +{ + + public function getTemporary() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineDataChangedEvent_getTemporary', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMachineDataChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMachineDataChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMediumRegisteredEvent extends IEvent +{ + + public function getMediumId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumRegisteredEvent_getMediumId', array((array)$request)); + return (string)$response->returnval; + } + + public function getMediumType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumRegisteredEvent_getMediumType', array((array)$request)); + return new DeviceType ($this->connection, $response->returnval); + } + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMediumRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMediumRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMediumConfigChangedEvent extends IEvent +{ + + public function getMedium() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumConfigChangedEvent_getMedium', array((array)$request)); + return new IMedium ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMediumConfigChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMediumConfigChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachineRegisteredEvent extends IMachineEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMachineRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMachineRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISessionStateChangedEvent extends IMachineEvent +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISessionStateChangedEvent_getState', array((array)$request)); + return new SessionState ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISessionStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISessionStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestPropertyChangedEvent extends IMachineEvent +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getValue() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getValue', array((array)$request)); + return (string)$response->returnval; + } + + public function getFlags() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getFlags', array((array)$request)); + return (string)$response->returnval; + } + + public function getFWasDeleted() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestPropertyChangedEvent_getFWasDeleted', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestPropertyChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestPropertyChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISnapshotEvent extends IMachineEvent +{ + + public function getSnapshotId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISnapshotEvent_getSnapshotId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISnapshotEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISnapshotEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISnapshotTakenEvent extends ISnapshotEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISnapshotTakenEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISnapshotTakenEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISnapshotTakenEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISnapshotDeletedEvent extends ISnapshotEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISnapshotDeletedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISnapshotDeletedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISnapshotDeletedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISnapshotRestoredEvent extends ISnapshotEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISnapshotRestoredEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISnapshotRestoredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISnapshotRestoredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISnapshotChangedEvent extends ISnapshotEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISnapshotChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISnapshotChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISnapshotChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMousePointerShapeChangedEvent extends IEvent +{ + + public function getVisible() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getVisible', array((array)$request)); + return (bool)$response->returnval; + } + + public function getAlpha() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getAlpha', array((array)$request)); + return (bool)$response->returnval; + } + + public function getXhot() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getXhot', array((array)$request)); + return (float)$response->returnval; + } + + public function getYhot() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getYhot', array((array)$request)); + return (float)$response->returnval; + } + + public function getWidth() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getWidth', array((array)$request)); + return (float)$response->returnval; + } + + public function getHeight() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getHeight', array((array)$request)); + return (float)$response->returnval; + } + + public function getShape() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMousePointerShapeChangedEvent_getShape', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMousePointerShapeChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMousePointerShapeChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMouseCapabilityChangedEvent extends IEvent +{ + + public function getSupportsAbsolute() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsAbsolute', array((array)$request)); + return (bool)$response->returnval; + } + + public function getSupportsRelative() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsRelative', array((array)$request)); + return (bool)$response->returnval; + } + + public function getSupportsTouchScreen() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsTouchScreen', array((array)$request)); + return (bool)$response->returnval; + } + + public function getSupportsTouchPad() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getSupportsTouchPad', array((array)$request)); + return (bool)$response->returnval; + } + + public function getNeedsHostCursor() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMouseCapabilityChangedEvent_getNeedsHostCursor', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMouseCapabilityChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMouseCapabilityChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IKeyboardLedsChangedEvent extends IEvent +{ + + public function getNumLock() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getNumLock', array((array)$request)); + return (bool)$response->returnval; + } + + public function getCapsLock() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getCapsLock', array((array)$request)); + return (bool)$response->returnval; + } + + public function getScrollLock() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IKeyboardLedsChangedEvent_getScrollLock', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IKeyboardLedsChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IKeyboardLedsChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStateChangedEvent extends IEvent +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStateChangedEvent_getState', array((array)$request)); + return new MachineState ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IAdditionsStateChangedEvent extends IEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAdditionsStateChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IAdditionsStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IAdditionsStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INetworkAdapterChangedEvent extends IEvent +{ + + public function getNetworkAdapter() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INetworkAdapterChangedEvent_getNetworkAdapter', array((array)$request)); + return new INetworkAdapter ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INetworkAdapterChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INetworkAdapterChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IAudioAdapterChangedEvent extends IEvent +{ + + public function getAudioAdapter() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IAudioAdapterChangedEvent_getAudioAdapter', array((array)$request)); + return new IAudioAdapter ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IAudioAdapterChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IAudioAdapterChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISerialPortChangedEvent extends IEvent +{ + + public function getSerialPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISerialPortChangedEvent_getSerialPort', array((array)$request)); + return new ISerialPort ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISerialPortChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISerialPortChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IParallelPortChangedEvent extends IEvent +{ + + public function getParallelPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IParallelPortChangedEvent_getParallelPort', array((array)$request)); + return new IParallelPort ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IParallelPortChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IParallelPortChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStorageControllerChangedEvent extends IEvent +{ + + public function getMachinId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageControllerChangedEvent_getMachinId', array((array)$request)); + return (string)$response->returnval; + } + + public function getControllerName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageControllerChangedEvent_getControllerName', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStorageControllerChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStorageControllerChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMediumChangedEvent extends IEvent +{ + + public function getMediumAttachment() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMediumChangedEvent_getMediumAttachment', array((array)$request)); + return new IMediumAttachment ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMediumChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMediumChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IClipboardModeChangedEvent extends IEvent +{ + + public function getClipboardMode() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IClipboardModeChangedEvent_getClipboardMode', array((array)$request)); + return new ClipboardMode ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IClipboardModeChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IClipboardModeChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IClipboardFileTransferModeChangedEvent extends IEvent +{ + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IClipboardFileTransferModeChangedEvent_getEnabled', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IClipboardFileTransferModeChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IClipboardFileTransferModeChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IClipboardEvent extends IEvent +{ + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IClipboardEvent_getId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IClipboardEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IClipboardEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IClipboardErrorEvent extends IClipboardEvent +{ + + public function getMsg() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IClipboardErrorEvent_getMsg', array((array)$request)); + return (string)$response->returnval; + } + + public function getRcError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IClipboardErrorEvent_getRcError', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IClipboardErrorEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IClipboardErrorEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IDnDModeChangedEvent extends IEvent +{ + + public function getDndMode() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IDnDModeChangedEvent_getDndMode', array((array)$request)); + return new DnDMode ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IDnDModeChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IDnDModeChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICPUChangedEvent extends IEvent +{ + + public function getCPU() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICPUChangedEvent_getCPU', array((array)$request)); + return (float)$response->returnval; + } + + public function getAdd() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICPUChangedEvent_getAdd', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICPUChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICPUChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICPUExecutionCapChangedEvent extends IEvent +{ + + public function getExecutionCap() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICPUExecutionCapChangedEvent_getExecutionCap', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICPUExecutionCapChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICPUExecutionCapChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestKeyboardEvent extends IEvent +{ + + public function getScancodes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestKeyboardEvent_getScancodes', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestKeyboardEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestKeyboardEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestMouseEvent extends IReusableEvent +{ + + public function getMode() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getMode', array((array)$request)); + return new GuestMouseEventMode ($this->connection, $response->returnval); + } + + public function getX() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getX', array((array)$request)); + return (int)$response->returnval; + } + + public function getY() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getY', array((array)$request)); + return (int)$response->returnval; + } + + public function getZ() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getZ', array((array)$request)); + return (int)$response->returnval; + } + + public function getW() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getW', array((array)$request)); + return (int)$response->returnval; + } + + public function getButtons() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMouseEvent_getButtons', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestMouseEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestMouseEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestMultiTouchEvent extends IEvent +{ + + public function getContactCount() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactCount', array((array)$request)); + return (int)$response->returnval; + } + + public function getXPositions() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getXPositions', array((array)$request)); + return (array)$response->returnval; + } + + public function getYPositions() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getYPositions', array((array)$request)); + return (array)$response->returnval; + } + + public function getContactIds() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactIds', array((array)$request)); + return (array)$response->returnval; + } + + public function getContactFlags() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getContactFlags', array((array)$request)); + return (array)$response->returnval; + } + + public function getIsTouchScreen() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getIsTouchScreen', array((array)$request)); + return (bool)$response->returnval; + } + + public function getScanTime() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMultiTouchEvent_getScanTime', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestMultiTouchEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestMultiTouchEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestSessionEvent extends IEvent +{ + + public function getSession() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSessionEvent_getSession', array((array)$request)); + return new IGuestSession ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestSessionEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestSessionEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestSessionStateChangedEvent extends IGuestSessionEvent +{ + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getId', array((array)$request)); + return (float)$response->returnval; + } + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getStatus', array((array)$request)); + return new GuestSessionStatus ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSessionStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestSessionStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestSessionStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestSessionRegisteredEvent extends IGuestSessionEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestSessionRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestSessionRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestSessionRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessEvent extends IGuestSessionEvent +{ + + public function getProcess() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessEvent_getProcess', array((array)$request)); + return new IGuestProcess ($this->connection, $response->returnval); + } + + public function getPid() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessEvent_getPid', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessRegisteredEvent extends IGuestProcessEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessStateChangedEvent extends IGuestProcessEvent +{ + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessStateChangedEvent_getStatus', array((array)$request)); + return new ProcessStatus ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessIOEvent extends IGuestProcessEvent +{ + + public function getHandle() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessIOEvent_getHandle', array((array)$request)); + return (float)$response->returnval; + } + + public function getProcessed() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessIOEvent_getProcessed', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessIOEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessIOEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessInputNotifyEvent extends IGuestProcessIOEvent +{ + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessInputNotifyEvent_getStatus', array((array)$request)); + return new ProcessInputStatus ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessInputNotifyEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessInputNotifyEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestProcessOutputEvent extends IGuestProcessIOEvent +{ + + public function getData() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestProcessOutputEvent_getData', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestProcessOutputEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestProcessOutputEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDirectoryEvent extends IGuestSessionEvent +{ + + public function getDirectory() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryEvent_getDirectory', array((array)$request)); + return new IGuestDirectory ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDirectoryEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDirectoryEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDirectoryRegisteredEvent extends IGuestDirectoryEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDirectoryRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDirectoryRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDirectoryStateChangedEvent extends IGuestDirectoryEvent +{ + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryStateChangedEvent_getStatus', array((array)$request)); + return new DirectoryStatus ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDirectoryStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDirectoryStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDirectoryReadEvent extends IGuestDirectoryEvent +{ + + public function getPath() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryReadEvent_getPath', array((array)$request)); + return (string)$response->returnval; + } + + public function getObjInfo() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryReadEvent_getObjInfo', array((array)$request)); + return new IFsObjInfo ($this->connection, $response->returnval); + } + + public function getOwner() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryReadEvent_getOwner', array((array)$request)); + return (string)$response->returnval; + } + + public function getGroups() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDirectoryReadEvent_getGroups', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDirectoryReadEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDirectoryReadEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileEvent extends IGuestSessionEvent +{ + + public function getFile() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileEvent_getFile', array((array)$request)); + return new IGuestFile ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileRegisteredEvent extends IGuestFileEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileStateChangedEvent extends IGuestFileEvent +{ + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileStateChangedEvent_getStatus', array((array)$request)); + return new FileStatus ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileIOEvent extends IGuestFileEvent +{ + + public function getOffset() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileIOEvent_getOffset', array((array)$request)); + return (float)$response->returnval; + } + + public function getProcessed() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileIOEvent_getProcessed', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileIOEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileIOEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileOffsetChangedEvent extends IGuestFileIOEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileOffsetChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileOffsetChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileOffsetChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileSizeChangedEvent extends IGuestFileEvent +{ + + public function getNewSize() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileSizeChangedEvent_getNewSize', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileSizeChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileSizeChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileReadEvent extends IGuestFileIOEvent +{ + + public function getData() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileReadEvent_getData', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileReadEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileReadEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestFileWriteEvent extends IGuestFileIOEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestFileWriteEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestFileWriteEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestFileWriteEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVRDEServerChangedEvent extends IEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServerChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVRDEServerChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVRDEServerChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVRDEServerInfoChangedEvent extends IEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVRDEServerInfoChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVRDEServerInfoChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVRDEServerInfoChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRecordingStateChangedEvent extends IEvent +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRecordingStateChangedEvent_getState', array((array)$request)); + return new RecordingState ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRecordingStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRecordingStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRecordingStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRecordingScreenStateChangedEvent extends IRecordingStateChangedEvent +{ + + public function getScreen() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRecordingScreenStateChangedEvent_getScreen', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRecordingScreenStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRecordingScreenStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBControllerChangedEvent extends IEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBControllerChangedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBControllerChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBControllerChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUSBDeviceStateChangedEvent extends IEvent +{ + + public function getDevice() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getDevice', array((array)$request)); + return new IUSBDevice ($this->connection, $response->returnval); + } + + public function getAttached() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getAttached', array((array)$request)); + return (bool)$response->returnval; + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUSBDeviceStateChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUSBDeviceStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUSBDeviceStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ISharedFolderChangedEvent extends IEvent +{ + + public function getScope() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ISharedFolderChangedEvent_getScope', array((array)$request)); + return new Scope ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ISharedFolderChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ISharedFolderChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRuntimeErrorEvent extends IEvent +{ + + public function getFatal() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRuntimeErrorEvent_getFatal', array((array)$request)); + return (bool)$response->returnval; + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRuntimeErrorEvent_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getMessage() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRuntimeErrorEvent_getMessage', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRuntimeErrorEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRuntimeErrorEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IEventSourceChangedEvent extends IEvent +{ + + public function getListener() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEventSourceChangedEvent_getListener', array((array)$request)); + return new IEventListener ($this->connection, $response->returnval); + } + + public function getAdd() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IEventSourceChangedEvent_getAdd', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IEventSourceChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IEventSourceChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IExtraDataChangedEvent extends IEvent +{ + + public function getMachineId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataChangedEvent_getMachineId', array((array)$request)); + return (string)$response->returnval; + } + + public function getKey() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataChangedEvent_getKey', array((array)$request)); + return (string)$response->returnval; + } + + public function getValue() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataChangedEvent_getValue', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IExtraDataChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IExtraDataChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVetoEvent extends IEvent +{ + + public function addVeto($arg_reason) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->reason = $arg_reason; + $response = $this->connection->__soapCall('IVetoEvent_addVeto', array((array)$request)); + return ; + } + + public function isVetoed() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVetoEvent_isVetoed', array((array)$request)); + return (bool)$response->returnval; + } + + public function getVetos() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVetoEvent_getVetos', array((array)$request)); + return (array)$response->returnval; + } + + public function addApproval($arg_reason) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->reason = $arg_reason; + $response = $this->connection->__soapCall('IVetoEvent_addApproval', array((array)$request)); + return ; + } + + public function isApproved() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVetoEvent_isApproved', array((array)$request)); + return (bool)$response->returnval; + } + + public function getApprovals() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVetoEvent_getApprovals', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVetoEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVetoEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IExtraDataCanChangeEvent extends IVetoEvent +{ + + public function getMachineId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getMachineId', array((array)$request)); + return (string)$response->returnval; + } + + public function getKey() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getKey', array((array)$request)); + return (string)$response->returnval; + } + + public function getValue() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IExtraDataCanChangeEvent_getValue', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IExtraDataCanChangeEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IExtraDataCanChangeEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICanShowWindowEvent extends IVetoEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICanShowWindowEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICanShowWindowEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICanShowWindowEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IShowWindowEvent extends IEvent +{ + + public function getWinId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IShowWindowEvent_getWinId', array((array)$request)); + return (float)$response->returnval; + } + + public function setWinId($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->winId = $value; + } + else + { + $request->winId = $value->handle; + } + $this->connection->__soapCall('IShowWindowEvent_setWinId', array((array)$request)); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IShowWindowEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IShowWindowEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATRedirectEvent extends IMachineEvent +{ + + public function getSlot() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getSlot', array((array)$request)); + return (float)$response->returnval; + } + + public function getRemove() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getRemove', array((array)$request)); + return (bool)$response->returnval; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getProto() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getProto', array((array)$request)); + return new NATProtocol ($this->connection, $response->returnval); + } + + public function getHostIP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getHostIP', array((array)$request)); + return (string)$response->returnval; + } + + public function getHostPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getHostPort', array((array)$request)); + return (int)$response->returnval; + } + + public function getGuestIP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getGuestIP', array((array)$request)); + return (string)$response->returnval; + } + + public function getGuestPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATRedirectEvent_getGuestPort', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATRedirectEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATRedirectEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostAudioDeviceChangedEvent extends IEvent +{ + + public function getDevice() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDeviceChangedEvent_getDevice', array((array)$request)); + return new IHostAudioDevice ($this->connection, $response->returnval); + } + + public function getNew() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDeviceChangedEvent_getNew', array((array)$request)); + return (bool)$response->returnval; + } + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDeviceChangedEvent_getState', array((array)$request)); + return new AudioDeviceState ($this->connection, $response->returnval); + } + + public function getError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostAudioDeviceChangedEvent_getError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostAudioDeviceChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostAudioDeviceChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostPCIDevicePlugEvent extends IMachineEvent +{ + + public function getPlugged() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getPlugged', array((array)$request)); + return (bool)$response->returnval; + } + + public function getSuccess() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getSuccess', array((array)$request)); + return (bool)$response->returnval; + } + + public function getAttachment() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getAttachment', array((array)$request)); + return new IPCIDeviceAttachment ($this->connection, $response->returnval); + } + + public function getMessage() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostPCIDevicePlugEvent_getMessage', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostPCIDevicePlugEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostPCIDevicePlugEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVBoxSVCAvailabilityChangedEvent extends IEvent +{ + + public function getAvailable() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVBoxSVCAvailabilityChangedEvent_getAvailable', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVBoxSVCAvailabilityChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVBoxSVCAvailabilityChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IBandwidthGroupChangedEvent extends IEvent +{ + + public function getBandwidthGroup() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBandwidthGroupChangedEvent_getBandwidthGroup', array((array)$request)); + return new IBandwidthGroup ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IBandwidthGroupChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IBandwidthGroupChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestMonitorChangedEvent extends IEvent +{ + + public function getChangeType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getChangeType', array((array)$request)); + return new GuestMonitorChangedEventType ($this->connection, $response->returnval); + } + + public function getScreenId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getScreenId', array((array)$request)); + return (float)$response->returnval; + } + + public function getOriginX() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getOriginX', array((array)$request)); + return (float)$response->returnval; + } + + public function getOriginY() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getOriginY', array((array)$request)); + return (float)$response->returnval; + } + + public function getWidth() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getWidth', array((array)$request)); + return (float)$response->returnval; + } + + public function getHeight() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorChangedEvent_getHeight', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestMonitorChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestMonitorChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestUserStateChangedEvent extends IEvent +{ + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getDomain() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getDomain', array((array)$request)); + return (string)$response->returnval; + } + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getState', array((array)$request)); + return new GuestUserState ($this->connection, $response->returnval); + } + + public function getStateDetails() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestUserStateChangedEvent_getStateDetails', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestUserStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestUserStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStorageDeviceChangedEvent extends IEvent +{ + + public function getStorageDevice() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getStorageDevice', array((array)$request)); + return new IMediumAttachment ($this->connection, $response->returnval); + } + + public function getRemoved() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getRemoved', array((array)$request)); + return (bool)$response->returnval; + } + + public function getSilent() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStorageDeviceChangedEvent_getSilent', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStorageDeviceChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStorageDeviceChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkChangedEvent extends IEvent +{ + + public function getNetworkName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkChangedEvent_getNetworkName', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkStartStopEvent extends INATNetworkChangedEvent +{ + + public function getStartEvent() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkStartStopEvent_getStartEvent', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkStartStopEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkStartStopEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkAlterEvent extends INATNetworkChangedEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkAlterEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkAlterEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkAlterEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkCreationDeletionEvent extends INATNetworkAlterEvent +{ + + public function getCreationEvent() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkCreationDeletionEvent_getCreationEvent', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkCreationDeletionEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkCreationDeletionEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkSettingEvent extends INATNetworkAlterEvent +{ + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkSettingEvent_getEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function getNetwork() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkSettingEvent_getNetwork', array((array)$request)); + return (string)$response->returnval; + } + + public function getGateway() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkSettingEvent_getGateway', array((array)$request)); + return (string)$response->returnval; + } + + public function getAdvertiseDefaultIPv6RouteEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkSettingEvent_getAdvertiseDefaultIPv6RouteEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function getNeedDhcpServer() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkSettingEvent_getNeedDhcpServer', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkSettingEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkSettingEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class INATNetworkPortForwardEvent extends INATNetworkAlterEvent +{ + + public function getCreate() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getCreate', array((array)$request)); + return (bool)$response->returnval; + } + + public function getIpv6() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getIpv6', array((array)$request)); + return (bool)$response->returnval; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getProto() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getProto', array((array)$request)); + return new NATProtocol ($this->connection, $response->returnval); + } + + public function getHostIp() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getHostIp', array((array)$request)); + return (string)$response->returnval; + } + + public function getHostPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getHostPort', array((array)$request)); + return (int)$response->returnval; + } + + public function getGuestIp() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getGuestIp', array((array)$request)); + return (string)$response->returnval; + } + + public function getGuestPort() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('INATNetworkPortForwardEvent_getGuestPort', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class INATNetworkPortForwardEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "INATNetworkPortForwardEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IHostNameResolutionConfigurationChangeEvent extends IEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IHostNameResolutionConfigurationChangeEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IHostNameResolutionConfigurationChangeEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IHostNameResolutionConfigurationChangeEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IProgressEvent extends IEvent +{ + + public function getProgressId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IProgressEvent_getProgressId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IProgressEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IProgressEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IProgressCreatedEvent extends IProgressEvent +{ + + public function getCreate() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IProgressCreatedEvent_getCreate', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IProgressCreatedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IProgressCreatedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IProgressPercentageChangedEvent extends IProgressEvent +{ + + public function getPercent() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IProgressPercentageChangedEvent_getPercent', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IProgressPercentageChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IProgressPercentageChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IProgressTaskCompletedEvent extends IProgressEvent +{ + + public function getMidlDoesNotLikeEmptyInterfaces() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IProgressTaskCompletedEvent_getMidlDoesNotLikeEmptyInterfaces', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IProgressTaskCompletedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IProgressTaskCompletedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICursorPositionChangedEvent extends IEvent +{ + + public function getHasData() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICursorPositionChangedEvent_getHasData', array((array)$request)); + return (bool)$response->returnval; + } + + public function getX() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICursorPositionChangedEvent_getX', array((array)$request)); + return (float)$response->returnval; + } + + public function getY() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICursorPositionChangedEvent_getY', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICursorPositionChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICursorPositionChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestAdditionsStatusChangedEvent extends IEvent +{ + + public function getFacility() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestAdditionsStatusChangedEvent_getFacility', array((array)$request)); + return new AdditionsFacilityType ($this->connection, $response->returnval); + } + + public function getStatus() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestAdditionsStatusChangedEvent_getStatus', array((array)$request)); + return new AdditionsFacilityStatus ($this->connection, $response->returnval); + } + + public function getRunLevel() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestAdditionsStatusChangedEvent_getRunLevel', array((array)$request)); + return new AdditionsRunLevelType ($this->connection, $response->returnval); + } + + public function getTimestamp() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestAdditionsStatusChangedEvent_getTimestamp', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestAdditionsStatusChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestAdditionsStatusChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestMonitorInfoChangedEvent extends IEvent +{ + + public function getOutput() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestMonitorInfoChangedEvent_getOutput', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestMonitorInfoChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestMonitorInfoChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUpdateAgentEvent extends IEvent +{ + + public function getAgent() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentEvent_getAgent', array((array)$request)); + return new IUpdateAgent ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgentEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUpdateAgentSettingsChangedEvent extends IUpdateAgentEvent +{ + + public function getAttributeHint() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentSettingsChangedEvent_getAttributeHint', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentSettingsChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgentSettingsChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUpdateAgentErrorEvent extends IUpdateAgentEvent +{ + + public function getMsg() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentErrorEvent_getMsg', array((array)$request)); + return (string)$response->returnval; + } + + public function getRcError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentErrorEvent_getRcError', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentErrorEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgentErrorEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUpdateAgentAvailableEvent extends IUpdateAgentEvent +{ + + public function getVersion() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getVersion', array((array)$request)); + return (string)$response->returnval; + } + + public function getChannel() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getChannel', array((array)$request)); + return new UpdateChannel ($this->connection, $response->returnval); + } + + public function getSeverity() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getSeverity', array((array)$request)); + return new UpdateSeverity ($this->connection, $response->returnval); + } + + public function getDownloadURL() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getDownloadURL', array((array)$request)); + return (string)$response->returnval; + } + + public function getWebURL() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getWebURL', array((array)$request)); + return (string)$response->returnval; + } + + public function getReleaseNotes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentAvailableEvent_getReleaseNotes', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentAvailableEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgentAvailableEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IUpdateAgentStateChangedEvent extends IUpdateAgentEvent +{ + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IUpdateAgentStateChangedEvent_getState', array((array)$request)); + return new UpdateState ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IUpdateAgentStateChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IUpdateAgentStateChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IGuestDebugControlChangedEvent extends IEvent +{ + + public function getGuestDebugControl() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IGuestDebugControlChangedEvent_getGuestDebugControl', array((array)$request)); + return new IGuestDebugControl ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IGuestDebugControlChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IGuestDebugControlChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IMachineGroupsChangedEvent extends IMachineEvent +{ + + public function getDummy() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IMachineGroupsChangedEvent_getDummy', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IMachineGroupsChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IMachineGroupsChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStringArray extends VBox_ManagedObject +{ + + public function getValues() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStringArray_getValues', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStringArrayCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStringArray"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IFormValue extends VBox_ManagedObject +{ + + public function getType() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getType', array((array)$request)); + return new FormValueType ($this->connection, $response->returnval); + } + + public function getGeneration() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getGeneration', array((array)$request)); + return (int)$response->returnval; + } + + public function getEnabled() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getEnabled', array((array)$request)); + return (bool)$response->returnval; + } + + public function getVisible() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getVisible', array((array)$request)); + return (bool)$response->returnval; + } + + public function getLabel() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getLabel', array((array)$request)); + return (string)$response->returnval; + } + + public function getDescription() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getDescription', array((array)$request)); + return (string)$response->returnval; + } + + public function getHelp() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IFormValue_getHelp', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IFormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IFormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IBooleanFormValue extends IFormValue +{ + + public function getSelected() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IBooleanFormValue_getSelected', array((array)$request)); + return (bool)$response->returnval; + } + + public function setSelected($arg_selected) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->selected = $arg_selected; + $response = $this->connection->__soapCall('IBooleanFormValue_setSelected', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IBooleanFormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IBooleanFormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRangedIntegerFormValue extends IFormValue +{ + + public function getInteger() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedIntegerFormValue_getInteger', array((array)$request)); + return (int)$response->returnval; + } + + public function setInteger($arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IRangedIntegerFormValue_setInteger', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getSuffix() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedIntegerFormValue_getSuffix', array((array)$request)); + return (string)$response->returnval; + } + + public function getMinimum() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedIntegerFormValue_getMinimum', array((array)$request)); + return (int)$response->returnval; + } + + public function getMaximum() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedIntegerFormValue_getMaximum', array((array)$request)); + return (int)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRangedIntegerFormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRangedIntegerFormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IRangedInteger64FormValue extends IFormValue +{ + + public function getInteger() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedInteger64FormValue_getInteger', array((array)$request)); + return (float)$response->returnval; + } + + public function setInteger($arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->value = $arg_value; + $response = $this->connection->__soapCall('IRangedInteger64FormValue_setInteger', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getSuffix() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedInteger64FormValue_getSuffix', array((array)$request)); + return (string)$response->returnval; + } + + public function getMinimum() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedInteger64FormValue_getMinimum', array((array)$request)); + return (float)$response->returnval; + } + + public function getMaximum() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IRangedInteger64FormValue_getMaximum', array((array)$request)); + return (float)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IRangedInteger64FormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IRangedInteger64FormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IStringFormValue extends IFormValue +{ + + public function getString() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStringFormValue_getString', array((array)$request)); + return (string)$response->returnval; + } + + public function setString($arg_text) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->text = $arg_text; + $response = $this->connection->__soapCall('IStringFormValue_setString', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getMultiline() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStringFormValue_getMultiline', array((array)$request)); + return (bool)$response->returnval; + } + + public function getClipboardString() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IStringFormValue_getClipboardString', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IStringFormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IStringFormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IChoiceFormValue extends IFormValue +{ + + public function getSelectedIndex() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IChoiceFormValue_getSelectedIndex', array((array)$request)); + return (int)$response->returnval; + } + + public function setSelectedIndex($arg_index) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->index = $arg_index; + $response = $this->connection->__soapCall('IChoiceFormValue_setSelectedIndex', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getValues() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IChoiceFormValue_getValues', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IChoiceFormValueCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IChoiceFormValue"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IForm extends VBox_ManagedObject +{ + + public function getFieldGroup($arg_field) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->field = $arg_field; + $response = $this->connection->__soapCall('IForm_getFieldGroup', array((array)$request)); + return (array)$response->returnval; + } + + public function apply() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IForm_apply', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getValues() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IForm_getValues', array((array)$request)); + return new IFormValueCollection ($this->connection, (array)$response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IFormCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IForm"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class IVirtualSystemDescriptionForm extends IForm +{ + + public function getVirtualSystemDescription() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('IVirtualSystemDescriptionForm_getVirtualSystemDescription', array((array)$request)); + return new IVirtualSystemDescription ($this->connection, $response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class IVirtualSystemDescriptionFormCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "IVirtualSystemDescriptionForm"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudNetworkGatewayInfo extends VBox_ManagedObject +{ + + public function getPublicIP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudNetworkGatewayInfo_getPublicIP', array((array)$request)); + return (string)$response->returnval; + } + + public function getSecondaryPublicIP() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudNetworkGatewayInfo_getSecondaryPublicIP', array((array)$request)); + return (string)$response->returnval; + } + + public function getMacAddress() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudNetworkGatewayInfo_getMacAddress', array((array)$request)); + return (string)$response->returnval; + } + + public function getInstanceId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudNetworkGatewayInfo_getInstanceId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudNetworkGatewayInfoCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudNetworkGatewayInfo"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudNetworkEnvironmentInfo extends VBox_ManagedObject +{ + + public function getTunnelNetworkId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudNetworkEnvironmentInfo_getTunnelNetworkId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudNetworkEnvironmentInfoCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudNetworkEnvironmentInfo"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudMachine extends VBox_ManagedObject +{ + + public function refresh() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_refresh', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getDetailsForm() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getDetailsForm', array((array)$request)); + return new IForm ($this->connection, $response->returnval); + } + + public function getSettingsForm() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getSettingsForm', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IForm ($this->connection, $response->form)); + } + + public function powerUp() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_powerUp', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function reboot() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_reboot', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function reset() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_reset', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function shutdown() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_shutdown', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function powerDown() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_powerDown', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function terminate() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_terminate', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function unregister() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_unregister', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function remove() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_remove', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getConsoleHistory() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getConsoleHistory', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IDataStream ($this->connection, $response->stream)); + } + + public function createConsoleConnection($arg_sshPublicKey) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->sshPublicKey = $arg_sshPublicKey; + $response = $this->connection->__soapCall('ICloudMachine_createConsoleConnection', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function deleteConsoleConnection() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_deleteConsoleConnection', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function listMetricNames() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_listMetricNames', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->metricNames)); + } + + public function enumerateMetricData($arg_metricType, $arg_pointsNumber) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricType = $arg_metricType; + $request->pointsNumber = $arg_pointsNumber; + $response = $this->connection->__soapCall('ICloudMachine_enumerateMetricData', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->values), new IStringArray ($this->connection, $response->timestamps), new IStringArray ($this->connection, $response->unit)); + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getCloudId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getCloudId', array((array)$request)); + return (string)$response->returnval; + } + + public function getAccessible() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getAccessible', array((array)$request)); + return (bool)$response->returnval; + } + + public function getAccessError() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getAccessError', array((array)$request)); + return new IVirtualBoxErrorInfo ($this->connection, $response->returnval); + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getOSTypeId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getOSTypeId', array((array)$request)); + return (string)$response->returnval; + } + + public function getState() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getState', array((array)$request)); + return new CloudMachineState ($this->connection, $response->returnval); + } + + public function getConsoleConnectionFingerprint() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getConsoleConnectionFingerprint', array((array)$request)); + return (string)$response->returnval; + } + + public function getSerialConsoleCommand() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getSerialConsoleCommand', array((array)$request)); + return (string)$response->returnval; + } + + public function getSerialConsoleCommandWindows() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getSerialConsoleCommandWindows', array((array)$request)); + return (string)$response->returnval; + } + + public function getVNCConsoleCommand() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getVNCConsoleCommand', array((array)$request)); + return (string)$response->returnval; + } + + public function getVNCConsoleCommandWindows() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudMachine_getVNCConsoleCommandWindows', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudMachineCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudMachine"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudClient extends VBox_ManagedObject +{ + + public function getExportDescriptionForm($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_getExportDescriptionForm', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IVirtualSystemDescriptionForm ($this->connection, $response->form)); + } + + public function exportVM($arg_description, $arg_progress) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $request->progress = $arg_progress; + $response = $this->connection->__soapCall('ICloudClient_exportVM', array((array)$request)); + return ; + } + + public function getLaunchDescriptionForm($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_getLaunchDescriptionForm', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IVirtualSystemDescriptionForm ($this->connection, $response->form)); + } + + public function launchVM($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_launchVM', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getImportDescriptionForm($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_getImportDescriptionForm', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IVirtualSystemDescriptionForm ($this->connection, $response->form)); + } + + public function importInstance($arg_description, $arg_progress) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $request->progress = $arg_progress; + $response = $this->connection->__soapCall('ICloudClient_importInstance', array((array)$request)); + return ; + } + + public function getCloudMachine($arg_id) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->id = $arg_id; + $response = $this->connection->__soapCall('ICloudClient_getCloudMachine', array((array)$request)); + return new ICloudMachine ($this->connection, $response->returnval); + } + + public function readCloudMachineList() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_readCloudMachineList', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function readCloudMachineStubList() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_readCloudMachineStubList', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function addCloudMachine($arg_instanceId) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->instanceId = $arg_instanceId; + $response = $this->connection->__soapCall('ICloudClient_addCloudMachine', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new ICloudMachine ($this->connection, $response->machine)); + } + + public function createCloudMachine($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_createCloudMachine', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new ICloudMachine ($this->connection, $response->machine)); + } + + public function listInstances($arg_machineState) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->machineState = $arg_machineState; + $response = $this->connection->__soapCall('ICloudClient_listInstances', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnNames), new IStringArray ($this->connection, $response->returnIds)); + } + + public function listSourceInstances() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_listSourceInstances', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnNames), new IStringArray ($this->connection, $response->returnIds)); + } + + public function listImages($arg_imageState) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->imageState = $arg_imageState; + $response = $this->connection->__soapCall('ICloudClient_listImages', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnNames), new IStringArray ($this->connection, $response->returnIds)); + } + + public function listBootVolumes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_listBootVolumes', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnNames), new IStringArray ($this->connection, $response->returnIds)); + } + + public function listSourceBootVolumes() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_listSourceBootVolumes', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnNames), new IStringArray ($this->connection, $response->returnIds)); + } + + public function listVnicAttachments($arg_parameters) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->parameters = $arg_parameters; + $response = $this->connection->__soapCall('ICloudClient_listVnicAttachments', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->returnVnicAttachmentIds), new IStringArray ($this->connection, $response->returnVnicIds)); + } + + public function getInstanceInfo($arg_uid, $arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_getInstanceInfo', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function startInstance($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_startInstance', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function pauseInstance($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_pauseInstance', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function terminateInstance($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_terminateInstance', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function resetInstance($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_resetInstance', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function cloneInstance($arg_uid, $arg_newName) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $request->newName = $arg_newName; + $response = $this->connection->__soapCall('ICloudClient_cloneInstance', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new ICloudMachine ($this->connection, $response->clone)); + } + + public function createImage($arg_parameters) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->parameters = $arg_parameters; + $response = $this->connection->__soapCall('ICloudClient_createImage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function exportImage($arg_image, $arg_parameters) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->image = $arg_image; + $request->parameters = $arg_parameters; + $response = $this->connection->__soapCall('ICloudClient_exportImage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function importImage($arg_uid, $arg_parameters) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $request->parameters = $arg_parameters; + $response = $this->connection->__soapCall('ICloudClient_importImage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function deleteImage($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_deleteImage', array((array)$request)); + return new IProgress ($this->connection, $response->returnval); + } + + public function getImageInfo($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_getImageInfo', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->infoArray)); + } + + public function startCloudNetworkGateway($arg_network, $arg_sshPublicKey) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->network = $arg_network; + $request->sshPublicKey = $arg_sshPublicKey; + $response = $this->connection->__soapCall('ICloudClient_startCloudNetworkGateway', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new ICloudNetworkGatewayInfo ($this->connection, $response->gatewayInfo)); + } + + public function setupCloudNetworkEnvironment($arg_tunnelNetworkName, $arg_tunnelNetworkRange, $arg_gatewayOsName, $arg_gatewayOsVersion, $arg_gatewayShape) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->tunnelNetworkName = $arg_tunnelNetworkName; + $request->tunnelNetworkRange = $arg_tunnelNetworkRange; + $request->gatewayOsName = $arg_gatewayOsName; + $request->gatewayOsVersion = $arg_gatewayOsVersion; + $request->gatewayShape = $arg_gatewayShape; + $response = $this->connection->__soapCall('ICloudClient_setupCloudNetworkEnvironment', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new ICloudNetworkEnvironmentInfo ($this->connection, $response->networkEnvironmentInfo)); + } + + public function getVnicInfo($arg_uid) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->uid = $arg_uid; + $response = $this->connection->__soapCall('ICloudClient_getVnicInfo', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IStringArray ($this->connection, $response->infoArray)); + } + + public function getSubnetSelectionForm($arg_description) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->description = $arg_description; + $response = $this->connection->__soapCall('ICloudClient_getSubnetSelectionForm', array((array)$request)); + return array(new IProgress ($this->connection, $response->returnval), new IVirtualSystemDescriptionForm ($this->connection, $response->form)); + } + + public function getMetricTypeByName($arg_metricName) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->metricName = $arg_metricName; + $response = $this->connection->__soapCall('ICloudClient_getMetricTypeByName', array((array)$request)); + return new MetricType ($this->connection, $response->returnval); + } + + public function getCloudMachineList() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_getCloudMachineList', array((array)$request)); + return new ICloudMachineCollection ($this->connection, (array)$response->returnval); + } + + public function getCloudMachineStubList() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudClient_getCloudMachineStubList', array((array)$request)); + return new ICloudMachineCollection ($this->connection, (array)$response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudClientCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudClient"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProfile extends VBox_ManagedObject +{ + + public function getProperty($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('ICloudProfile_getProperty', array((array)$request)); + return (string)$response->returnval; + } + + public function setProperty($arg_name, $arg_value) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $request->value = $arg_value; + $response = $this->connection->__soapCall('ICloudProfile_setProperty', array((array)$request)); + return ; + } + + public function getProperties($arg_names) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->names = $arg_names; + $response = $this->connection->__soapCall('ICloudProfile_getProperties', array((array)$request)); + return array((array)$response->returnval, (array)$response->returnNames); + } + + public function setProperties($arg_names, $arg_values) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->names = $arg_names; + $request->values = $arg_values; + $response = $this->connection->__soapCall('ICloudProfile_setProperties', array((array)$request)); + return ; + } + + public function remove() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfile_remove', array((array)$request)); + return ; + } + + public function createCloudClient() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfile_createCloudClient', array((array)$request)); + return new ICloudClient ($this->connection, $response->returnval); + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfile_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function setName($value) + { + $request = new stdClass(); + $request->_this = $this->handle; + if (is_null($value) || is_scalar($value)) + { + $request->name = $value; + } + else + { + $request->name = $value->handle; + } + $this->connection->__soapCall('ICloudProfile_setName', array((array)$request)); + } + + public function getProviderId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfile_getProviderId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProfileCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProfile"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProvider extends VBox_ManagedObject +{ + + public function getPropertyDescription($arg_name) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->name = $arg_name; + $response = $this->connection->__soapCall('ICloudProvider_getPropertyDescription', array((array)$request)); + return (string)$response->returnval; + } + + public function createProfile($arg_profileName, $arg_names, $arg_values) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->profileName = $arg_profileName; + $request->names = $arg_names; + $request->values = $arg_values; + $response = $this->connection->__soapCall('ICloudProvider_createProfile', array((array)$request)); + return ; + } + + public function importProfiles() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_importProfiles', array((array)$request)); + return ; + } + + public function restoreProfiles() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_restoreProfiles', array((array)$request)); + return ; + } + + public function saveProfiles() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_saveProfiles', array((array)$request)); + return ; + } + + public function getProfileByName($arg_profileName) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->profileName = $arg_profileName; + $response = $this->connection->__soapCall('ICloudProvider_getProfileByName', array((array)$request)); + return new ICloudProfile ($this->connection, $response->returnval); + } + + public function prepareUninstall() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_prepareUninstall', array((array)$request)); + return ; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getShortName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getShortName', array((array)$request)); + return (string)$response->returnval; + } + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getProfiles() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getProfiles', array((array)$request)); + return new ICloudProfileCollection ($this->connection, (array)$response->returnval); + } + + public function getProfileNames() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getProfileNames', array((array)$request)); + return (array)$response->returnval; + } + + public function getSupportedPropertyNames() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProvider_getSupportedPropertyNames', array((array)$request)); + return (array)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProviderCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProvider"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProviderManager extends VBox_ManagedObject +{ + + public function getProviderById($arg_providerId) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->providerId = $arg_providerId; + $response = $this->connection->__soapCall('ICloudProviderManager_getProviderById', array((array)$request)); + return new ICloudProvider ($this->connection, $response->returnval); + } + + public function getProviderByShortName($arg_providerName) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->providerName = $arg_providerName; + $response = $this->connection->__soapCall('ICloudProviderManager_getProviderByShortName', array((array)$request)); + return new ICloudProvider ($this->connection, $response->returnval); + } + + public function getProviderByName($arg_providerName) + { + $request = new stdClass(); + $request->_this = $this->handle; + $request->providerName = $arg_providerName; + $response = $this->connection->__soapCall('ICloudProviderManager_getProviderByName', array((array)$request)); + return new ICloudProvider ($this->connection, $response->returnval); + } + + public function getProviders() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProviderManager_getProviders', array((array)$request)); + return new ICloudProviderCollection ($this->connection, (array)$response->returnval); + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProviderManagerCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProviderManager"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProviderListChangedEvent extends IEvent +{ + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProviderListChangedEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProviderListChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProviderListChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProviderRegisteredEvent extends IEvent +{ + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProviderRegisteredEvent_getId', array((array)$request)); + return (string)$response->returnval; + } + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProviderRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProviderRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProviderRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProviderUninstallEvent extends IEvent +{ + + public function getId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProviderUninstallEvent_getId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProviderUninstallEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProviderUninstallEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProfileRegisteredEvent extends IEvent +{ + + public function getProviderId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfileRegisteredEvent_getProviderId', array((array)$request)); + return (string)$response->returnval; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfileRegisteredEvent_getName', array((array)$request)); + return (string)$response->returnval; + } + + public function getRegistered() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfileRegisteredEvent_getRegistered', array((array)$request)); + return (bool)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProfileRegisteredEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProfileRegisteredEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ICloudProfileChangedEvent extends IEvent +{ + + public function getProviderId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfileChangedEvent_getProviderId', array((array)$request)); + return (string)$response->returnval; + } + + public function getName() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ICloudProfileChangedEvent_getName', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ICloudProfileChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ICloudProfileChangedEvent"; +} + +/** + * Generated VBoxWebService Interface Wrapper + */ +class ILanguageChangedEvent extends IEvent +{ + + public function getLanguageId() + { + $request = new stdClass(); + $request->_this = $this->handle; + $response = $this->connection->__soapCall('ILanguageChangedEvent_getLanguageId', array((array)$request)); + return (string)$response->returnval; + } +} + +/** + * Generated VBoxWebService Managed Object Collection + */ +class ILanguageChangedEventCollection extends VBox_ManagedObjectCollection +{ + protected $_interfaceName = "ILanguageChangedEvent"; +} + +/** + * Generated VBoxWebService Struct + */ +class IPCIDeviceAttachment extends VBox_Struct +{ + protected $name; + protected $isPhysicalDevice; + protected $hostAddress; + protected $guestAddress; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->name = $values->name; + $this->isPhysicalDevice = $values->isPhysicalDevice; + $this->hostAddress = $values->hostAddress; + $this->guestAddress = $values->guestAddress; + } + + public function getName() + { + return (string)$this->name; + } + public function getIsPhysicalDevice() + { + return (bool)$this->isPhysicalDevice; + } + public function getHostAddress() + { + return (int)$this->hostAddress; + } + public function getGuestAddress() + { + return (int)$this->guestAddress; + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IPCIDeviceAttachmentCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IPCIDeviceAttachment"; +} + +/** + * Generated VBoxWebService Struct + */ +class IVRDEServerInfo extends VBox_Struct +{ + protected $active; + protected $port; + protected $numberOfClients; + protected $beginTime; + protected $endTime; + protected $bytesSent; + protected $bytesSentTotal; + protected $bytesReceived; + protected $bytesReceivedTotal; + protected $user; + protected $domain; + protected $clientName; + protected $clientIP; + protected $clientVersion; + protected $encryptionStyle; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->active = $values->active; + $this->port = $values->port; + $this->numberOfClients = $values->numberOfClients; + $this->beginTime = $values->beginTime; + $this->endTime = $values->endTime; + $this->bytesSent = $values->bytesSent; + $this->bytesSentTotal = $values->bytesSentTotal; + $this->bytesReceived = $values->bytesReceived; + $this->bytesReceivedTotal = $values->bytesReceivedTotal; + $this->user = $values->user; + $this->domain = $values->domain; + $this->clientName = $values->clientName; + $this->clientIP = $values->clientIP; + $this->clientVersion = $values->clientVersion; + $this->encryptionStyle = $values->encryptionStyle; + } + + public function getActive() + { + return (bool)$this->active; + } + public function getPort() + { + return (int)$this->port; + } + public function getNumberOfClients() + { + return (float)$this->numberOfClients; + } + public function getBeginTime() + { + return (float)$this->beginTime; + } + public function getEndTime() + { + return (float)$this->endTime; + } + public function getBytesSent() + { + return (float)$this->bytesSent; + } + public function getBytesSentTotal() + { + return (float)$this->bytesSentTotal; + } + public function getBytesReceived() + { + return (float)$this->bytesReceived; + } + public function getBytesReceivedTotal() + { + return (float)$this->bytesReceivedTotal; + } + public function getUser() + { + return (string)$this->user; + } + public function getDomain() + { + return (string)$this->domain; + } + public function getClientName() + { + return (string)$this->clientName; + } + public function getClientIP() + { + return (string)$this->clientIP; + } + public function getClientVersion() + { + return (float)$this->clientVersion; + } + public function getEncryptionStyle() + { + return (float)$this->encryptionStyle; + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IVRDEServerInfoCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IVRDEServerInfo"; +} + +/** + * Generated VBoxWebService Struct + */ +class IHostDrivePartition extends VBox_Struct +{ + protected $number; + protected $size; + protected $start; + protected $type; + protected $active; + protected $typeMBR; + protected $startCylinder; + protected $startHead; + protected $startSector; + protected $endCylinder; + protected $endHead; + protected $endSector; + protected $typeUuid; + protected $uuid; + protected $name; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->number = $values->number; + $this->size = $values->size; + $this->start = $values->start; + $this->type = $values->type; + $this->active = $values->active; + $this->typeMBR = $values->typeMBR; + $this->startCylinder = $values->startCylinder; + $this->startHead = $values->startHead; + $this->startSector = $values->startSector; + $this->endCylinder = $values->endCylinder; + $this->endHead = $values->endHead; + $this->endSector = $values->endSector; + $this->typeUuid = $values->typeUuid; + $this->uuid = $values->uuid; + $this->name = $values->name; + } + + public function getNumber() + { + return (float)$this->number; + } + public function getSize() + { + return (float)$this->size; + } + public function getStart() + { + return (float)$this->start; + } + public function getType() + { + return new PartitionType ($this->connection, $this->type); + } + public function getActive() + { + return (bool)$this->active; + } + public function getTypeMBR() + { + return (float)$this->typeMBR; + } + public function getStartCylinder() + { + return (float)$this->startCylinder; + } + public function getStartHead() + { + return (float)$this->startHead; + } + public function getStartSector() + { + return (float)$this->startSector; + } + public function getEndCylinder() + { + return (float)$this->endCylinder; + } + public function getEndHead() + { + return (float)$this->endHead; + } + public function getEndSector() + { + return (float)$this->endSector; + } + public function getTypeUuid() + { + return (string)$this->typeUuid; + } + public function getUuid() + { + return (string)$this->uuid; + } + public function getName() + { + return (string)$this->name; + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IHostDrivePartitionCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IHostDrivePartition"; +} + +/** + * Generated VBoxWebService Struct + */ +class IGuestOSType extends VBox_Struct +{ + protected $familyId; + protected $familyDescription; + protected $id; + protected $subtype; + protected $description; + protected $is64Bit; + protected $platformArchitecture; + protected $recommendedIOAPIC; + protected $recommendedVirtEx; + protected $recommendedRAM; + protected $recommendedGraphicsController; + protected $recommendedVRAM; + protected $recommended3DAcceleration; + protected $recommendedHDD; + protected $adapterType; + protected $recommendedPAE; + protected $recommendedDVDStorageController; + protected $recommendedDVDStorageBus; + protected $recommendedHDStorageController; + protected $recommendedHDStorageBus; + protected $recommendedFirmware; + protected $recommendedUSBHID; + protected $recommendedHPET; + protected $recommendedUSBTablet; + protected $recommendedRTCUseUTC; + protected $recommendedChipset; + protected $recommendedIommuType; + protected $recommendedAudioController; + protected $recommendedAudioCodec; + protected $recommendedFloppy; + protected $recommendedUSB; + protected $recommendedUSB3; + protected $recommendedTFReset; + protected $recommendedX2APIC; + protected $recommendedCPUCount; + protected $recommendedTpmType; + protected $recommendedSecureBoot; + protected $recommendedWDDMGraphics; + protected $guestAdditionsInstallPackageName; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->familyId = $values->familyId; + $this->familyDescription = $values->familyDescription; + $this->id = $values->id; + $this->subtype = $values->subtype; + $this->description = $values->description; + $this->is64Bit = $values->is64Bit; + $this->platformArchitecture = $values->platformArchitecture; + $this->recommendedIOAPIC = $values->recommendedIOAPIC; + $this->recommendedVirtEx = $values->recommendedVirtEx; + $this->recommendedRAM = $values->recommendedRAM; + $this->recommendedGraphicsController = $values->recommendedGraphicsController; + $this->recommendedVRAM = $values->recommendedVRAM; + $this->recommended3DAcceleration = $values->recommended3DAcceleration; + $this->recommendedHDD = $values->recommendedHDD; + $this->adapterType = $values->adapterType; + $this->recommendedPAE = $values->recommendedPAE; + $this->recommendedDVDStorageController = $values->recommendedDVDStorageController; + $this->recommendedDVDStorageBus = $values->recommendedDVDStorageBus; + $this->recommendedHDStorageController = $values->recommendedHDStorageController; + $this->recommendedHDStorageBus = $values->recommendedHDStorageBus; + $this->recommendedFirmware = $values->recommendedFirmware; + $this->recommendedUSBHID = $values->recommendedUSBHID; + $this->recommendedHPET = $values->recommendedHPET; + $this->recommendedUSBTablet = $values->recommendedUSBTablet; + $this->recommendedRTCUseUTC = $values->recommendedRTCUseUTC; + $this->recommendedChipset = $values->recommendedChipset; + $this->recommendedIommuType = $values->recommendedIommuType; + $this->recommendedAudioController = $values->recommendedAudioController; + $this->recommendedAudioCodec = $values->recommendedAudioCodec; + $this->recommendedFloppy = $values->recommendedFloppy; + $this->recommendedUSB = $values->recommendedUSB; + $this->recommendedUSB3 = $values->recommendedUSB3; + $this->recommendedTFReset = $values->recommendedTFReset; + $this->recommendedX2APIC = $values->recommendedX2APIC; + $this->recommendedCPUCount = $values->recommendedCPUCount; + $this->recommendedTpmType = $values->recommendedTpmType; + $this->recommendedSecureBoot = $values->recommendedSecureBoot; + $this->recommendedWDDMGraphics = $values->recommendedWDDMGraphics; + $this->guestAdditionsInstallPackageName = $values->guestAdditionsInstallPackageName; + } + + public function getFamilyId() + { + return (string)$this->familyId; + } + public function getFamilyDescription() + { + return (string)$this->familyDescription; + } + public function getId() + { + return (string)$this->id; + } + public function getSubtype() + { + return (string)$this->subtype; + } + public function getDescription() + { + return (string)$this->description; + } + public function getIs64Bit() + { + return (bool)$this->is64Bit; + } + public function getPlatformArchitecture() + { + return new PlatformArchitecture ($this->connection, $this->platformArchitecture); + } + public function getRecommendedIOAPIC() + { + return (bool)$this->recommendedIOAPIC; + } + public function getRecommendedVirtEx() + { + return (bool)$this->recommendedVirtEx; + } + public function getRecommendedRAM() + { + return (float)$this->recommendedRAM; + } + public function getRecommendedGraphicsController() + { + return new GraphicsControllerType ($this->connection, $this->recommendedGraphicsController); + } + public function getRecommendedVRAM() + { + return (float)$this->recommendedVRAM; + } + public function getRecommended3DAcceleration() + { + return (bool)$this->recommended3DAcceleration; + } + public function getRecommendedHDD() + { + return (float)$this->recommendedHDD; + } + public function getAdapterType() + { + return new NetworkAdapterType ($this->connection, $this->adapterType); + } + public function getRecommendedPAE() + { + return (bool)$this->recommendedPAE; + } + public function getRecommendedDVDStorageController() + { + return new StorageControllerType ($this->connection, $this->recommendedDVDStorageController); + } + public function getRecommendedDVDStorageBus() + { + return new StorageBus ($this->connection, $this->recommendedDVDStorageBus); + } + public function getRecommendedHDStorageController() + { + return new StorageControllerType ($this->connection, $this->recommendedHDStorageController); + } + public function getRecommendedHDStorageBus() + { + return new StorageBus ($this->connection, $this->recommendedHDStorageBus); + } + public function getRecommendedFirmware() + { + return new FirmwareType ($this->connection, $this->recommendedFirmware); + } + public function getRecommendedUSBHID() + { + return (bool)$this->recommendedUSBHID; + } + public function getRecommendedHPET() + { + return (bool)$this->recommendedHPET; + } + public function getRecommendedUSBTablet() + { + return (bool)$this->recommendedUSBTablet; + } + public function getRecommendedRTCUseUTC() + { + return (bool)$this->recommendedRTCUseUTC; + } + public function getRecommendedChipset() + { + return new ChipsetType ($this->connection, $this->recommendedChipset); + } + public function getRecommendedIommuType() + { + return new IommuType ($this->connection, $this->recommendedIommuType); + } + public function getRecommendedAudioController() + { + return new AudioControllerType ($this->connection, $this->recommendedAudioController); + } + public function getRecommendedAudioCodec() + { + return new AudioCodecType ($this->connection, $this->recommendedAudioCodec); + } + public function getRecommendedFloppy() + { + return (bool)$this->recommendedFloppy; + } + public function getRecommendedUSB() + { + return (bool)$this->recommendedUSB; + } + public function getRecommendedUSB3() + { + return (bool)$this->recommendedUSB3; + } + public function getRecommendedTFReset() + { + return (bool)$this->recommendedTFReset; + } + public function getRecommendedX2APIC() + { + return (bool)$this->recommendedX2APIC; + } + public function getRecommendedCPUCount() + { + return (float)$this->recommendedCPUCount; + } + public function getRecommendedTpmType() + { + return new TpmType ($this->connection, $this->recommendedTpmType); + } + public function getRecommendedSecureBoot() + { + return (bool)$this->recommendedSecureBoot; + } + public function getRecommendedWDDMGraphics() + { + return (bool)$this->recommendedWDDMGraphics; + } + public function getGuestAdditionsInstallPackageName() + { + return (string)$this->guestAdditionsInstallPackageName; + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IGuestOSTypeCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IGuestOSType"; +} + +/** + * Generated VBoxWebService Struct + */ +class IAdditionsFacility extends VBox_Struct +{ + protected $classType; + protected $lastUpdated; + protected $name; + protected $status; + protected $type; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->classType = $values->classType; + $this->lastUpdated = $values->lastUpdated; + $this->name = $values->name; + $this->status = $values->status; + $this->type = $values->type; + } + + public function getClassType() + { + return new AdditionsFacilityClass ($this->connection, $this->classType); + } + public function getLastUpdated() + { + return (float)$this->lastUpdated; + } + public function getName() + { + return (string)$this->name; + } + public function getStatus() + { + return new AdditionsFacilityStatus ($this->connection, $this->status); + } + public function getType() + { + return new AdditionsFacilityType ($this->connection, $this->type); + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IAdditionsFacilityCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IAdditionsFacility"; +} + +/** + * Generated VBoxWebService Struct + */ +class IMediumAttachment extends VBox_Struct +{ + protected $machine; + protected $medium; + protected $controller; + protected $port; + protected $device; + protected $type; + protected $passthrough; + protected $temporaryEject; + protected $isEjected; + protected $nonRotational; + protected $discard; + protected $hotPluggable; + protected $bandwidthGroup; + + public function __construct($connection, $values) + { + $this->connection = $connection; + $this->machine = $values->machine; + $this->medium = $values->medium; + $this->controller = $values->controller; + $this->port = $values->port; + $this->device = $values->device; + $this->type = $values->type; + $this->passthrough = $values->passthrough; + $this->temporaryEject = $values->temporaryEject; + $this->isEjected = $values->isEjected; + $this->nonRotational = $values->nonRotational; + $this->discard = $values->discard; + $this->hotPluggable = $values->hotPluggable; + $this->bandwidthGroup = $values->bandwidthGroup; + } + + public function getMachine() + { + return new IMachine ($this->connection, $this->machine); + } + public function getMedium() + { + return new IMedium ($this->connection, $this->medium); + } + public function getController() + { + return (string)$this->controller; + } + public function getPort() + { + return (int)$this->port; + } + public function getDevice() + { + return (int)$this->device; + } + public function getType() + { + return new DeviceType ($this->connection, $this->type); + } + public function getPassthrough() + { + return (bool)$this->passthrough; + } + public function getTemporaryEject() + { + return (bool)$this->temporaryEject; + } + public function getIsEjected() + { + return (bool)$this->isEjected; + } + public function getNonRotational() + { + return (bool)$this->nonRotational; + } + public function getDiscard() + { + return (bool)$this->discard; + } + public function getHotPluggable() + { + return (bool)$this->hotPluggable; + } + public function getBandwidthGroup() + { + return new IBandwidthGroup ($this->connection, $this->bandwidthGroup); + } +} + +/** + * Generated VBoxWebService Struct Collection + */ +class IMediumAttachmentCollection extends VBox_StructCollection +{ + protected $_interfaceName = "IMediumAttachment"; +} + +/** + * Generated VBoxWebService ENUM + */ +class SettingsVersion extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'v1_0', 2 => 'v1_1', 3 => 'v1_2', 4 => 'v1_3pre', 5 => 'v1_3', 6 => 'v1_4', 7 => 'v1_5', 8 => 'v1_6', 9 => 'v1_7', 10 => 'v1_8', 11 => 'v1_9', 12 => 'v1_10', 13 => 'v1_11', 14 => 'v1_12', 15 => 'v1_13', 16 => 'v1_14', 17 => 'v1_15', 18 => 'v1_16', 19 => 'v1_17', 20 => 'v1_18', 21 => 'v1_19', 22 => 'v1_20', 23 => 'v1_21', 99999 => 'Future'); + public $ValueMap = array('Null' => 0, 'v1_0' => 1, 'v1_1' => 2, 'v1_2' => 3, 'v1_3pre' => 4, 'v1_3' => 5, 'v1_4' => 6, 'v1_5' => 7, 'v1_6' => 8, 'v1_7' => 9, 'v1_8' => 10, 'v1_9' => 11, 'v1_10' => 12, 'v1_11' => 13, 'v1_12' => 14, 'v1_13' => 15, 'v1_14' => 16, 'v1_15' => 17, 'v1_16' => 18, 'v1_17' => 19, 'v1_18' => 20, 'v1_19' => 21, 'v1_20' => 22, 'v1_21' => 23, 'Future' => 99999); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class SettingsVersionCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "SettingsVersion"; +} + +/** + * Generated VBoxWebService ENUM + */ +class AccessMode extends VBox_Enum +{ + public $NameMap = array(1 => 'ReadOnly', 2 => 'ReadWrite'); + public $ValueMap = array('ReadOnly' => 1, 'ReadWrite' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class AccessModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "AccessMode"; +} + +/** + * Generated VBoxWebService ENUM + */ +class MachineState extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'PoweredOff', 2 => 'Saved', 3 => 'Teleported', 4 => 'Aborted', 5 => 'AbortedSaved', 6 => 'Running', 7 => 'Paused', 8 => 'Stuck', 9 => 'Teleporting', 10 => 'LiveSnapshotting', 11 => 'Starting', 12 => 'Stopping', 13 => 'Saving', 14 => 'Restoring', 15 => 'TeleportingPausedVM', 16 => 'TeleportingIn', 17 => 'DeletingSnapshotOnline', 18 => 'DeletingSnapshotPaused', 19 => 'OnlineSnapshotting', 20 => 'RestoringSnapshot', 21 => 'DeletingSnapshot', 22 => 'SettingUp', 23 => 'Snapshotting', ); + public $ValueMap = array('Null' => 0, 'PoweredOff' => 1, 'Saved' => 2, 'Teleported' => 3, 'Aborted' => 4, 'AbortedSaved' => 5, 'Running' => 6, 'Paused' => 7, 'Stuck' => 8, 'Teleporting' => 9, 'LiveSnapshotting' => 10, 'Starting' => 11, 'Stopping' => 12, 'Saving' => 13, 'Restoring' => 14, 'TeleportingPausedVM' => 15, 'TeleportingIn' => 16, 'DeletingSnapshotOnline' => 17, 'DeletingSnapshotPaused' => 18, 'OnlineSnapshotting' => 19, 'RestoringSnapshot' => 20, 'DeletingSnapshot' => 21, 'SettingUp' => 22, 'Snapshotting' => 23, ); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class MachineStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "MachineState"; +} + +/** + * Generated VBoxWebService ENUM + */ +class SessionState extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'Unlocked', 2 => 'Locked', 3 => 'Spawning', 4 => 'Unlocking'); + public $ValueMap = array('Null' => 0, 'Unlocked' => 1, 'Locked' => 2, 'Spawning' => 3, 'Unlocking' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class SessionStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "SessionState"; +} + +/** + * Generated VBoxWebService ENUM + */ +class PlatformArchitecture extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'x86', 2 => 'ARM'); + public $ValueMap = array('None' => 0, 'x86' => 1, 'ARM' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class PlatformArchitectureCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "PlatformArchitecture"; +} + +/** + * Generated VBoxWebService ENUM + */ +class CPUArchitecture extends VBox_Enum +{ + public $NameMap = array(0 => 'Any', 1 => 'x86', 2 => 'AMD64', 3 => 'ARMv8_32', 4 => 'ARMv8_64'); + public $ValueMap = array('Any' => 0, 'x86' => 1, 'AMD64' => 2, 'ARMv8_32' => 3, 'ARMv8_64' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class CPUArchitectureCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "CPUArchitecture"; +} + +/** + * Generated VBoxWebService ENUM + */ +class CPUPropertyTypeX86 extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'PAE', 2 => 'LongMode', 3 => 'TripleFaultReset', 4 => 'APIC', 5 => 'X2APIC', 6 => 'IBPBOnVMExit', 7 => 'IBPBOnVMEntry', 8 => 'HWVirt', 9 => 'SpecCtrl', 10 => 'SpecCtrlByHost', 11 => 'L1DFlushOnEMTScheduling', 12 => 'L1DFlushOnVMEntry', 13 => 'MDSClearOnEMTScheduling', 14 => 'MDSClearOnVMEntry'); + public $ValueMap = array('Null' => 0, 'PAE' => 1, 'LongMode' => 2, 'TripleFaultReset' => 3, 'APIC' => 4, 'X2APIC' => 5, 'IBPBOnVMExit' => 6, 'IBPBOnVMEntry' => 7, 'HWVirt' => 8, 'SpecCtrl' => 9, 'SpecCtrlByHost' => 10, 'L1DFlushOnEMTScheduling' => 11, 'L1DFlushOnVMEntry' => 12, 'MDSClearOnEMTScheduling' => 13, 'MDSClearOnVMEntry' => 14); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class CPUPropertyTypeX86Collection extends VBox_EnumCollection +{ + protected $_interfaceName = "CPUPropertyTypeX86"; +} + +/** + * Generated VBoxWebService ENUM + */ +class CPUPropertyTypeARM extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'HWVirt', 2 => 'GICITS'); + public $ValueMap = array('Null' => 0, 'HWVirt' => 1, 'GICITS' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class CPUPropertyTypeARMCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "CPUPropertyTypeARM"; +} + +/** + * Generated VBoxWebService ENUM + */ +class HWVirtExPropertyType extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'Enabled', 2 => 'VPID', 3 => 'NestedPaging', 4 => 'UnrestrictedExecution', 5 => 'LargePages', 6 => 'Force', 7 => 'UseNativeApi', 8 => 'VirtVmsaveVmload'); + public $ValueMap = array('Null' => 0, 'Enabled' => 1, 'VPID' => 2, 'NestedPaging' => 3, 'UnrestrictedExecution' => 4, 'LargePages' => 5, 'Force' => 6, 'UseNativeApi' => 7, 'VirtVmsaveVmload' => 8); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class HWVirtExPropertyTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "HWVirtExPropertyType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class ParavirtProvider extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'Default', 2 => 'Legacy', 3 => 'Minimal', 4 => 'HyperV', 5 => 'KVM'); + public $ValueMap = array('None' => 0, 'Default' => 1, 'Legacy' => 2, 'Minimal' => 3, 'HyperV' => 4, 'KVM' => 5); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class ParavirtProviderCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "ParavirtProvider"; +} + +/** + * Generated VBoxWebService ENUM + */ +class LockType extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'Shared', 2 => 'Write', 3 => 'VM'); + public $ValueMap = array('Null' => 0, 'Shared' => 1, 'Write' => 2, 'VM' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class LockTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "LockType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class SessionType extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'WriteLock', 2 => 'Remote', 3 => 'Shared'); + public $ValueMap = array('Null' => 0, 'WriteLock' => 1, 'Remote' => 2, 'Shared' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class SessionTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "SessionType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class DeviceType extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'Floppy', 2 => 'DVD', 3 => 'HardDisk', 4 => 'Network', 5 => 'USB', 6 => 'SharedFolder', 7 => 'Graphics3D', 8 => 'End'); + public $ValueMap = array('Null' => 0, 'Floppy' => 1, 'DVD' => 2, 'HardDisk' => 3, 'Network' => 4, 'USB' => 5, 'SharedFolder' => 6, 'Graphics3D' => 7, 'End' => 8); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class DeviceTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "DeviceType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class DeviceActivity extends VBox_Enum +{ + public $NameMap = array(0 => 'Null', 1 => 'Idle', 2 => 'Reading', 3 => 'Writing'); + public $ValueMap = array('Null' => 0, 'Idle' => 1, 'Reading' => 2, 'Writing' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class DeviceActivityCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "DeviceActivity"; +} + +/** + * Generated VBoxWebService ENUM + */ +class ClipboardMode extends VBox_Enum +{ + public $NameMap = array(0 => 'Disabled', 1 => 'HostToGuest', 2 => 'GuestToHost', 3 => 'Bidirectional'); + public $ValueMap = array('Disabled' => 0, 'HostToGuest' => 1, 'GuestToHost' => 2, 'Bidirectional' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class ClipboardModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "ClipboardMode"; +} + +/** + * Generated VBoxWebService ENUM + */ +class DnDMode extends VBox_Enum +{ + public $NameMap = array(0 => 'Disabled', 1 => 'HostToGuest', 2 => 'GuestToHost', 3 => 'Bidirectional'); + public $ValueMap = array('Disabled' => 0, 'HostToGuest' => 1, 'GuestToHost' => 2, 'Bidirectional' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class DnDModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "DnDMode"; +} + +/** + * Generated VBoxWebService ENUM + */ +class Scope extends VBox_Enum +{ + public $NameMap = array(0 => 'Global', 1 => 'Machine', 2 => 'Session'); + public $ValueMap = array('Global' => 0, 'Machine' => 1, 'Session' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class ScopeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "Scope"; +} + +/** + * Generated VBoxWebService ENUM + */ +class FirmwareBootMenuMode extends VBox_Enum +{ + public $NameMap = array(0 => 'Disabled', 1 => 'MenuOnly', 2 => 'MessageAndMenu'); + public $ValueMap = array('Disabled' => 0, 'MenuOnly' => 1, 'MessageAndMenu' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class FirmwareBootMenuModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "FirmwareBootMenuMode"; +} + +/** + * Generated VBoxWebService ENUM + */ +class APICMode extends VBox_Enum +{ + public $NameMap = array(0 => 'Disabled', 1 => 'APIC', 2 => 'X2APIC'); + public $ValueMap = array('Disabled' => 0, 'APIC' => 1, 'X2APIC' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class APICModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "APICMode"; +} + +/** + * Generated VBoxWebService ENUM + */ +class ProcessorFeature extends VBox_Enum +{ + public $NameMap = array(0 => 'HWVirtEx', 1 => 'PAE', 2 => 'LongMode', 3 => 'NestedPaging', 4 => 'UnrestrictedGuest', 5 => 'NestedHWVirt', 6 => 'VirtVmsaveVmload'); + public $ValueMap = array('HWVirtEx' => 0, 'PAE' => 1, 'LongMode' => 2, 'NestedPaging' => 3, 'UnrestrictedGuest' => 4, 'NestedHWVirt' => 5, 'VirtVmsaveVmload' => 6); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class ProcessorFeatureCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "ProcessorFeature"; +} + +/** + * Generated VBoxWebService ENUM + */ +class FirmwareType extends VBox_Enum +{ + public $NameMap = array(1 => 'BIOS', 2 => 'EFI', 3 => 'EFI32', 4 => 'EFI64', 5 => 'EFIDUAL'); + public $ValueMap = array('BIOS' => 1, 'EFI' => 2, 'EFI32' => 3, 'EFI64' => 4, 'EFIDUAL' => 5); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class FirmwareTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "FirmwareType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class PointingHIDType extends VBox_Enum +{ + public $NameMap = array(1 => 'None', 2 => 'PS2Mouse', 3 => 'USBMouse', 4 => 'USBTablet', 5 => 'ComboMouse', 6 => 'USBMultiTouch', 7 => 'USBMultiTouchScreenPlusPad'); + public $ValueMap = array('None' => 1, 'PS2Mouse' => 2, 'USBMouse' => 3, 'USBTablet' => 4, 'ComboMouse' => 5, 'USBMultiTouch' => 6, 'USBMultiTouchScreenPlusPad' => 7); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class PointingHIDTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "PointingHIDType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class KeyboardHIDType extends VBox_Enum +{ + public $NameMap = array(1 => 'None', 2 => 'PS2Keyboard', 3 => 'USBKeyboard', 4 => 'ComboKeyboard'); + public $ValueMap = array('None' => 1, 'PS2Keyboard' => 2, 'USBKeyboard' => 3, 'ComboKeyboard' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class KeyboardHIDTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "KeyboardHIDType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class BitmapFormat extends VBox_Enum +{ + public $NameMap = array(0 => 'Opaque', 0x20524742 => 'BGR', 0x30524742 => 'BGR0', 0x41524742 => 'BGRA', 0x41424752 => 'RGBA', 0x20474E50 => 'PNG', 0x4745504A => 'JPEG'); + public $ValueMap = array('Opaque' => 0, 'BGR' => 0x20524742, 'BGR0' => 0x30524742, 'BGRA' => 0x41524742, 'RGBA' => 0x41424752, 'PNG' => 0x20474E50, 'JPEG' => 0x4745504A); +} + +/** + * Generated VBoxWebService Enum Collection */ -class IAdditionsFacilityCollection extends VBox_StructCollection +class BitmapFormatCollection extends VBox_EnumCollection { - protected $_interfaceName = "IAdditionsFacility"; + protected $_interfaceName = "BitmapFormat"; } /** - * Generated VBoxWebService Struct + * Generated VBoxWebService ENUM */ -class IMediumAttachment extends VBox_Struct +class PartitioningType extends VBox_Enum { - protected $medium; - protected $controller; - protected $port; - protected $device; - protected $type; - protected $passthrough; - protected $temporaryEject; - protected $isEjected; - protected $nonRotational; - protected $discard; - protected $hotPluggable; - protected $bandwidthGroup; + public $NameMap = array(0 => 'MBR', 1 => 'GPT'); + public $ValueMap = array('MBR' => 0, 'GPT' => 1); +} - public function __construct($connection, $values) - { - $this->connection = $connection; - $this->medium = $values->medium; - $this->controller = $values->controller; - $this->port = $values->port; - $this->device = $values->device; - $this->type = $values->type; - $this->passthrough = $values->passthrough; - $this->temporaryEject = $values->temporaryEject; - $this->isEjected = $values->isEjected; - $this->nonRotational = $values->nonRotational; - $this->discard = $values->discard; - $this->hotPluggable = $values->hotPluggable; - $this->bandwidthGroup = $values->bandwidthGroup; - } +/** + * Generated VBoxWebService Enum Collection + */ +class PartitioningTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "PartitioningType"; +} - public function getMedium() - { - return new IMedium ($this->connection, $this->medium); - } - public function getController() - { - return (string)$this->controller; - } - public function getPort() - { - return (int)$this->port; - } - public function getDevice() - { - return (int)$this->device; - } - public function getType() - { - return new DeviceType ($this->connection, $this->type); - } - public function getPassthrough() - { - return (bool)$this->passthrough; - } - public function getTemporaryEject() - { - return (bool)$this->temporaryEject; - } - public function getIsEjected() - { - return (bool)$this->isEjected; - } - public function getNonRotational() - { - return (bool)$this->nonRotational; - } - public function getDiscard() - { - return (bool)$this->discard; - } - public function getHotPluggable() - { - return (bool)$this->hotPluggable; - } - public function getBandwidthGroup() - { - return new IBandwidthGroup ($this->connection, $this->bandwidthGroup); - } +/** + * Generated VBoxWebService ENUM + */ +class PartitionType extends VBox_Enum +{ + public $NameMap = array(0 => 'Empty', 1 => 'FAT12', 4 => 'FAT16', 6 => 'FAT', 7 => 'IFS', 11 => 'FAT32CHS', 12 => 'FAT32LBA', 14 => 'FAT16B', 15 => 'Extended', 39 => 'WindowsRE', 66 => 'LinuxSwapOld', 67 => 'LinuxOld', 108 => 'DragonFlyBSDSlice', 130 => 'LinuxSwap', 131 => 'Linux', 133 => 'LinuxExtended', 142 => 'LinuxLVM', 165 => 'BSDSlice', 168 => 'AppleUFS', 175 => 'AppleHFS', 191 => 'Solaris', 238 => 'GPT', 239 => 'EFI', 256 => 'Unknown', 257 => 'MBR', 258 => 'iFFS', 259 => 'SonyBoot', 260 => 'LenovoBoot', 270 => 'WindowsMSR', 271 => 'WindowsBasicData', 272 => 'WindowsLDMMeta', 273 => 'WindowsLDMData', 274 => 'WindowsRecovery', 276 => 'WindowsStorageSpaces', 277 => 'WindowsStorageReplica', 275 => 'IBMGPFS', 300 => 'LinuxData', 301 => 'LinuxRAID', 302 => 'LinuxRootX86', 303 => 'LinuxRootAMD64', 304 => 'LinuxRootARM32', 305 => 'LinuxRootARM64', 306 => 'LinuxHome', 307 => 'LinuxSrv', 308 => 'LinuxPlainDmCrypt', 309 => 'LinuxLUKS', 310 => 'LinuxReserved', 330 => 'FreeBSDBoot', 331 => 'FreeBSDData', 332 => 'FreeBSDSwap', 333 => 'FreeBSDUFS', 334 => 'FreeBSDVinum', 335 => 'FreeBSDZFS', 359 => 'FreeBSDUnknown', 360 => 'AppleHFSPlus', 361 => 'AppleAPFS', 362 => 'AppleRAID', 363 => 'AppleRAIDOffline', 364 => 'AppleBoot', 365 => 'AppleLabel', 366 => 'AppleTvRecovery', 367 => 'AppleCoreStorage', 370 => 'SoftRAIDStatus', 371 => 'SoftRAIDScratch', 372 => 'SoftRAIDVolume', 373 => 'SoftRAIDCache', 389 => 'AppleUnknown', 390 => 'SolarisBoot', 391 => 'SolarisRoot', 392 => 'SolarisSwap', 393 => 'SolarisBackup', 394 => 'SolarisUsr', 395 => 'SolarisVar', 396 => 'SolarisHome', 397 => 'SolarisAltSector', 398 => 'SolarisReserved', 419 => 'SolarisUnknown', 420 => 'NetBSDSwap', 421 => 'NetBSDFFS', 422 => 'NetBSDLFS', 423 => 'NetBSDRAID', 424 => 'NetBSDConcatenated', 425 => 'NetBSDEncrypted', 449 => 'NetBSDUnknown', 450 => 'ChromeOSKernel', 451 => 'ChromeOSRootFS', 452 => 'ChromeOSFuture', 480 => 'ContLnxUsr', 481 => 'ContLnxRoot', 482 => 'ContLnxReserved', 483 => 'ContLnxRootRAID', 510 => 'HaikuBFS', 540 => 'MidntBSDBoot', 541 => 'MidntBSDData', 542 => 'MidntBSDSwap', 543 => 'MidntBSDUFS', 544 => 'MidntBSDVium', 545 => 'MidntBSDZFS', 569 => 'MidntBSDUnknown', 570 => 'OpenBSDData', 600 => 'QNXPowerSafeFS', 630 => 'Plan9', 660 => 'VMWareVMKCore', 661 => 'VMWareVMFS', 662 => 'VMWareReserved', 689 => 'VMWareUnknown', 690 => 'AndroidX86Bootloader', 691 => 'AndroidX86Bootloader2', 692 => 'AndroidX86Boot', 693 => 'AndroidX86Recovery', 694 => 'AndroidX86Misc', 695 => 'AndroidX86Metadata', 696 => 'AndroidX86System', 697 => 'AndroidX86Cache', 698 => 'AndroidX86Data', 699 => 'AndroidX86Persistent', 700 => 'AndroidX86Vendor', 701 => 'AndroidX86Config', 702 => 'AndroidX86Factory', 703 => 'AndroidX86FactoryAlt', 704 => 'AndroidX86Fastboot', 705 => 'AndroidX86OEM', 720 => 'AndroidARMMeta', 721 => 'AndroidARMExt', 750 => 'ONIEBoot', 751 => 'ONIEConfig', 780 => 'PowerPCPrep', 810 => 'XDGShrBootConfig', 830 => 'CephBlock', 831 => 'CephBlockDB', 832 => 'CephBlockDBDmc', 833 => 'CephBlockDBDmcLUKS', 834 => 'CephBlockDmc', 835 => 'CephBlockDmcLUKS', 836 => 'CephBlockWALog', 837 => 'CephBlockWALogDmc', 838 => 'CephBlockWALogDmcLUKS', 839 => 'CephDisk', 840 => 'CephDiskDmc', 841 => 'CephJournal', 842 => 'CephJournalDmc', 843 => 'CephJournalDmcLUKS', 844 => 'CephLockbox', 845 => 'CephMultipathBlock1', 846 => 'CephMultipathBlock2', 847 => 'CephMultipathBlockDB', 848 => 'CephMultipathBLockWALog', 849 => 'CephMultipathJournal', 851 => 'CephMultipathOSD', 852 => 'CephOSD', 853 => 'CephOSDDmc', 854 => 'CephOSDDmcLUKS'); + public $ValueMap = array('Empty' => 0, 'FAT12' => 1, 'FAT16' => 4, 'FAT' => 6, 'IFS' => 7, 'FAT32CHS' => 11, 'FAT32LBA' => 12, 'FAT16B' => 14, 'Extended' => 15, 'WindowsRE' => 39, 'LinuxSwapOld' => 66, 'LinuxOld' => 67, 'DragonFlyBSDSlice' => 108, 'LinuxSwap' => 130, 'Linux' => 131, 'LinuxExtended' => 133, 'LinuxLVM' => 142, 'BSDSlice' => 165, 'AppleUFS' => 168, 'AppleHFS' => 175, 'Solaris' => 191, 'GPT' => 238, 'EFI' => 239, 'Unknown' => 256, 'MBR' => 257, 'iFFS' => 258, 'SonyBoot' => 259, 'LenovoBoot' => 260, 'WindowsMSR' => 270, 'WindowsBasicData' => 271, 'WindowsLDMMeta' => 272, 'WindowsLDMData' => 273, 'WindowsRecovery' => 274, 'WindowsStorageSpaces' => 276, 'WindowsStorageReplica' => 277, 'IBMGPFS' => 275, 'LinuxData' => 300, 'LinuxRAID' => 301, 'LinuxRootX86' => 302, 'LinuxRootAMD64' => 303, 'LinuxRootARM32' => 304, 'LinuxRootARM64' => 305, 'LinuxHome' => 306, 'LinuxSrv' => 307, 'LinuxPlainDmCrypt' => 308, 'LinuxLUKS' => 309, 'LinuxReserved' => 310, 'FreeBSDBoot' => 330, 'FreeBSDData' => 331, 'FreeBSDSwap' => 332, 'FreeBSDUFS' => 333, 'FreeBSDVinum' => 334, 'FreeBSDZFS' => 335, 'FreeBSDUnknown' => 359, 'AppleHFSPlus' => 360, 'AppleAPFS' => 361, 'AppleRAID' => 362, 'AppleRAIDOffline' => 363, 'AppleBoot' => 364, 'AppleLabel' => 365, 'AppleTvRecovery' => 366, 'AppleCoreStorage' => 367, 'SoftRAIDStatus' => 370, 'SoftRAIDScratch' => 371, 'SoftRAIDVolume' => 372, 'SoftRAIDCache' => 373, 'AppleUnknown' => 389, 'SolarisBoot' => 390, 'SolarisRoot' => 391, 'SolarisSwap' => 392, 'SolarisBackup' => 393, 'SolarisUsr' => 394, 'SolarisVar' => 395, 'SolarisHome' => 396, 'SolarisAltSector' => 397, 'SolarisReserved' => 398, 'SolarisUnknown' => 419, 'NetBSDSwap' => 420, 'NetBSDFFS' => 421, 'NetBSDLFS' => 422, 'NetBSDRAID' => 423, 'NetBSDConcatenated' => 424, 'NetBSDEncrypted' => 425, 'NetBSDUnknown' => 449, 'ChromeOSKernel' => 450, 'ChromeOSRootFS' => 451, 'ChromeOSFuture' => 452, 'ContLnxUsr' => 480, 'ContLnxRoot' => 481, 'ContLnxReserved' => 482, 'ContLnxRootRAID' => 483, 'HaikuBFS' => 510, 'MidntBSDBoot' => 540, 'MidntBSDData' => 541, 'MidntBSDSwap' => 542, 'MidntBSDUFS' => 543, 'MidntBSDVium' => 544, 'MidntBSDZFS' => 545, 'MidntBSDUnknown' => 569, 'OpenBSDData' => 570, 'QNXPowerSafeFS' => 600, 'Plan9' => 630, 'VMWareVMKCore' => 660, 'VMWareVMFS' => 661, 'VMWareReserved' => 662, 'VMWareUnknown' => 689, 'AndroidX86Bootloader' => 690, 'AndroidX86Bootloader2' => 691, 'AndroidX86Boot' => 692, 'AndroidX86Recovery' => 693, 'AndroidX86Misc' => 694, 'AndroidX86Metadata' => 695, 'AndroidX86System' => 696, 'AndroidX86Cache' => 697, 'AndroidX86Data' => 698, 'AndroidX86Persistent' => 699, 'AndroidX86Vendor' => 700, 'AndroidX86Config' => 701, 'AndroidX86Factory' => 702, 'AndroidX86FactoryAlt' => 703, 'AndroidX86Fastboot' => 704, 'AndroidX86OEM' => 705, 'AndroidARMMeta' => 720, 'AndroidARMExt' => 721, 'ONIEBoot' => 750, 'ONIEConfig' => 751, 'PowerPCPrep' => 780, 'XDGShrBootConfig' => 810, 'CephBlock' => 830, 'CephBlockDB' => 831, 'CephBlockDBDmc' => 832, 'CephBlockDBDmcLUKS' => 833, 'CephBlockDmc' => 834, 'CephBlockDmcLUKS' => 835, 'CephBlockWALog' => 836, 'CephBlockWALogDmc' => 837, 'CephBlockWALogDmcLUKS' => 838, 'CephDisk' => 839, 'CephDiskDmc' => 840, 'CephJournal' => 841, 'CephJournalDmc' => 842, 'CephJournalDmcLUKS' => 843, 'CephLockbox' => 844, 'CephMultipathBlock1' => 845, 'CephMultipathBlock2' => 846, 'CephMultipathBlockDB' => 847, 'CephMultipathBLockWALog' => 848, 'CephMultipathJournal' => 849, 'CephMultipathOSD' => 851, 'CephOSD' => 852, 'CephOSDDmc' => 853, 'CephOSDDmcLUKS' => 854); } /** - * Generated VBoxWebService Struct Collection + * Generated VBoxWebService Enum Collection */ -class IMediumAttachmentCollection extends VBox_StructCollection +class PartitionTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "IMediumAttachment"; + protected $_interfaceName = "PartitionType"; } /** - * Generated VBoxWebService Struct + * Generated VBoxWebService ENUM */ -class ISharedFolder extends VBox_Struct +class TrackedObjectState extends VBox_Enum { - protected $name; - protected $hostPath; - protected $accessible; - protected $writable; - protected $autoMount; - protected $lastAccessError; + public $NameMap = array(0 => 'None', 1 => 'Alive', 2 => 'Deleted', 3 => 'Invalid'); + public $ValueMap = array('None' => 0, 'Alive' => 1, 'Deleted' => 2, 'Invalid' => 3); +} - public function __construct($connection, $values) - { - $this->connection = $connection; - $this->name = $values->name; - $this->hostPath = $values->hostPath; - $this->accessible = $values->accessible; - $this->writable = $values->writable; - $this->autoMount = $values->autoMount; - $this->lastAccessError = $values->lastAccessError; - } +/** + * Generated VBoxWebService Enum Collection + */ +class TrackedObjectStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "TrackedObjectState"; +} - public function getName() - { - return (string)$this->name; - } - public function getHostPath() - { - return (string)$this->hostPath; - } - public function getAccessible() - { - return (bool)$this->accessible; - } - public function getWritable() - { - return (bool)$this->writable; - } - public function getAutoMount() - { - return (bool)$this->autoMount; - } - public function getLastAccessError() - { - return (string)$this->lastAccessError; - } +/** + * Generated VBoxWebService ENUM + */ +class DHCPOption extends VBox_Enum +{ + public $NameMap = array(1 => 'SubnetMask', 2 => 'TimeOffset', 3 => 'Routers', 4 => 'TimeServers', 5 => 'NameServers', 6 => 'DomainNameServers', 7 => 'LogServers', 8 => 'CookieServers', 9 => 'LPRServers', 10 => 'ImpressServers', 11 => 'ResourseLocationServers', 12 => 'HostName', 13 => 'BootFileSize', 14 => 'MeritDumpFile', 15 => 'DomainName', 16 => 'SwapServer', 17 => 'RootPath', 18 => 'ExtensionPath', 19 => 'IPForwarding', 20 => 'OptNonLocalSourceRouting', 21 => 'PolicyFilter', 22 => 'MaxDgramReassemblySize', 23 => 'DefaultIPTTL', 24 => 'PathMTUAgingTimeout', 25 => 'PathMTUPlateauTable', 26 => 'InterfaceMTU', 27 => 'AllSubnetsAreLocal', 28 => 'BroadcastAddress', 29 => 'PerformMaskDiscovery', 30 => 'MaskSupplier', 31 => 'PerformRouterDiscovery', 32 => 'RouterSolicitationAddress', 33 => 'StaticRoute', 34 => 'TrailerEncapsulation', 35 => 'ARPCacheTimeout', 36 => 'EthernetEncapsulation', 37 => 'TCPDefaultTTL', 38 => 'TCPKeepaliveInterval', 39 => 'TCPKeepaliveGarbage', 40 => 'NISDomain', 41 => 'NISServers', 42 => 'NTPServers', 43 => 'VendorSpecificInfo', 44 => 'NetBIOSNameServers', 45 => 'NetBIOSDatagramServers', 46 => 'NetBIOSNodeType', 47 => 'NetBIOSScope', 48 => 'XWindowsFontServers', 49 => 'XWindowsDisplayManager', 62 => 'NetWareIPDomainName', 63 => 'NetWareIPInformation', 64 => 'NISPlusDomain', 65 => 'NISPlusServers', 66 => 'TFTPServerName', 67 => 'BootfileName', 68 => 'MobileIPHomeAgents', 69 => 'SMTPServers', 70 => 'POP3Servers', 71 => 'NNTPServers', 72 => 'WWWServers', 73 => 'FingerServers', 74 => 'IRCServers', 75 => 'StreetTalkServers', 76 => 'STDAServers', 78 => 'SLPDirectoryAgent', 79 => 'SLPServiceScope', 119 => 'DomainSearch'); + public $ValueMap = array('SubnetMask' => 1, 'TimeOffset' => 2, 'Routers' => 3, 'TimeServers' => 4, 'NameServers' => 5, 'DomainNameServers' => 6, 'LogServers' => 7, 'CookieServers' => 8, 'LPRServers' => 9, 'ImpressServers' => 10, 'ResourseLocationServers' => 11, 'HostName' => 12, 'BootFileSize' => 13, 'MeritDumpFile' => 14, 'DomainName' => 15, 'SwapServer' => 16, 'RootPath' => 17, 'ExtensionPath' => 18, 'IPForwarding' => 19, 'OptNonLocalSourceRouting' => 20, 'PolicyFilter' => 21, 'MaxDgramReassemblySize' => 22, 'DefaultIPTTL' => 23, 'PathMTUAgingTimeout' => 24, 'PathMTUPlateauTable' => 25, 'InterfaceMTU' => 26, 'AllSubnetsAreLocal' => 27, 'BroadcastAddress' => 28, 'PerformMaskDiscovery' => 29, 'MaskSupplier' => 30, 'PerformRouterDiscovery' => 31, 'RouterSolicitationAddress' => 32, 'StaticRoute' => 33, 'TrailerEncapsulation' => 34, 'ARPCacheTimeout' => 35, 'EthernetEncapsulation' => 36, 'TCPDefaultTTL' => 37, 'TCPKeepaliveInterval' => 38, 'TCPKeepaliveGarbage' => 39, 'NISDomain' => 40, 'NISServers' => 41, 'NTPServers' => 42, 'VendorSpecificInfo' => 43, 'NetBIOSNameServers' => 44, 'NetBIOSDatagramServers' => 45, 'NetBIOSNodeType' => 46, 'NetBIOSScope' => 47, 'XWindowsFontServers' => 48, 'XWindowsDisplayManager' => 49, 'NetWareIPDomainName' => 62, 'NetWareIPInformation' => 63, 'NISPlusDomain' => 64, 'NISPlusServers' => 65, 'TFTPServerName' => 66, 'BootfileName' => 67, 'MobileIPHomeAgents' => 68, 'SMTPServers' => 69, 'POP3Servers' => 70, 'NNTPServers' => 71, 'WWWServers' => 72, 'FingerServers' => 73, 'IRCServers' => 74, 'StreetTalkServers' => 75, 'STDAServers' => 76, 'SLPDirectoryAgent' => 78, 'SLPServiceScope' => 79, 'DomainSearch' => 119); } /** - * Generated VBoxWebService Struct Collection + * Generated VBoxWebService Enum Collection */ -class ISharedFolderCollection extends VBox_StructCollection +class DHCPOptionCollection extends VBox_EnumCollection { - protected $_interfaceName = "ISharedFolder"; + protected $_interfaceName = "DHCPOption"; } /** * Generated VBoxWebService ENUM */ -class SettingsVersion extends VBox_Enum +class DHCPOptionEncoding extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'v1_0', 2 => 'v1_1', 3 => 'v1_2', 4 => 'v1_3pre', 5 => 'v1_3', 6 => 'v1_4', 7 => 'v1_5', 8 => 'v1_6', 9 => 'v1_7', 10 => 'v1_8', 11 => 'v1_9', 12 => 'v1_10', 13 => 'v1_11', 14 => 'v1_12', 15 => 'v1_13', 16 => 'v1_14', 17 => 'v1_15', 99999 => 'Future'); - public $ValueMap = array('Null' => 0, 'v1_0' => 1, 'v1_1' => 2, 'v1_2' => 3, 'v1_3pre' => 4, 'v1_3' => 5, 'v1_4' => 6, 'v1_5' => 7, 'v1_6' => 8, 'v1_7' => 9, 'v1_8' => 10, 'v1_9' => 11, 'v1_10' => 12, 'v1_11' => 13, 'v1_12' => 14, 'v1_13' => 15, 'v1_14' => 16, 'v1_15' => 17, 'Future' => 99999); + public $NameMap = array(0 => 'Normal', 1 => 'Hex'); + public $ValueMap = array('Normal' => 0, 'Hex' => 1); } /** * Generated VBoxWebService Enum Collection */ -class SettingsVersionCollection extends VBox_EnumCollection +class DHCPOptionEncodingCollection extends VBox_EnumCollection { - protected $_interfaceName = "SettingsVersion"; + protected $_interfaceName = "DHCPOptionEncoding"; } /** * Generated VBoxWebService ENUM */ -class AccessMode extends VBox_Enum +class DHCPConfigScope extends VBox_Enum { - public $NameMap = array(1 => 'ReadOnly', 2 => 'ReadWrite'); - public $ValueMap = array('ReadOnly' => 1, 'ReadWrite' => 2); + public $NameMap = array(0 => 'Global', 1 => 'Group', 2 => 'MachineNIC', 3 => 'MAC'); + public $ValueMap = array('Global' => 0, 'Group' => 1, 'MachineNIC' => 2, 'MAC' => 3); } /** * Generated VBoxWebService Enum Collection */ -class AccessModeCollection extends VBox_EnumCollection +class DHCPConfigScopeCollection extends VBox_EnumCollection { - protected $_interfaceName = "AccessMode"; + protected $_interfaceName = "DHCPConfigScope"; } /** * Generated VBoxWebService ENUM */ -class MachineState extends VBox_Enum +class DHCPGroupConditionType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'PoweredOff', 2 => 'Saved', 3 => 'Teleported', 4 => 'Aborted', 5 => 'Running', 6 => 'Paused', 7 => 'Stuck', 8 => 'Teleporting', 9 => 'LiveSnapshotting', 10 => 'Starting', 11 => 'Stopping', 12 => 'Saving', 13 => 'Restoring', 14 => 'TeleportingPausedVM', 15 => 'TeleportingIn', 16 => 'FaultTolerantSyncing', 17 => 'DeletingSnapshotOnline', 18 => 'DeletingSnapshotPaused', 19 => 'OnlineSnapshotting', 20 => 'RestoringSnapshot', 21 => 'DeletingSnapshot', 22 => 'SettingUp', 23 => 'Snapshotting', ); - public $ValueMap = array('Null' => 0, 'PoweredOff' => 1, 'Saved' => 2, 'Teleported' => 3, 'Aborted' => 4, 'Running' => 5, 'Paused' => 6, 'Stuck' => 7, 'Teleporting' => 8, 'LiveSnapshotting' => 9, 'Starting' => 10, 'Stopping' => 11, 'Saving' => 12, 'Restoring' => 13, 'TeleportingPausedVM' => 14, 'TeleportingIn' => 15, 'FaultTolerantSyncing' => 16, 'DeletingSnapshotOnline' => 17, 'DeletingSnapshotPaused' => 18, 'OnlineSnapshotting' => 19, 'RestoringSnapshot' => 20, 'DeletingSnapshot' => 21, 'SettingUp' => 22, 'Snapshotting' => 23, ); + public $NameMap = array(0 => 'MAC', 1 => 'MACWildcard', 2 => 'vendorClassID', 3 => 'vendorClassIDWildcard', 4 => 'userClassID', 5 => 'userClassIDWildcard'); + public $ValueMap = array('MAC' => 0, 'MACWildcard' => 1, 'vendorClassID' => 2, 'vendorClassIDWildcard' => 3, 'userClassID' => 4, 'userClassIDWildcard' => 5); } /** * Generated VBoxWebService Enum Collection */ -class MachineStateCollection extends VBox_EnumCollection +class DHCPGroupConditionTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "MachineState"; + protected $_interfaceName = "DHCPGroupConditionType"; } /** * Generated VBoxWebService ENUM */ -class SessionState extends VBox_Enum +class VFSType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Unlocked', 2 => 'Locked', 3 => 'Spawning', 4 => 'Unlocking'); - public $ValueMap = array('Null' => 0, 'Unlocked' => 1, 'Locked' => 2, 'Spawning' => 3, 'Unlocking' => 4); + public $NameMap = array(1 => 'File', 2 => 'Cloud', 3 => 'S3', 4 => 'WebDav'); + public $ValueMap = array('File' => 1, 'Cloud' => 2, 'S3' => 3, 'WebDav' => 4); } /** * Generated VBoxWebService Enum Collection */ -class SessionStateCollection extends VBox_EnumCollection +class VFSTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "SessionState"; + protected $_interfaceName = "VFSType"; } /** * Generated VBoxWebService ENUM */ -class CPUPropertyType extends VBox_Enum +class ImportOptions extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'PAE', 2 => 'LongMode', 3 => 'TripleFaultReset'); - public $ValueMap = array('Null' => 0, 'PAE' => 1, 'LongMode' => 2, 'TripleFaultReset' => 3); + public $NameMap = array(1 => 'KeepAllMACs', 2 => 'KeepNATMACs', 3 => 'ImportToVDI'); + public $ValueMap = array('KeepAllMACs' => 1, 'KeepNATMACs' => 2, 'ImportToVDI' => 3); } /** * Generated VBoxWebService Enum Collection */ -class CPUPropertyTypeCollection extends VBox_EnumCollection +class ImportOptionsCollection extends VBox_EnumCollection { - protected $_interfaceName = "CPUPropertyType"; + protected $_interfaceName = "ImportOptions"; } /** * Generated VBoxWebService ENUM */ -class HWVirtExPropertyType extends VBox_Enum +class ExportOptions extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Enabled', 2 => 'VPID', 3 => 'NestedPaging', 4 => 'UnrestrictedExecution', 5 => 'LargePages', 6 => 'Force'); - public $ValueMap = array('Null' => 0, 'Enabled' => 1, 'VPID' => 2, 'NestedPaging' => 3, 'UnrestrictedExecution' => 4, 'LargePages' => 5, 'Force' => 6); + public $NameMap = array(1 => 'CreateManifest', 2 => 'ExportDVDImages', 3 => 'StripAllMACs', 4 => 'StripAllNonNATMACs'); + public $ValueMap = array('CreateManifest' => 1, 'ExportDVDImages' => 2, 'StripAllMACs' => 3, 'StripAllNonNATMACs' => 4); } /** * Generated VBoxWebService Enum Collection */ -class HWVirtExPropertyTypeCollection extends VBox_EnumCollection +class ExportOptionsCollection extends VBox_EnumCollection { - protected $_interfaceName = "HWVirtExPropertyType"; + protected $_interfaceName = "ExportOptions"; } /** * Generated VBoxWebService ENUM */ -class ParavirtProvider extends VBox_Enum +class CertificateVersion extends VBox_Enum { - public $NameMap = array(0 => 'None', 1 => 'Default', 2 => 'Legacy', 3 => 'Minimal', 4 => 'HyperV', 5 => 'KVM'); - public $ValueMap = array('None' => 0, 'Default' => 1, 'Legacy' => 2, 'Minimal' => 3, 'HyperV' => 4, 'KVM' => 5); + public $NameMap = array(1 => 'V1', 2 => 'V2', 3 => 'V3', 99 => 'Unknown'); + public $ValueMap = array('V1' => 1, 'V2' => 2, 'V3' => 3, 'Unknown' => 99); } /** * Generated VBoxWebService Enum Collection */ -class ParavirtProviderCollection extends VBox_EnumCollection +class CertificateVersionCollection extends VBox_EnumCollection { - protected $_interfaceName = "ParavirtProvider"; + protected $_interfaceName = "CertificateVersion"; } /** * Generated VBoxWebService ENUM */ -class FaultToleranceState extends VBox_Enum +class VirtualSystemDescriptionType extends VBox_Enum { - public $NameMap = array(1 => 'Inactive', 2 => 'Master', 3 => 'Standby'); - public $ValueMap = array('Inactive' => 1, 'Master' => 2, 'Standby' => 3); + public $NameMap = array(1 => 'Ignore', 2 => 'OS', 3 => 'Name', 4 => 'Product', 5 => 'Vendor', 6 => 'Version', 7 => 'ProductUrl', 8 => 'VendorUrl', 9 => 'Description', 10 => 'License', 11 => 'Miscellaneous', 12 => 'CPU', 13 => 'Memory', 14 => 'HardDiskControllerIDE', 15 => 'HardDiskControllerSATA', 16 => 'HardDiskControllerSCSI', 17 => 'HardDiskControllerSAS', 18 => 'HardDiskImage', 19 => 'Floppy', 20 => 'CDROM', 21 => 'NetworkAdapter', 22 => 'USBController', 23 => 'SoundCard', 24 => 'SettingsFile', 25 => 'BaseFolder', 26 => 'PrimaryGroup', 27 => 'CloudInstanceShape', 28 => 'CloudDomain', 29 => 'CloudBootDiskSize', 30 => 'CloudBucket', 31 => 'CloudOCIVCN', 32 => 'CloudPublicIP', 33 => 'CloudProfileName', 34 => 'CloudOCISubnet', 35 => 'CloudKeepObject', 36 => 'CloudLaunchInstance', 37 => 'CloudInstanceId', 38 => 'CloudImageId', 39 => 'CloudInstanceState', 40 => 'CloudImageState', 41 => 'CloudInstanceDisplayName', 42 => 'CloudImageDisplayName', 43 => 'CloudOCILaunchMode', 44 => 'CloudPrivateIP', 45 => 'CloudBootVolumeId', 46 => 'CloudOCIVCNCompartment', 47 => 'CloudOCISubnetCompartment', 48 => 'CloudPublicSSHKey', 49 => 'BootingFirmware', 50 => 'CloudInitScriptPath', 51 => 'CloudCompartmentId', 52 => 'CloudShapeCpus', 53 => 'CloudShapeMemory', 54 => 'CloudInstanceMetadata', 55 => 'CloudInstanceFreeFormTags', 56 => 'CloudImageFreeFormTags', 60 => 'HardDiskControllerVirtioSCSI', 61 => 'HardDiskControllerNVMe', 0x8000 => 'NVRAM'); + public $ValueMap = array('Ignore' => 1, 'OS' => 2, 'Name' => 3, 'Product' => 4, 'Vendor' => 5, 'Version' => 6, 'ProductUrl' => 7, 'VendorUrl' => 8, 'Description' => 9, 'License' => 10, 'Miscellaneous' => 11, 'CPU' => 12, 'Memory' => 13, 'HardDiskControllerIDE' => 14, 'HardDiskControllerSATA' => 15, 'HardDiskControllerSCSI' => 16, 'HardDiskControllerSAS' => 17, 'HardDiskImage' => 18, 'Floppy' => 19, 'CDROM' => 20, 'NetworkAdapter' => 21, 'USBController' => 22, 'SoundCard' => 23, 'SettingsFile' => 24, 'BaseFolder' => 25, 'PrimaryGroup' => 26, 'CloudInstanceShape' => 27, 'CloudDomain' => 28, 'CloudBootDiskSize' => 29, 'CloudBucket' => 30, 'CloudOCIVCN' => 31, 'CloudPublicIP' => 32, 'CloudProfileName' => 33, 'CloudOCISubnet' => 34, 'CloudKeepObject' => 35, 'CloudLaunchInstance' => 36, 'CloudInstanceId' => 37, 'CloudImageId' => 38, 'CloudInstanceState' => 39, 'CloudImageState' => 40, 'CloudInstanceDisplayName' => 41, 'CloudImageDisplayName' => 42, 'CloudOCILaunchMode' => 43, 'CloudPrivateIP' => 44, 'CloudBootVolumeId' => 45, 'CloudOCIVCNCompartment' => 46, 'CloudOCISubnetCompartment' => 47, 'CloudPublicSSHKey' => 48, 'BootingFirmware' => 49, 'CloudInitScriptPath' => 50, 'CloudCompartmentId' => 51, 'CloudShapeCpus' => 52, 'CloudShapeMemory' => 53, 'CloudInstanceMetadata' => 54, 'CloudInstanceFreeFormTags' => 55, 'CloudImageFreeFormTags' => 56, 'HardDiskControllerVirtioSCSI' => 60, 'HardDiskControllerNVMe' => 61, 'NVRAM' => 0x8000); } /** * Generated VBoxWebService Enum Collection */ -class FaultToleranceStateCollection extends VBox_EnumCollection +class VirtualSystemDescriptionTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "FaultToleranceState"; + protected $_interfaceName = "VirtualSystemDescriptionType"; } /** * Generated VBoxWebService ENUM */ -class LockType extends VBox_Enum +class VirtualSystemDescriptionValueType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Shared', 2 => 'Write', 3 => 'VM'); - public $ValueMap = array('Null' => 0, 'Shared' => 1, 'Write' => 2, 'VM' => 3); + public $NameMap = array(1 => 'Reference', 2 => 'Original', 3 => 'Auto', 4 => 'ExtraConfig'); + public $ValueMap = array('Reference' => 1, 'Original' => 2, 'Auto' => 3, 'ExtraConfig' => 4); } /** * Generated VBoxWebService Enum Collection */ -class LockTypeCollection extends VBox_EnumCollection +class VirtualSystemDescriptionValueTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "LockType"; + protected $_interfaceName = "VirtualSystemDescriptionValueType"; } /** * Generated VBoxWebService ENUM */ -class SessionType extends VBox_Enum +class TpmType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'WriteLock', 2 => 'Remote', 3 => 'Shared'); - public $ValueMap = array('Null' => 0, 'WriteLock' => 1, 'Remote' => 2, 'Shared' => 3); + public $NameMap = array(0 => 'None', 1 => 'v1_2', 2 => 'v2_0', 3 => 'Host', 4 => 'Swtpm'); + public $ValueMap = array('None' => 0, 'v1_2' => 1, 'v2_0' => 2, 'Host' => 3, 'Swtpm' => 4); } /** * Generated VBoxWebService Enum Collection */ -class SessionTypeCollection extends VBox_EnumCollection +class TpmTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "SessionType"; + protected $_interfaceName = "TpmType"; } /** * Generated VBoxWebService ENUM */ -class DeviceType extends VBox_Enum +class RecordingDestination extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Floppy', 2 => 'DVD', 3 => 'HardDisk', 4 => 'Network', 5 => 'USB', 6 => 'SharedFolder', 7 => 'Graphics3D'); - public $ValueMap = array('Null' => 0, 'Floppy' => 1, 'DVD' => 2, 'HardDisk' => 3, 'Network' => 4, 'USB' => 5, 'SharedFolder' => 6, 'Graphics3D' => 7); + public $NameMap = array(0 => 'None', 1 => 'File'); + public $ValueMap = array('None' => 0, 'File' => 1); } /** * Generated VBoxWebService Enum Collection */ -class DeviceTypeCollection extends VBox_EnumCollection +class RecordingDestinationCollection extends VBox_EnumCollection { - protected $_interfaceName = "DeviceType"; + protected $_interfaceName = "RecordingDestination"; } /** * Generated VBoxWebService ENUM */ -class DeviceActivity extends VBox_Enum +class RecordingFeature extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Idle', 2 => 'Reading', 3 => 'Writing'); - public $ValueMap = array('Null' => 0, 'Idle' => 1, 'Reading' => 2, 'Writing' => 3); + public $NameMap = array(0x0 => 'None', 0x1 => 'Video', 0x2 => 'Audio'); + public $ValueMap = array('None' => 0x0, 'Video' => 0x1, 'Audio' => 0x2); } /** * Generated VBoxWebService Enum Collection */ -class DeviceActivityCollection extends VBox_EnumCollection +class RecordingFeatureCollection extends VBox_EnumCollection { - protected $_interfaceName = "DeviceActivity"; + protected $_interfaceName = "RecordingFeature"; } /** * Generated VBoxWebService ENUM */ -class ClipboardMode extends VBox_Enum +class RecordingAudioCodec extends VBox_Enum { - public $NameMap = array(0 => 'Disabled', 1 => 'HostToGuest', 2 => 'GuestToHost', 3 => 'Bidirectional'); - public $ValueMap = array('Disabled' => 0, 'HostToGuest' => 1, 'GuestToHost' => 2, 'Bidirectional' => 3); + public $NameMap = array(0 => 'None', 1 => 'WavPCM', 2 => 'MP3', 3 => 'OggVorbis', 4 => 'Opus', 5 => 'Other'); + public $ValueMap = array('None' => 0, 'WavPCM' => 1, 'MP3' => 2, 'OggVorbis' => 3, 'Opus' => 4, 'Other' => 5); } /** * Generated VBoxWebService Enum Collection */ -class ClipboardModeCollection extends VBox_EnumCollection +class RecordingAudioCodecCollection extends VBox_EnumCollection { - protected $_interfaceName = "ClipboardMode"; + protected $_interfaceName = "RecordingAudioCodec"; } /** * Generated VBoxWebService ENUM */ -class DnDMode extends VBox_Enum +class RecordingCodecDeadline extends VBox_Enum { - public $NameMap = array(0 => 'Disabled', 1 => 'HostToGuest', 2 => 'GuestToHost', 3 => 'Bidirectional'); - public $ValueMap = array('Disabled' => 0, 'HostToGuest' => 1, 'GuestToHost' => 2, 'Bidirectional' => 3); + public $NameMap = array(0 => 'Default', 1 => 'Realtime', 2 => 'Good', 3 => 'Best'); + public $ValueMap = array('Default' => 0, 'Realtime' => 1, 'Good' => 2, 'Best' => 3); } /** * Generated VBoxWebService Enum Collection */ -class DnDModeCollection extends VBox_EnumCollection +class RecordingCodecDeadlineCollection extends VBox_EnumCollection { - protected $_interfaceName = "DnDMode"; + protected $_interfaceName = "RecordingCodecDeadline"; } /** * Generated VBoxWebService ENUM */ -class Scope extends VBox_Enum +class RecordingVideoCodec extends VBox_Enum { - public $NameMap = array(0 => 'Global', 1 => 'Machine', 2 => 'Session'); - public $ValueMap = array('Global' => 0, 'Machine' => 1, 'Session' => 2); + public $NameMap = array(0 => 'None', 1 => 'MJPEG', 2 => 'H262', 3 => 'H264', 4 => 'H265', 5 => 'H266', 6 => 'VP8', 7 => 'VP9', 8 => 'AV1', 9 => 'Other'); + public $ValueMap = array('None' => 0, 'MJPEG' => 1, 'H262' => 2, 'H264' => 3, 'H265' => 4, 'H266' => 5, 'VP8' => 6, 'VP9' => 7, 'AV1' => 8, 'Other' => 9); } /** * Generated VBoxWebService Enum Collection */ -class ScopeCollection extends VBox_EnumCollection +class RecordingVideoCodecCollection extends VBox_EnumCollection { - protected $_interfaceName = "Scope"; + protected $_interfaceName = "RecordingVideoCodec"; } /** * Generated VBoxWebService ENUM */ -class BIOSBootMenuMode extends VBox_Enum +class RecordingVideoScalingMode extends VBox_Enum { - public $NameMap = array(0 => 'Disabled', 1 => 'MenuOnly', 2 => 'MessageAndMenu'); - public $ValueMap = array('Disabled' => 0, 'MenuOnly' => 1, 'MessageAndMenu' => 2); + public $NameMap = array(0 => 'None', 1 => 'NearestNeighbor', 2 => 'Bilinear', 3 => 'Bicubic'); + public $ValueMap = array('None' => 0, 'NearestNeighbor' => 1, 'Bilinear' => 2, 'Bicubic' => 3); } /** * Generated VBoxWebService Enum Collection */ -class BIOSBootMenuModeCollection extends VBox_EnumCollection +class RecordingVideoScalingModeCollection extends VBox_EnumCollection { - protected $_interfaceName = "BIOSBootMenuMode"; + protected $_interfaceName = "RecordingVideoScalingMode"; } /** * Generated VBoxWebService ENUM */ -class ProcessorFeature extends VBox_Enum +class RecordingRateControlMode extends VBox_Enum { - public $NameMap = array(0 => 'HWVirtEx', 1 => 'PAE', 2 => 'LongMode', 3 => 'NestedPaging'); - public $ValueMap = array('HWVirtEx' => 0, 'PAE' => 1, 'LongMode' => 2, 'NestedPaging' => 3); + public $NameMap = array(0 => 'ABR', 1 => 'CBR', 2 => 'VBR'); + public $ValueMap = array('ABR' => 0, 'CBR' => 1, 'VBR' => 2); } /** * Generated VBoxWebService Enum Collection */ -class ProcessorFeatureCollection extends VBox_EnumCollection +class RecordingRateControlModeCollection extends VBox_EnumCollection { - protected $_interfaceName = "ProcessorFeature"; + protected $_interfaceName = "RecordingRateControlMode"; } /** * Generated VBoxWebService ENUM */ -class FirmwareType extends VBox_Enum +class RecordingState extends VBox_Enum { - public $NameMap = array(1 => 'BIOS', 2 => 'EFI', 3 => 'EFI32', 4 => 'EFI64', 5 => 'EFIDUAL'); - public $ValueMap = array('BIOS' => 1, 'EFI' => 2, 'EFI32' => 3, 'EFI64' => 4, 'EFIDUAL' => 5); + public $NameMap = array(0 => 'Unknown', 1 => 'Initializing', 2 => 'Started', 3 => 'Paused', 4 => 'Resumed', 5 => 'Finalizing', 6 => 'Stopped', 7 => 'Canceled', 8 => 'LimitReached', 9 => 'Error'); + public $ValueMap = array('Unknown' => 0, 'Initializing' => 1, 'Started' => 2, 'Paused' => 3, 'Resumed' => 4, 'Finalizing' => 5, 'Stopped' => 6, 'Canceled' => 7, 'LimitReached' => 8, 'Error' => 9); } /** * Generated VBoxWebService Enum Collection */ -class FirmwareTypeCollection extends VBox_EnumCollection +class RecordingStateCollection extends VBox_EnumCollection { - protected $_interfaceName = "FirmwareType"; + protected $_interfaceName = "RecordingState"; } /** * Generated VBoxWebService ENUM */ -class PointingHIDType extends VBox_Enum +class SignatureType extends VBox_Enum { - public $NameMap = array(1 => 'None', 2 => 'PS2Mouse', 3 => 'USBMouse', 4 => 'USBTablet', 5 => 'ComboMouse', 6 => 'USBMultiTouch'); - public $ValueMap = array('None' => 1, 'PS2Mouse' => 2, 'USBMouse' => 3, 'USBTablet' => 4, 'ComboMouse' => 5, 'USBMultiTouch' => 6); + public $NameMap = array(0 => 'X509', 1 => 'Sha256'); + public $ValueMap = array('X509' => 0, 'Sha256' => 1); } /** * Generated VBoxWebService Enum Collection */ -class PointingHIDTypeCollection extends VBox_EnumCollection +class SignatureTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "PointingHIDType"; + protected $_interfaceName = "SignatureType"; } /** * Generated VBoxWebService ENUM */ -class KeyboardHIDType extends VBox_Enum +class UefiVariableAttributes extends VBox_Enum { - public $NameMap = array(1 => 'None', 2 => 'PS2Keyboard', 3 => 'USBKeyboard', 4 => 'ComboKeyboard'); - public $ValueMap = array('None' => 1, 'PS2Keyboard' => 2, 'USBKeyboard' => 3, 'ComboKeyboard' => 4); + public $NameMap = array(0 => 'None', 0x01 => 'NonVolatile', 0x02 => 'BootServiceAccess', 0x04 => 'RuntimeAccess', 0x08 => 'HwErrorRecord', 0x100 => 'AuthWriteAccess', 0x200 => 'AuthTimeBasedWriteAccess', 0x400 => 'AuthAppendWrite'); + public $ValueMap = array('None' => 0, 'NonVolatile' => 0x01, 'BootServiceAccess' => 0x02, 'RuntimeAccess' => 0x04, 'HwErrorRecord' => 0x08, 'AuthWriteAccess' => 0x100, 'AuthTimeBasedWriteAccess' => 0x200, 'AuthAppendWrite' => 0x400); } /** * Generated VBoxWebService Enum Collection */ -class KeyboardHIDTypeCollection extends VBox_EnumCollection +class UefiVariableAttributesCollection extends VBox_EnumCollection { - protected $_interfaceName = "KeyboardHIDType"; + protected $_interfaceName = "UefiVariableAttributes"; } /** * Generated VBoxWebService ENUM */ -class BitmapFormat extends VBox_Enum +class GraphicsControllerType extends VBox_Enum { - public $NameMap = array(0 => 'Opaque', 0x20524742 => 'BGR', 0x30524742 => 'BGR0', 0x41524742 => 'BGRA', 0x41424752 => 'RGBA', 0x20474E50 => 'PNG', 0x4745504A => 'JPEG'); - public $ValueMap = array('Opaque' => 0, 'BGR' => 0x20524742, 'BGR0' => 0x30524742, 'BGRA' => 0x41524742, 'RGBA' => 0x41424752, 'PNG' => 0x20474E50, 'JPEG' => 0x4745504A); + public $NameMap = array(0 => 'Null', 1 => 'VBoxVGA', 2 => 'VMSVGA', 3 => 'VBoxSVGA', 4 => 'QemuRamFB'); + public $ValueMap = array('Null' => 0, 'VBoxVGA' => 1, 'VMSVGA' => 2, 'VBoxSVGA' => 3, 'QemuRamFB' => 4); } /** * Generated VBoxWebService Enum Collection */ -class BitmapFormatCollection extends VBox_EnumCollection +class GraphicsControllerTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "BitmapFormat"; + protected $_interfaceName = "GraphicsControllerType"; } /** * Generated VBoxWebService ENUM */ -class DhcpOpt extends VBox_Enum +class GraphicsFeature extends VBox_Enum { - public $NameMap = array(1 => 'SubnetMask', 2 => 'TimeOffset', 3 => 'Router', 4 => 'TimeServer', 5 => 'NameServer', 6 => 'DomainNameServer', 7 => 'LogServer', 8 => 'Cookie', 9 => 'LPRServer', 10 => 'ImpressServer', 11 => 'ResourseLocationServer', 12 => 'HostName', 13 => 'BootFileSize', 14 => 'MeritDumpFile', 15 => 'DomainName', 16 => 'SwapServer', 17 => 'RootPath', 18 => 'ExtensionPath', 19 => 'IPForwardingEnableDisable', 20 => 'NonLocalSourceRoutingEnableDisable', 21 => 'PolicyFilter', 22 => 'MaximumDatagramReassemblySize', 23 => 'DefaultIPTime2Live', 24 => 'PathMTUAgingTimeout', 25 => 'IPLayerParametersPerInterface', 26 => 'InterfaceMTU', 27 => 'AllSubnetsAreLocal', 28 => 'BroadcastAddress', 29 => 'PerformMaskDiscovery', 30 => 'MaskSupplier', 31 => 'PerformRouteDiscovery', 32 => 'RouterSolicitationAddress', 33 => 'StaticRoute', 34 => 'TrailerEncapsulation', 35 => 'ARPCacheTimeout', 36 => 'EthernetEncapsulation', 37 => 'TCPDefaultTTL', 38 => 'TCPKeepAliveInterval', 39 => 'TCPKeepAliveGarbage', 40 => 'NetworkInformationServiceDomain', 41 => 'NetworkInformationServiceServers', 42 => 'NetworkTimeProtocolServers', 43 => 'VendorSpecificInformation', 44 => 'Option_44', 45 => 'Option_45', 46 => 'Option_46', 47 => 'Option_47', 48 => 'Option_48', 49 => 'Option_49', 51 => 'IPAddressLeaseTime', 64 => 'Option_64', 65 => 'Option_65', 66 => 'TFTPServerName', 67 => 'BootfileName', 68 => 'Option_68', 69 => 'Option_69', 70 => 'Option_70', 71 => 'Option_71', 72 => 'Option_72', 73 => 'Option_73', 74 => 'Option_74', 75 => 'Option_75', 119 => 'Option_119'); - public $ValueMap = array('SubnetMask' => 1, 'TimeOffset' => 2, 'Router' => 3, 'TimeServer' => 4, 'NameServer' => 5, 'DomainNameServer' => 6, 'LogServer' => 7, 'Cookie' => 8, 'LPRServer' => 9, 'ImpressServer' => 10, 'ResourseLocationServer' => 11, 'HostName' => 12, 'BootFileSize' => 13, 'MeritDumpFile' => 14, 'DomainName' => 15, 'SwapServer' => 16, 'RootPath' => 17, 'ExtensionPath' => 18, 'IPForwardingEnableDisable' => 19, 'NonLocalSourceRoutingEnableDisable' => 20, 'PolicyFilter' => 21, 'MaximumDatagramReassemblySize' => 22, 'DefaultIPTime2Live' => 23, 'PathMTUAgingTimeout' => 24, 'IPLayerParametersPerInterface' => 25, 'InterfaceMTU' => 26, 'AllSubnetsAreLocal' => 27, 'BroadcastAddress' => 28, 'PerformMaskDiscovery' => 29, 'MaskSupplier' => 30, 'PerformRouteDiscovery' => 31, 'RouterSolicitationAddress' => 32, 'StaticRoute' => 33, 'TrailerEncapsulation' => 34, 'ARPCacheTimeout' => 35, 'EthernetEncapsulation' => 36, 'TCPDefaultTTL' => 37, 'TCPKeepAliveInterval' => 38, 'TCPKeepAliveGarbage' => 39, 'NetworkInformationServiceDomain' => 40, 'NetworkInformationServiceServers' => 41, 'NetworkTimeProtocolServers' => 42, 'VendorSpecificInformation' => 43, 'Option_44' => 44, 'Option_45' => 45, 'Option_46' => 46, 'Option_47' => 47, 'Option_48' => 48, 'Option_49' => 49, 'IPAddressLeaseTime' => 51, 'Option_64' => 64, 'Option_65' => 65, 'TFTPServerName' => 66, 'BootfileName' => 67, 'Option_68' => 68, 'Option_69' => 69, 'Option_70' => 70, 'Option_71' => 71, 'Option_72' => 72, 'Option_73' => 73, 'Option_74' => 74, 'Option_75' => 75, 'Option_119' => 119); + public $NameMap = array(0 => 'None', 2 => 'Acceleration3D'); + public $ValueMap = array('None' => 0, 'Acceleration3D' => 2); } /** * Generated VBoxWebService Enum Collection */ -class DhcpOptCollection extends VBox_EnumCollection +class GraphicsFeatureCollection extends VBox_EnumCollection { - protected $_interfaceName = "DhcpOpt"; + protected $_interfaceName = "GraphicsFeature"; } /** * Generated VBoxWebService ENUM */ -class DhcpOptEncoding extends VBox_Enum +class CleanupMode extends VBox_Enum { - public $NameMap = array(0 => 'Legacy', 1 => 'Hex'); - public $ValueMap = array('Legacy' => 0, 'Hex' => 1); + public $NameMap = array(1 => 'UnregisterOnly', 2 => 'DetachAllReturnNone', 3 => 'DetachAllReturnHardDisksOnly', 4 => 'Full', 5 => 'DetachAllReturnHardDisksAndVMRemovable'); + public $ValueMap = array('UnregisterOnly' => 1, 'DetachAllReturnNone' => 2, 'DetachAllReturnHardDisksOnly' => 3, 'Full' => 4, 'DetachAllReturnHardDisksAndVMRemovable' => 5); } /** * Generated VBoxWebService Enum Collection */ -class DhcpOptEncodingCollection extends VBox_EnumCollection +class CleanupModeCollection extends VBox_EnumCollection { - protected $_interfaceName = "DhcpOptEncoding"; + protected $_interfaceName = "CleanupMode"; } /** * Generated VBoxWebService ENUM */ -class VFSType extends VBox_Enum +class CloneMode extends VBox_Enum { - public $NameMap = array(1 => 'File', 2 => 'Cloud', 3 => 'S3', 4 => 'WebDav'); - public $ValueMap = array('File' => 1, 'Cloud' => 2, 'S3' => 3, 'WebDav' => 4); + public $NameMap = array(1 => 'MachineState', 2 => 'MachineAndChildStates', 3 => 'AllStates'); + public $ValueMap = array('MachineState' => 1, 'MachineAndChildStates' => 2, 'AllStates' => 3); } /** * Generated VBoxWebService Enum Collection */ -class VFSTypeCollection extends VBox_EnumCollection +class CloneModeCollection extends VBox_EnumCollection { - protected $_interfaceName = "VFSType"; + protected $_interfaceName = "CloneMode"; } /** * Generated VBoxWebService ENUM */ -class ImportOptions extends VBox_Enum +class CloneOptions extends VBox_Enum { - public $NameMap = array(1 => 'KeepAllMACs', 2 => 'KeepNATMACs', 3 => 'ImportToVDI'); - public $ValueMap = array('KeepAllMACs' => 1, 'KeepNATMACs' => 2, 'ImportToVDI' => 3); + public $NameMap = array(1 => 'Link', 2 => 'KeepAllMACs', 3 => 'KeepNATMACs', 4 => 'KeepDiskNames', 5 => 'KeepHwUUIDs'); + public $ValueMap = array('Link' => 1, 'KeepAllMACs' => 2, 'KeepNATMACs' => 3, 'KeepDiskNames' => 4, 'KeepHwUUIDs' => 5); } /** * Generated VBoxWebService Enum Collection */ -class ImportOptionsCollection extends VBox_EnumCollection +class CloneOptionsCollection extends VBox_EnumCollection { - protected $_interfaceName = "ImportOptions"; + protected $_interfaceName = "CloneOptions"; } /** * Generated VBoxWebService ENUM */ -class ExportOptions extends VBox_Enum +class AutostopType extends VBox_Enum { - public $NameMap = array(1 => 'CreateManifest', 2 => 'ExportDVDImages', 3 => 'StripAllMACs', 4 => 'StripAllNonNATMACs'); - public $ValueMap = array('CreateManifest' => 1, 'ExportDVDImages' => 2, 'StripAllMACs' => 3, 'StripAllNonNATMACs' => 4); + public $NameMap = array(1 => 'Disabled', 2 => 'SaveState', 3 => 'PowerOff', 4 => 'AcpiShutdown'); + public $ValueMap = array('Disabled' => 1, 'SaveState' => 2, 'PowerOff' => 3, 'AcpiShutdown' => 4); } /** * Generated VBoxWebService Enum Collection */ -class ExportOptionsCollection extends VBox_EnumCollection +class AutostopTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "ExportOptions"; + protected $_interfaceName = "AutostopType"; } /** * Generated VBoxWebService ENUM */ -class VirtualSystemDescriptionType extends VBox_Enum +class VMProcPriority extends VBox_Enum { - public $NameMap = array(1 => 'Ignore', 2 => 'OS', 3 => 'Name', 4 => 'Product', 5 => 'Vendor', 6 => 'Version', 7 => 'ProductUrl', 8 => 'VendorUrl', 9 => 'Description', 10 => 'License', 11 => 'Miscellaneous', 12 => 'CPU', 13 => 'Memory', 14 => 'HardDiskControllerIDE', 15 => 'HardDiskControllerSATA', 16 => 'HardDiskControllerSCSI', 17 => 'HardDiskControllerSAS', 18 => 'HardDiskImage', 19 => 'Floppy', 20 => 'CDROM', 21 => 'NetworkAdapter', 22 => 'USBController', 23 => 'SoundCard', 24 => 'SettingsFile'); - public $ValueMap = array('Ignore' => 1, 'OS' => 2, 'Name' => 3, 'Product' => 4, 'Vendor' => 5, 'Version' => 6, 'ProductUrl' => 7, 'VendorUrl' => 8, 'Description' => 9, 'License' => 10, 'Miscellaneous' => 11, 'CPU' => 12, 'Memory' => 13, 'HardDiskControllerIDE' => 14, 'HardDiskControllerSATA' => 15, 'HardDiskControllerSCSI' => 16, 'HardDiskControllerSAS' => 17, 'HardDiskImage' => 18, 'Floppy' => 19, 'CDROM' => 20, 'NetworkAdapter' => 21, 'USBController' => 22, 'SoundCard' => 23, 'SettingsFile' => 24); + public $NameMap = array(0 => 'Invalid', 1 => 'Default', 2 => 'Flat', 3 => 'Low', 5 => 'Normal', 6 => 'High'); + public $ValueMap = array('Invalid' => 0, 'Default' => 1, 'Flat' => 2, 'Low' => 3, 'Normal' => 5, 'High' => 6); } /** * Generated VBoxWebService Enum Collection */ -class VirtualSystemDescriptionTypeCollection extends VBox_EnumCollection +class VMProcPriorityCollection extends VBox_EnumCollection { - protected $_interfaceName = "VirtualSystemDescriptionType"; + protected $_interfaceName = "VMProcPriority"; } /** * Generated VBoxWebService ENUM */ -class VirtualSystemDescriptionValueType extends VBox_Enum +class IommuType extends VBox_Enum { - public $NameMap = array(1 => 'Reference', 2 => 'Original', 3 => 'Auto', 4 => 'ExtraConfig'); - public $ValueMap = array('Reference' => 1, 'Original' => 2, 'Auto' => 3, 'ExtraConfig' => 4); + public $NameMap = array(0 => 'None', 1 => 'Automatic', 2 => 'AMD', 3 => 'Intel'); + public $ValueMap = array('None' => 0, 'Automatic' => 1, 'AMD' => 2, 'Intel' => 3); } /** * Generated VBoxWebService Enum Collection */ -class VirtualSystemDescriptionValueTypeCollection extends VBox_EnumCollection +class IommuTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "VirtualSystemDescriptionValueType"; + protected $_interfaceName = "IommuType"; } /** * Generated VBoxWebService ENUM */ -class GraphicsControllerType extends VBox_Enum +class VMExecutionEngine extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'VBoxVGA', 2 => 'VMSVGA'); - public $ValueMap = array('Null' => 0, 'VBoxVGA' => 1, 'VMSVGA' => 2); + public $NameMap = array(0 => 'NotSet', 1 => 'Default', 2 => 'HwVirt', 3 => 'NativeApi', 4 => 'Interpreter', 5 => 'Recompiler'); + public $ValueMap = array('NotSet' => 0, 'Default' => 1, 'HwVirt' => 2, 'NativeApi' => 3, 'Interpreter' => 4, 'Recompiler' => 5); } /** * Generated VBoxWebService Enum Collection */ -class GraphicsControllerTypeCollection extends VBox_EnumCollection +class VMExecutionEngineCollection extends VBox_EnumCollection { - protected $_interfaceName = "GraphicsControllerType"; + protected $_interfaceName = "VMExecutionEngine"; } /** * Generated VBoxWebService ENUM */ -class CleanupMode extends VBox_Enum +class HostNetworkInterfaceMediumType extends VBox_Enum { - public $NameMap = array(1 => 'UnregisterOnly', 2 => 'DetachAllReturnNone', 3 => 'DetachAllReturnHardDisksOnly', 4 => 'Full'); - public $ValueMap = array('UnregisterOnly' => 1, 'DetachAllReturnNone' => 2, 'DetachAllReturnHardDisksOnly' => 3, 'Full' => 4); + public $NameMap = array(0 => 'Unknown', 1 => 'Ethernet', 2 => 'PPP', 3 => 'SLIP'); + public $ValueMap = array('Unknown' => 0, 'Ethernet' => 1, 'PPP' => 2, 'SLIP' => 3); } /** * Generated VBoxWebService Enum Collection */ -class CleanupModeCollection extends VBox_EnumCollection +class HostNetworkInterfaceMediumTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "CleanupMode"; + protected $_interfaceName = "HostNetworkInterfaceMediumType"; } /** * Generated VBoxWebService ENUM */ -class CloneMode extends VBox_Enum +class HostNetworkInterfaceStatus extends VBox_Enum { - public $NameMap = array(1 => 'MachineState', 2 => 'MachineAndChildStates', 3 => 'AllStates'); - public $ValueMap = array('MachineState' => 1, 'MachineAndChildStates' => 2, 'AllStates' => 3); + public $NameMap = array(0 => 'Unknown', 1 => 'Up', 2 => 'Down'); + public $ValueMap = array('Unknown' => 0, 'Up' => 1, 'Down' => 2); } /** * Generated VBoxWebService Enum Collection */ -class CloneModeCollection extends VBox_EnumCollection +class HostNetworkInterfaceStatusCollection extends VBox_EnumCollection { - protected $_interfaceName = "CloneMode"; + protected $_interfaceName = "HostNetworkInterfaceStatus"; } /** * Generated VBoxWebService ENUM */ -class CloneOptions extends VBox_Enum +class HostNetworkInterfaceType extends VBox_Enum { - public $NameMap = array(1 => 'Link', 2 => 'KeepAllMACs', 3 => 'KeepNATMACs', 4 => 'KeepDiskNames'); - public $ValueMap = array('Link' => 1, 'KeepAllMACs' => 2, 'KeepNATMACs' => 3, 'KeepDiskNames' => 4); + public $NameMap = array(0 => 'Invalid', 1 => 'Bridged', 2 => 'HostOnly'); + public $ValueMap = array('Invalid' => 0, 'Bridged' => 1, 'HostOnly' => 2); } /** * Generated VBoxWebService Enum Collection */ -class CloneOptionsCollection extends VBox_EnumCollection +class HostNetworkInterfaceTypeCollection extends VBox_EnumCollection { - protected $_interfaceName = "CloneOptions"; + protected $_interfaceName = "HostNetworkInterfaceType"; } /** * Generated VBoxWebService ENUM */ -class AutostopType extends VBox_Enum +class UpdateChannel extends VBox_Enum { - public $NameMap = array(1 => 'Disabled', 2 => 'SaveState', 3 => 'PowerOff', 4 => 'AcpiShutdown'); - public $ValueMap = array('Disabled' => 1, 'SaveState' => 2, 'PowerOff' => 3, 'AcpiShutdown' => 4); + public $NameMap = array(0 => 'Invalid', 1 => 'Stable', 2 => 'All', 3 => 'WithBetas', 4 => 'WithTesting'); + public $ValueMap = array('Invalid' => 0, 'Stable' => 1, 'All' => 2, 'WithBetas' => 3, 'WithTesting' => 4); } /** * Generated VBoxWebService Enum Collection */ -class AutostopTypeCollection extends VBox_EnumCollection +class UpdateChannelCollection extends VBox_EnumCollection { - protected $_interfaceName = "AutostopType"; + protected $_interfaceName = "UpdateChannel"; } /** * Generated VBoxWebService ENUM */ -class HostNetworkInterfaceMediumType extends VBox_Enum +class UpdateSeverity extends VBox_Enum { - public $NameMap = array(0 => 'Unknown', 1 => 'Ethernet', 2 => 'PPP', 3 => 'SLIP'); - public $ValueMap = array('Unknown' => 0, 'Ethernet' => 1, 'PPP' => 2, 'SLIP' => 3); + public $NameMap = array(0 => 'Invalid', 1 => 'Critical', 2 => 'Major', 3 => 'Minor', 4 => 'Testing'); + public $ValueMap = array('Invalid' => 0, 'Critical' => 1, 'Major' => 2, 'Minor' => 3, 'Testing' => 4); } /** * Generated VBoxWebService Enum Collection */ -class HostNetworkInterfaceMediumTypeCollection extends VBox_EnumCollection +class UpdateSeverityCollection extends VBox_EnumCollection { - protected $_interfaceName = "HostNetworkInterfaceMediumType"; + protected $_interfaceName = "UpdateSeverity"; } /** * Generated VBoxWebService ENUM */ -class HostNetworkInterfaceStatus extends VBox_Enum +class UpdateState extends VBox_Enum { - public $NameMap = array(0 => 'Unknown', 1 => 'Up', 2 => 'Down'); - public $ValueMap = array('Unknown' => 0, 'Up' => 1, 'Down' => 2); + public $NameMap = array(0 => 'Invalid', 1 => 'Available', 2 => 'NotAvailable', 3 => 'Downloading', 4 => 'Downloaded', 5 => 'Installing', 6 => 'Installed', 7 => 'UserInteraction', 8 => 'Canceled', 9 => 'Maintenance', 10 => 'Error'); + public $ValueMap = array('Invalid' => 0, 'Available' => 1, 'NotAvailable' => 2, 'Downloading' => 3, 'Downloaded' => 4, 'Installing' => 5, 'Installed' => 6, 'UserInteraction' => 7, 'Canceled' => 8, 'Maintenance' => 9, 'Error' => 10); } /** * Generated VBoxWebService Enum Collection */ -class HostNetworkInterfaceStatusCollection extends VBox_EnumCollection +class UpdateStateCollection extends VBox_EnumCollection { - protected $_interfaceName = "HostNetworkInterfaceStatus"; + protected $_interfaceName = "UpdateState"; } /** * Generated VBoxWebService ENUM */ -class HostNetworkInterfaceType extends VBox_Enum +class ProxyMode extends VBox_Enum { - public $NameMap = array(1 => 'Bridged', 2 => 'HostOnly'); - public $ValueMap = array('Bridged' => 1, 'HostOnly' => 2); + public $NameMap = array(0 => 'System', 1 => 'NoProxy', 2 => 'Manual'); + public $ValueMap = array('System' => 0, 'NoProxy' => 1, 'Manual' => 2); } /** * Generated VBoxWebService Enum Collection */ -class HostNetworkInterfaceTypeCollection extends VBox_EnumCollection +class ProxyModeCollection extends VBox_EnumCollection { - protected $_interfaceName = "HostNetworkInterfaceType"; + protected $_interfaceName = "ProxyMode"; } /** @@ -15589,8 +23714,8 @@ class HostNetworkInterfaceTypeCollection extends VBox_EnumCollection */ class AdditionsFacilityType extends VBox_Enum { - public $NameMap = array(0 => 'None', 20 => 'VBoxGuestDriver', 90 => 'AutoLogon', 100 => 'VBoxService', 101 => 'VBoxTrayClient', 1000 => 'Seamless', 1100 => 'Graphics', 2147483646 => 'All'); - public $ValueMap = array('None' => 0, 'VBoxGuestDriver' => 20, 'AutoLogon' => 90, 'VBoxService' => 100, 'VBoxTrayClient' => 101, 'Seamless' => 1000, 'Graphics' => 1100, 'All' => 2147483646); + public $NameMap = array(0 => 'None', 20 => 'VBoxGuestDriver', 90 => 'AutoLogon', 100 => 'VBoxService', 101 => 'VBoxTrayClient', 1000 => 'Seamless', 1100 => 'Graphics', 1101 => 'MonitorAttach', 2147483646 => 'All'); + public $ValueMap = array('None' => 0, 'VBoxGuestDriver' => 20, 'AutoLogon' => 90, 'VBoxService' => 100, 'VBoxTrayClient' => 101, 'Seamless' => 1000, 'Graphics' => 1100, 'MonitorAttach' => 1101, 'All' => 2147483646); } /** @@ -15669,6 +23794,23 @@ class AdditionsUpdateFlagCollection extends VBox_EnumCollection protected $_interfaceName = "AdditionsUpdateFlag"; } +/** + * Generated VBoxWebService ENUM + */ +class GuestShutdownFlag extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'PowerOff', 2 => 'Reboot', 4 => 'Force'); + public $ValueMap = array('None' => 0, 'PowerOff' => 1, 'Reboot' => 2, 'Force' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class GuestShutdownFlagCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "GuestShutdownFlag"; +} + /** * Generated VBoxWebService ENUM */ @@ -15842,7 +23984,7 @@ class FileCopyFlagCollection extends VBox_EnumCollection /** * Generated VBoxWebService ENUM */ -class FsObjMoveFlags extends VBox_Enum +class FsObjMoveFlag extends VBox_Enum { public $NameMap = array(0 => 'None', 1 => 'Replace', 2 => 'FollowLinks', 4 => 'AllowDirectoryMoves'); public $ValueMap = array('None' => 0, 'Replace' => 1, 'FollowLinks' => 2, 'AllowDirectoryMoves' => 4); @@ -15851,9 +23993,9 @@ class FsObjMoveFlags extends VBox_Enum /** * Generated VBoxWebService Enum Collection */ -class FsObjMoveFlagsCollection extends VBox_EnumCollection +class FsObjMoveFlagCollection extends VBox_EnumCollection { - protected $_interfaceName = "FsObjMoveFlags"; + protected $_interfaceName = "FsObjMoveFlag"; } /** @@ -15876,18 +24018,18 @@ class DirectoryCreateFlagCollection extends VBox_EnumCollection /** * Generated VBoxWebService ENUM */ -class DirectoryCopyFlags extends VBox_Enum +class DirectoryCopyFlag extends VBox_Enum { - public $NameMap = array(0 => 'None', 1 => 'CopyIntoExisting'); - public $ValueMap = array('None' => 0, 'CopyIntoExisting' => 1); + public $NameMap = array(0 => 'None', 1 => 'CopyIntoExisting', 2 => 'Recursive', 4 => 'FollowLinks'); + public $ValueMap = array('None' => 0, 'CopyIntoExisting' => 1, 'Recursive' => 2, 'FollowLinks' => 4); } /** * Generated VBoxWebService Enum Collection */ -class DirectoryCopyFlagsCollection extends VBox_EnumCollection +class DirectoryCopyFlagCollection extends VBox_EnumCollection { - protected $_interfaceName = "DirectoryCopyFlags"; + protected $_interfaceName = "DirectoryCopyFlag"; } /** @@ -15929,8 +24071,8 @@ class FsObjRenameFlagCollection extends VBox_EnumCollection */ class ProcessCreateFlag extends VBox_Enum { - public $NameMap = array(0 => 'None', 1 => 'WaitForProcessStartOnly', 2 => 'IgnoreOrphanedProcesses', 4 => 'Hidden', 8 => 'NoProfile', 16 => 'WaitForStdOut', 32 => 'WaitForStdErr', 64 => 'ExpandArguments', 128 => 'UnquotedArguments'); - public $ValueMap = array('None' => 0, 'WaitForProcessStartOnly' => 1, 'IgnoreOrphanedProcesses' => 2, 'Hidden' => 4, 'NoProfile' => 8, 'WaitForStdOut' => 16, 'WaitForStdErr' => 32, 'ExpandArguments' => 64, 'UnquotedArguments' => 128); + public $NameMap = array(0 => 'None', 1 => 'WaitForProcessStartOnly', 2 => 'IgnoreOrphanedProcesses', 4 => 'Hidden', 8 => 'Profile', 16 => 'WaitForStdOut', 32 => 'WaitForStdErr', 64 => 'ExpandArguments', 128 => 'UnquotedArguments'); + public $ValueMap = array('None' => 0, 'WaitForProcessStartOnly' => 1, 'IgnoreOrphanedProcesses' => 2, 'Hidden' => 4, 'Profile' => 8, 'WaitForStdOut' => 16, 'WaitForStdErr' => 32, 'ExpandArguments' => 64, 'UnquotedArguments' => 128); } /** @@ -16043,6 +24185,23 @@ class PathStyleCollection extends VBox_EnumCollection protected $_interfaceName = "PathStyle"; } +/** + * Generated VBoxWebService ENUM + */ +class DirectoryStatus extends VBox_Enum +{ + public $NameMap = array(0 => 'Undefined', 1 => 'Open', 2 => 'Close', 3 => 'Rewind', 4 => 'Down', 5 => 'Error'); + public $ValueMap = array('Undefined' => 0, 'Open' => 1, 'Close' => 2, 'Rewind' => 3, 'Down' => 4, 'Error' => 5); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class DirectoryStatusCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "DirectoryStatus"; +} + /** * Generated VBoxWebService ENUM */ @@ -16097,7 +24256,7 @@ class FileSharingModeCollection extends VBox_EnumCollection /** * Generated VBoxWebService ENUM */ -class FileOpenExFlags extends VBox_Enum +class FileOpenExFlag extends VBox_Enum { public $NameMap = array(0 => 'None'); public $ValueMap = array('None' => 0); @@ -16106,9 +24265,9 @@ class FileOpenExFlags extends VBox_Enum /** * Generated VBoxWebService Enum Collection */ -class FileOpenExFlagsCollection extends VBox_EnumCollection +class FileOpenExFlagCollection extends VBox_EnumCollection { - protected $_interfaceName = "FileOpenExFlags"; + protected $_interfaceName = "FileOpenExFlag"; } /** @@ -16167,8 +24326,8 @@ class DnDActionCollection extends VBox_EnumCollection */ class DirectoryOpenFlag extends VBox_Enum { - public $NameMap = array(0 => 'None', 1 => 'NoSymlinks'); - public $ValueMap = array('None' => 0, 'NoSymlinks' => 1); + public $NameMap = array(0 => 'None', 1 => 'NoSymlinks', 2 => 'DenyAscent', 4 => 'NoFollowSymlinks'); + public $ValueMap = array('None' => 0, 'NoSymlinks' => 1, 'DenyAscent' => 2, 'NoFollowSymlinks' => 4); } /** @@ -16218,8 +24377,8 @@ class MediumTypeCollection extends VBox_EnumCollection */ class MediumVariant extends VBox_Enum { - public $NameMap = array(0 => 'Standard', 0x01 => 'VmdkSplit2G', 0x02 => 'VmdkRawDisk', 0x04 => 'VmdkStreamOptimized', 0x08 => 'VmdkESX', 0x100 => 'VdiZeroExpand', 0x10000 => 'Fixed', 0x20000 => 'Diff', 0x40000000 => 'NoCreateDir'); - public $ValueMap = array('Standard' => 0, 'VmdkSplit2G' => 0x01, 'VmdkRawDisk' => 0x02, 'VmdkStreamOptimized' => 0x04, 'VmdkESX' => 0x08, 'VdiZeroExpand' => 0x100, 'Fixed' => 0x10000, 'Diff' => 0x20000, 'NoCreateDir' => 0x40000000); + public $NameMap = array(0 => 'Standard', 0x01 => 'VmdkSplit2G', 0x02 => 'VmdkRawDisk', 0x04 => 'VmdkStreamOptimized', 0x08 => 'VmdkESX', 0x100 => 'VdiZeroExpand', 0x10000 => 'Fixed', 0x20000 => 'Diff', 0x20000000 => 'Formatted', 0x40000000 => 'NoCreateDir'); + public $ValueMap = array('Standard' => 0, 'VmdkSplit2G' => 0x01, 'VmdkRawDisk' => 0x02, 'VmdkStreamOptimized' => 0x04, 'VmdkESX' => 0x08, 'VdiZeroExpand' => 0x100, 'Fixed' => 0x10000, 'Diff' => 0x20000, 'Formatted' => 0x20000000, 'NoCreateDir' => 0x40000000); } /** @@ -16269,8 +24428,8 @@ class DataFlagsCollection extends VBox_EnumCollection */ class MediumFormatCapabilities extends VBox_Enum { - public $NameMap = array(0x01 => 'Uuid', 0x02 => 'CreateFixed', 0x04 => 'CreateDynamic', 0x08 => 'CreateSplit2G', 0x10 => 'Differencing', 0x20 => 'Asynchronous', 0x40 => 'File', 0x80 => 'Properties', 0x100 => 'TcpNetworking', 0x200 => 'VFS', 0x3FF => 'CapabilityMask'); - public $ValueMap = array('Uuid' => 0x01, 'CreateFixed' => 0x02, 'CreateDynamic' => 0x04, 'CreateSplit2G' => 0x08, 'Differencing' => 0x10, 'Asynchronous' => 0x20, 'File' => 0x40, 'Properties' => 0x80, 'TcpNetworking' => 0x100, 'VFS' => 0x200, 'CapabilityMask' => 0x3FF); + public $NameMap = array(0x01 => 'Uuid', 0x02 => 'CreateFixed', 0x04 => 'CreateDynamic', 0x08 => 'CreateSplit2G', 0x10 => 'Differencing', 0x20 => 'Asynchronous', 0x40 => 'File', 0x80 => 'Properties', 0x100 => 'TcpNetworking', 0x200 => 'VFS', 0x400 => 'Discard', 0x800 => 'Preferred', 0xFFF => 'CapabilityMask'); + public $ValueMap = array('Uuid' => 0x01, 'CreateFixed' => 0x02, 'CreateDynamic' => 0x04, 'CreateSplit2G' => 0x08, 'Differencing' => 0x10, 'Asynchronous' => 0x20, 'File' => 0x40, 'Properties' => 0x80, 'TcpNetworking' => 0x100, 'VFS' => 0x200, 'Discard' => 0x400, 'Preferred' => 0x800, 'CapabilityMask' => 0xFFF); } /** @@ -16281,6 +24440,23 @@ class MediumFormatCapabilitiesCollection extends VBox_EnumCollection protected $_interfaceName = "MediumFormatCapabilities"; } +/** + * Generated VBoxWebService ENUM + */ +class PartitionTableType extends VBox_Enum +{ + public $NameMap = array(1 => 'MBR', 2 => 'GPT'); + public $ValueMap = array('MBR' => 1, 'GPT' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class PartitionTableTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "PartitionTableType"; +} + /** * Generated VBoxWebService ENUM */ @@ -16337,8 +24513,8 @@ class TouchContactStateCollection extends VBox_EnumCollection */ class FramebufferCapabilities extends VBox_Enum { - public $NameMap = array(0x01 => 'UpdateImage', 0x02 => 'VHWA', 0x04 => 'VisibleRegion'); - public $ValueMap = array('UpdateImage' => 0x01, 'VHWA' => 0x02, 'VisibleRegion' => 0x04); + public $NameMap = array(0x01 => 'UpdateImage', 0x02 => 'VHWA', 0x04 => 'VisibleRegion', 0x08 => 'RenderCursor', 0x10 => 'MoveCursor'); + public $ValueMap = array('UpdateImage' => 0x01, 'VHWA' => 0x02, 'VisibleRegion' => 0x04, 'RenderCursor' => 0x08, 'MoveCursor' => 0x10); } /** @@ -16354,8 +24530,8 @@ class FramebufferCapabilitiesCollection extends VBox_EnumCollection */ class GuestMonitorStatus extends VBox_Enum { - public $NameMap = array(0 => 'Disabled', 1 => 'Enabled'); - public $ValueMap = array('Disabled' => 0, 'Enabled' => 1); + public $NameMap = array(0 => 'Disabled', 1 => 'Enabled', 2 => 'Blank'); + public $ValueMap = array('Disabled' => 0, 'Enabled' => 1, 'Blank' => 2); } /** @@ -16366,13 +24542,30 @@ class GuestMonitorStatusCollection extends VBox_EnumCollection protected $_interfaceName = "GuestMonitorStatus"; } +/** + * Generated VBoxWebService ENUM + */ +class ScreenLayoutMode extends VBox_Enum +{ + public $NameMap = array(0 => 'Apply', 1 => 'Reset', 2 => 'Attach', 3 => 'Silent'); + public $ValueMap = array('Apply' => 0, 'Reset' => 1, 'Attach' => 2, 'Silent' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class ScreenLayoutModeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "ScreenLayoutMode"; +} + /** * Generated VBoxWebService ENUM */ class NetworkAttachmentType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'NAT', 2 => 'Bridged', 3 => 'Internal', 4 => 'HostOnly', 5 => 'Generic', 6 => 'NATNetwork'); - public $ValueMap = array('Null' => 0, 'NAT' => 1, 'Bridged' => 2, 'Internal' => 3, 'HostOnly' => 4, 'Generic' => 5, 'NATNetwork' => 6); + public $NameMap = array(0 => 'Null', 1 => 'NAT', 2 => 'Bridged', 3 => 'Internal', 4 => 'HostOnly', 5 => 'Generic', 6 => 'NATNetwork', 7 => 'Cloud', 8 => 'HostOnlyNetwork'); + public $ValueMap = array('Null' => 0, 'NAT' => 1, 'Bridged' => 2, 'Internal' => 3, 'HostOnly' => 4, 'Generic' => 5, 'NATNetwork' => 6, 'Cloud' => 7, 'HostOnlyNetwork' => 8); } /** @@ -16388,8 +24581,8 @@ class NetworkAttachmentTypeCollection extends VBox_EnumCollection */ class NetworkAdapterType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'Am79C970A', 2 => 'Am79C973', 3 => 'I82540EM', 4 => 'I82543GC', 5 => 'I82545EM', 6 => 'Virtio'); - public $ValueMap = array('Null' => 0, 'Am79C970A' => 1, 'Am79C973' => 2, 'I82540EM' => 3, 'I82543GC' => 4, 'I82545EM' => 5, 'Virtio' => 6); + public $NameMap = array(0 => 'Null', 1 => 'Am79C970A', 2 => 'Am79C973', 3 => 'I82540EM', 4 => 'I82543GC', 5 => 'I82545EM', 6 => 'Virtio', 7 => 'Am79C960', 8 => 'NE2000', 9 => 'NE1000', 10 => 'WD8013', 11 => 'WD8003', 12 => 'ELNK2', 13 => 'ELNK1', 14 => 'UsbNet'); + public $ValueMap = array('Null' => 0, 'Am79C970A' => 1, 'Am79C973' => 2, 'I82540EM' => 3, 'I82543GC' => 4, 'I82545EM' => 5, 'Virtio' => 6, 'Am79C960' => 7, 'NE2000' => 8, 'NE1000' => 9, 'WD8013' => 10, 'WD8003' => 11, 'ELNK2' => 12, 'ELNK1' => 13, 'UsbNet' => 14); } /** @@ -16434,6 +24627,23 @@ class PortModeCollection extends VBox_EnumCollection protected $_interfaceName = "PortMode"; } +/** + * Generated VBoxWebService ENUM + */ +class UartType extends VBox_Enum +{ + public $NameMap = array(0 => 'U16450', 1 => 'U16550A', 2 => 'U16750'); + public $ValueMap = array('U16450' => 0, 'U16550A' => 1, 'U16750' => 2); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class UartTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "UartType"; +} + /** * Generated VBoxWebService ENUM */ @@ -16507,8 +24717,8 @@ class USBDeviceFilterActionCollection extends VBox_EnumCollection */ class AudioDriverType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'WinMM', 2 => 'OSS', 3 => 'ALSA', 4 => 'DirectSound', 5 => 'CoreAudio', 6 => 'MMPM', 7 => 'Pulse', 8 => 'SolAudio'); - public $ValueMap = array('Null' => 0, 'WinMM' => 1, 'OSS' => 2, 'ALSA' => 3, 'DirectSound' => 4, 'CoreAudio' => 5, 'MMPM' => 6, 'Pulse' => 7, 'SolAudio' => 8); + public $NameMap = array(0 => 'Default', 1 => 'Null', 2 => 'OSS', 3 => 'ALSA', 4 => 'Pulse', 5 => 'WinMM', 6 => 'DirectSound', 7 => 'WAS', 8 => 'CoreAudio', 9 => 'MMPM', 10 => 'SolAudio'); + public $ValueMap = array('Default' => 0, 'Null' => 1, 'OSS' => 2, 'ALSA' => 3, 'Pulse' => 4, 'WinMM' => 5, 'DirectSound' => 6, 'WAS' => 7, 'CoreAudio' => 8, 'MMPM' => 9, 'SolAudio' => 10); } /** @@ -16524,8 +24734,8 @@ class AudioDriverTypeCollection extends VBox_EnumCollection */ class AudioControllerType extends VBox_Enum { - public $NameMap = array(0 => 'AC97', 1 => 'SB16', 2 => 'HDA'); - public $ValueMap = array('AC97' => 0, 'SB16' => 1, 'HDA' => 2); + public $NameMap = array(0 => 'AC97', 1 => 'SB16', 2 => 'HDA', 3 => 'VirtioSound'); + public $ValueMap = array('AC97' => 0, 'SB16' => 1, 'HDA' => 2, 'VirtioSound' => 3); } /** @@ -16553,6 +24763,57 @@ class AudioCodecTypeCollection extends VBox_EnumCollection protected $_interfaceName = "AudioCodecType"; } +/** + * Generated VBoxWebService ENUM + */ +class AudioDirection extends VBox_Enum +{ + public $NameMap = array(0 => 'Unknown', 1 => 'In', 2 => 'Out', 3 => 'Duplex'); + public $ValueMap = array('Unknown' => 0, 'In' => 1, 'Out' => 2, 'Duplex' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class AudioDirectionCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "AudioDirection"; +} + +/** + * Generated VBoxWebService ENUM + */ +class AudioDeviceType extends VBox_Enum +{ + public $NameMap = array(0 => 'Unknown', 1 => 'BuiltLin', 2 => 'ExternalUSB', 3 => 'ExternalOther'); + public $ValueMap = array('Unknown' => 0, 'BuiltLin' => 1, 'ExternalUSB' => 2, 'ExternalOther' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class AudioDeviceTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "AudioDeviceType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class AudioDeviceState extends VBox_Enum +{ + public $NameMap = array(0 => 'Unknown', 1 => 'Active', 2 => 'Disabled', 3 => 'NotPresent', 4 => 'Unplugged'); + public $ValueMap = array('Unknown' => 0, 'Active' => 1, 'Disabled' => 2, 'NotPresent' => 3, 'Unplugged' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class AudioDeviceStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "AudioDeviceState"; +} + /** * Generated VBoxWebService ENUM */ @@ -16592,8 +24853,8 @@ class ReasonCollection extends VBox_EnumCollection */ class StorageBus extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'IDE', 2 => 'SATA', 3 => 'SCSI', 4 => 'Floppy', 5 => 'SAS', 6 => 'USB'); - public $ValueMap = array('Null' => 0, 'IDE' => 1, 'SATA' => 2, 'SCSI' => 3, 'Floppy' => 4, 'SAS' => 5, 'USB' => 6); + public $NameMap = array(0 => 'Null', 1 => 'IDE', 2 => 'SATA', 3 => 'SCSI', 4 => 'Floppy', 5 => 'SAS', 6 => 'USB', 7 => 'PCIe', 8 => 'VirtioSCSI'); + public $ValueMap = array('Null' => 0, 'IDE' => 1, 'SATA' => 2, 'SCSI' => 3, 'Floppy' => 4, 'SAS' => 5, 'USB' => 6, 'PCIe' => 7, 'VirtioSCSI' => 8); } /** @@ -16609,8 +24870,8 @@ class StorageBusCollection extends VBox_EnumCollection */ class StorageControllerType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'LsiLogic', 2 => 'BusLogic', 3 => 'IntelAhci', 4 => 'PIIX3', 5 => 'PIIX4', 6 => 'ICH6', 7 => 'I82078', 8 => 'LsiLogicSas', 9 => 'USB'); - public $ValueMap = array('Null' => 0, 'LsiLogic' => 1, 'BusLogic' => 2, 'IntelAhci' => 3, 'PIIX3' => 4, 'PIIX4' => 5, 'ICH6' => 6, 'I82078' => 7, 'LsiLogicSas' => 8, 'USB' => 9); + public $NameMap = array(0 => 'Null', 1 => 'LsiLogic', 2 => 'BusLogic', 3 => 'IntelAhci', 4 => 'PIIX3', 5 => 'PIIX4', 6 => 'ICH6', 7 => 'I82078', 8 => 'LsiLogicSas', 9 => 'USB', 10 => 'NVMe', 11 => 'VirtioSCSI'); + public $ValueMap = array('Null' => 0, 'LsiLogic' => 1, 'BusLogic' => 2, 'IntelAhci' => 3, 'PIIX3' => 4, 'PIIX4' => 5, 'ICH6' => 6, 'I82078' => 7, 'LsiLogicSas' => 8, 'USB' => 9, 'NVMe' => 10, 'VirtioSCSI' => 11); } /** @@ -16626,8 +24887,8 @@ class StorageControllerTypeCollection extends VBox_EnumCollection */ class ChipsetType extends VBox_Enum { - public $NameMap = array(0 => 'Null', 1 => 'PIIX3', 2 => 'ICH9'); - public $ValueMap = array('Null' => 0, 'PIIX3' => 1, 'ICH9' => 2); + public $NameMap = array(0 => 'Null', 1 => 'PIIX3', 2 => 'ICH9', 3 => 'ARMv8Virtual'); + public $ValueMap = array('Null' => 0, 'PIIX3' => 1, 'ICH9' => 2, 'ARMv8Virtual' => 3); } /** @@ -16689,13 +24950,47 @@ class BandwidthGroupTypeCollection extends VBox_EnumCollection protected $_interfaceName = "BandwidthGroupType"; } +/** + * Generated VBoxWebService ENUM + */ +class GuestDebugProvider extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'Native', 2 => 'GDB', 3 => 'KD'); + public $ValueMap = array('None' => 0, 'Native' => 1, 'GDB' => 2, 'KD' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class GuestDebugProviderCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "GuestDebugProvider"; +} + +/** + * Generated VBoxWebService ENUM + */ +class GuestDebugIoProvider extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'TCP', 2 => 'UDP', 3 => 'IPC'); + public $ValueMap = array('None' => 0, 'TCP' => 1, 'UDP' => 2, 'IPC' => 3); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class GuestDebugIoProviderCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "GuestDebugIoProvider"; +} + /** * Generated VBoxWebService ENUM */ class VBoxEventType extends VBox_Enum { - public $NameMap = array(0 => 'Invalid', 1 => 'Any', 2 => 'Vetoable', 3 => 'MachineEvent', 4 => 'SnapshotEvent', 5 => 'InputEvent', 31 => 'LastWildcard', 32 => 'OnMachineStateChanged', 33 => 'OnMachineDataChanged', 34 => 'OnExtraDataChanged', 35 => 'OnExtraDataCanChange', 36 => 'OnMediumRegistered', 37 => 'OnMachineRegistered', 38 => 'OnSessionStateChanged', 39 => 'OnSnapshotTaken', 40 => 'OnSnapshotDeleted', 41 => 'OnSnapshotChanged', 42 => 'OnGuestPropertyChanged', 43 => 'OnMousePointerShapeChanged', 44 => 'OnMouseCapabilityChanged', 45 => 'OnKeyboardLedsChanged', 46 => 'OnStateChanged', 47 => 'OnAdditionsStateChanged', 48 => 'OnNetworkAdapterChanged', 49 => 'OnSerialPortChanged', 50 => 'OnParallelPortChanged', 51 => 'OnStorageControllerChanged', 52 => 'OnMediumChanged', 53 => 'OnVRDEServerChanged', 54 => 'OnUSBControllerChanged', 55 => 'OnUSBDeviceStateChanged', 56 => 'OnSharedFolderChanged', 57 => 'OnRuntimeError', 58 => 'OnCanShowWindow', 59 => 'OnShowWindow', 60 => 'OnCPUChanged', 61 => 'OnVRDEServerInfoChanged', 62 => 'OnEventSourceChanged', 63 => 'OnCPUExecutionCapChanged', 64 => 'OnGuestKeyboard', 65 => 'OnGuestMouse', 66 => 'OnNATRedirect', 67 => 'OnHostPCIDevicePlug', 68 => 'OnVBoxSVCAvailabilityChanged', 69 => 'OnBandwidthGroupChanged', 70 => 'OnGuestMonitorChanged', 71 => 'OnStorageDeviceChanged', 72 => 'OnClipboardModeChanged', 73 => 'OnDnDModeChanged', 74 => 'OnNATNetworkChanged', 75 => 'OnNATNetworkStartStop', 76 => 'OnNATNetworkAlter', 77 => 'OnNATNetworkCreationDeletion', 78 => 'OnNATNetworkSetting', 79 => 'OnNATNetworkPortForward', 80 => 'OnGuestSessionStateChanged', 81 => 'OnGuestSessionRegistered', 82 => 'OnGuestProcessRegistered', 83 => 'OnGuestProcessStateChanged', 84 => 'OnGuestProcessInputNotify', 85 => 'OnGuestProcessOutput', 86 => 'OnGuestFileRegistered', 87 => 'OnGuestFileStateChanged', 88 => 'OnGuestFileOffsetChanged', 89 => 'OnGuestFileRead', 90 => 'OnGuestFileWrite', 91 => 'OnVideoCaptureChanged', 92 => 'OnGuestUserStateChanged', 93 => 'OnGuestMultiTouch', 94 => 'OnHostNameResolutionConfigurationChange', 95 => 'OnSnapshotRestored', 96 => 'OnMediumConfigChanged', 97 => 'Last'); - public $ValueMap = array('Invalid' => 0, 'Any' => 1, 'Vetoable' => 2, 'MachineEvent' => 3, 'SnapshotEvent' => 4, 'InputEvent' => 5, 'LastWildcard' => 31, 'OnMachineStateChanged' => 32, 'OnMachineDataChanged' => 33, 'OnExtraDataChanged' => 34, 'OnExtraDataCanChange' => 35, 'OnMediumRegistered' => 36, 'OnMachineRegistered' => 37, 'OnSessionStateChanged' => 38, 'OnSnapshotTaken' => 39, 'OnSnapshotDeleted' => 40, 'OnSnapshotChanged' => 41, 'OnGuestPropertyChanged' => 42, 'OnMousePointerShapeChanged' => 43, 'OnMouseCapabilityChanged' => 44, 'OnKeyboardLedsChanged' => 45, 'OnStateChanged' => 46, 'OnAdditionsStateChanged' => 47, 'OnNetworkAdapterChanged' => 48, 'OnSerialPortChanged' => 49, 'OnParallelPortChanged' => 50, 'OnStorageControllerChanged' => 51, 'OnMediumChanged' => 52, 'OnVRDEServerChanged' => 53, 'OnUSBControllerChanged' => 54, 'OnUSBDeviceStateChanged' => 55, 'OnSharedFolderChanged' => 56, 'OnRuntimeError' => 57, 'OnCanShowWindow' => 58, 'OnShowWindow' => 59, 'OnCPUChanged' => 60, 'OnVRDEServerInfoChanged' => 61, 'OnEventSourceChanged' => 62, 'OnCPUExecutionCapChanged' => 63, 'OnGuestKeyboard' => 64, 'OnGuestMouse' => 65, 'OnNATRedirect' => 66, 'OnHostPCIDevicePlug' => 67, 'OnVBoxSVCAvailabilityChanged' => 68, 'OnBandwidthGroupChanged' => 69, 'OnGuestMonitorChanged' => 70, 'OnStorageDeviceChanged' => 71, 'OnClipboardModeChanged' => 72, 'OnDnDModeChanged' => 73, 'OnNATNetworkChanged' => 74, 'OnNATNetworkStartStop' => 75, 'OnNATNetworkAlter' => 76, 'OnNATNetworkCreationDeletion' => 77, 'OnNATNetworkSetting' => 78, 'OnNATNetworkPortForward' => 79, 'OnGuestSessionStateChanged' => 80, 'OnGuestSessionRegistered' => 81, 'OnGuestProcessRegistered' => 82, 'OnGuestProcessStateChanged' => 83, 'OnGuestProcessInputNotify' => 84, 'OnGuestProcessOutput' => 85, 'OnGuestFileRegistered' => 86, 'OnGuestFileStateChanged' => 87, 'OnGuestFileOffsetChanged' => 88, 'OnGuestFileRead' => 89, 'OnGuestFileWrite' => 90, 'OnVideoCaptureChanged' => 91, 'OnGuestUserStateChanged' => 92, 'OnGuestMultiTouch' => 93, 'OnHostNameResolutionConfigurationChange' => 94, 'OnSnapshotRestored' => 95, 'OnMediumConfigChanged' => 96, 'Last' => 97); + public $NameMap = array(0 => 'Invalid', 1 => 'Any', 2 => 'Vetoable', 3 => 'MachineEvent', 4 => 'SnapshotEvent', 5 => 'InputEvent', 31 => 'LastWildcard', 32 => 'OnMachineStateChanged', 33 => 'OnMachineDataChanged', 34 => 'OnExtraDataChanged', 35 => 'OnExtraDataCanChange', 36 => 'OnMediumRegistered', 37 => 'OnMachineRegistered', 38 => 'OnSessionStateChanged', 39 => 'OnSnapshotTaken', 40 => 'OnSnapshotDeleted', 41 => 'OnSnapshotChanged', 42 => 'OnGuestPropertyChanged', 43 => 'OnMousePointerShapeChanged', 44 => 'OnMouseCapabilityChanged', 45 => 'OnKeyboardLedsChanged', 46 => 'OnStateChanged', 47 => 'OnAdditionsStateChanged', 48 => 'OnNetworkAdapterChanged', 49 => 'OnSerialPortChanged', 50 => 'OnParallelPortChanged', 51 => 'OnStorageControllerChanged', 52 => 'OnMediumChanged', 53 => 'OnVRDEServerChanged', 54 => 'OnUSBControllerChanged', 55 => 'OnUSBDeviceStateChanged', 56 => 'OnSharedFolderChanged', 57 => 'OnRuntimeError', 58 => 'OnCanShowWindow', 59 => 'OnShowWindow', 60 => 'OnCPUChanged', 61 => 'OnVRDEServerInfoChanged', 62 => 'OnEventSourceChanged', 63 => 'OnCPUExecutionCapChanged', 64 => 'OnGuestKeyboard', 65 => 'OnGuestMouse', 66 => 'OnNATRedirect', 67 => 'OnHostPCIDevicePlug', 68 => 'OnVBoxSVCAvailabilityChanged', 69 => 'OnBandwidthGroupChanged', 70 => 'OnGuestMonitorChanged', 71 => 'OnStorageDeviceChanged', 72 => 'OnClipboardModeChanged', 73 => 'OnDnDModeChanged', 74 => 'OnNATNetworkChanged', 75 => 'OnNATNetworkStartStop', 76 => 'OnNATNetworkAlter', 77 => 'OnNATNetworkCreationDeletion', 78 => 'OnNATNetworkSetting', 79 => 'OnNATNetworkPortForward', 80 => 'OnGuestSessionStateChanged', 81 => 'OnGuestSessionRegistered', 82 => 'OnGuestProcessRegistered', 83 => 'OnGuestProcessStateChanged', 84 => 'OnGuestProcessInputNotify', 85 => 'OnGuestProcessOutput', 86 => 'OnGuestFileRegistered', 87 => 'OnGuestFileStateChanged', 88 => 'OnGuestFileOffsetChanged', 89 => 'OnGuestFileRead', 90 => 'OnGuestFileWrite', 91 => 'OnRecordingStateChanged', 92 => 'OnGuestUserStateChanged', 93 => 'OnGuestMultiTouch', 94 => 'OnHostNameResolutionConfigurationChange', 95 => 'OnSnapshotRestored', 96 => 'OnMediumConfigChanged', 97 => 'OnAudioAdapterChanged', 98 => 'OnProgressPercentageChanged', 99 => 'OnProgressTaskCompleted', 100 => 'OnCursorPositionChanged', 101 => 'OnGuestAdditionsStatusChanged', 102 => 'OnGuestMonitorInfoChanged', 103 => 'OnGuestFileSizeChanged', 104 => 'OnClipboardFileTransferModeChanged', 105 => 'OnCloudProviderListChanged', 106 => 'OnCloudProviderRegistered', 107 => 'OnCloudProviderUninstall', 108 => 'OnCloudProfileRegistered', 109 => 'OnCloudProfileChanged', 110 => 'OnProgressCreated', 111 => 'OnLanguageChanged', 112 => 'OnUpdateAgentAvailable', 113 => 'OnUpdateAgentError', 114 => 'OnUpdateAgentSettingsChanged', 115 => 'OnUpdateAgentStateChanged', 116 => 'OnHostAudioDeviceChanged', 117 => 'OnGuestDebugControlChanged', 118 => 'OnMachineGroupsChanged', 119 => 'OnGuestDirectoryRegistered', 120 => 'OnGuestDirectoryStateChanged', 121 => 'OnGuestDirectoryRead', 122 => 'OnClipboardError', 123 => 'OnExtPackInstalled', 124 => 'OnExtPackUninstalled', 125 => 'OnRecordingScreenStateChanged', 126 => 'End'); + public $ValueMap = array('Invalid' => 0, 'Any' => 1, 'Vetoable' => 2, 'MachineEvent' => 3, 'SnapshotEvent' => 4, 'InputEvent' => 5, 'LastWildcard' => 31, 'OnMachineStateChanged' => 32, 'OnMachineDataChanged' => 33, 'OnExtraDataChanged' => 34, 'OnExtraDataCanChange' => 35, 'OnMediumRegistered' => 36, 'OnMachineRegistered' => 37, 'OnSessionStateChanged' => 38, 'OnSnapshotTaken' => 39, 'OnSnapshotDeleted' => 40, 'OnSnapshotChanged' => 41, 'OnGuestPropertyChanged' => 42, 'OnMousePointerShapeChanged' => 43, 'OnMouseCapabilityChanged' => 44, 'OnKeyboardLedsChanged' => 45, 'OnStateChanged' => 46, 'OnAdditionsStateChanged' => 47, 'OnNetworkAdapterChanged' => 48, 'OnSerialPortChanged' => 49, 'OnParallelPortChanged' => 50, 'OnStorageControllerChanged' => 51, 'OnMediumChanged' => 52, 'OnVRDEServerChanged' => 53, 'OnUSBControllerChanged' => 54, 'OnUSBDeviceStateChanged' => 55, 'OnSharedFolderChanged' => 56, 'OnRuntimeError' => 57, 'OnCanShowWindow' => 58, 'OnShowWindow' => 59, 'OnCPUChanged' => 60, 'OnVRDEServerInfoChanged' => 61, 'OnEventSourceChanged' => 62, 'OnCPUExecutionCapChanged' => 63, 'OnGuestKeyboard' => 64, 'OnGuestMouse' => 65, 'OnNATRedirect' => 66, 'OnHostPCIDevicePlug' => 67, 'OnVBoxSVCAvailabilityChanged' => 68, 'OnBandwidthGroupChanged' => 69, 'OnGuestMonitorChanged' => 70, 'OnStorageDeviceChanged' => 71, 'OnClipboardModeChanged' => 72, 'OnDnDModeChanged' => 73, 'OnNATNetworkChanged' => 74, 'OnNATNetworkStartStop' => 75, 'OnNATNetworkAlter' => 76, 'OnNATNetworkCreationDeletion' => 77, 'OnNATNetworkSetting' => 78, 'OnNATNetworkPortForward' => 79, 'OnGuestSessionStateChanged' => 80, 'OnGuestSessionRegistered' => 81, 'OnGuestProcessRegistered' => 82, 'OnGuestProcessStateChanged' => 83, 'OnGuestProcessInputNotify' => 84, 'OnGuestProcessOutput' => 85, 'OnGuestFileRegistered' => 86, 'OnGuestFileStateChanged' => 87, 'OnGuestFileOffsetChanged' => 88, 'OnGuestFileRead' => 89, 'OnGuestFileWrite' => 90, 'OnRecordingStateChanged' => 91, 'OnGuestUserStateChanged' => 92, 'OnGuestMultiTouch' => 93, 'OnHostNameResolutionConfigurationChange' => 94, 'OnSnapshotRestored' => 95, 'OnMediumConfigChanged' => 96, 'OnAudioAdapterChanged' => 97, 'OnProgressPercentageChanged' => 98, 'OnProgressTaskCompleted' => 99, 'OnCursorPositionChanged' => 100, 'OnGuestAdditionsStatusChanged' => 101, 'OnGuestMonitorInfoChanged' => 102, 'OnGuestFileSizeChanged' => 103, 'OnClipboardFileTransferModeChanged' => 104, 'OnCloudProviderListChanged' => 105, 'OnCloudProviderRegistered' => 106, 'OnCloudProviderUninstall' => 107, 'OnCloudProfileRegistered' => 108, 'OnCloudProfileChanged' => 109, 'OnProgressCreated' => 110, 'OnLanguageChanged' => 111, 'OnUpdateAgentAvailable' => 112, 'OnUpdateAgentError' => 113, 'OnUpdateAgentSettingsChanged' => 114, 'OnUpdateAgentStateChanged' => 115, 'OnHostAudioDeviceChanged' => 116, 'OnGuestDebugControlChanged' => 117, 'OnMachineGroupsChanged' => 118, 'OnGuestDirectoryRegistered' => 119, 'OnGuestDirectoryStateChanged' => 120, 'OnGuestDirectoryRead' => 121, 'OnClipboardError' => 122, 'OnExtPackInstalled' => 123, 'OnExtPackUninstalled' => 124, 'OnRecordingScreenStateChanged' => 125, 'End' => 126); } /** @@ -16739,3 +25034,88 @@ class GuestMonitorChangedEventTypeCollection extends VBox_EnumCollection { protected $_interfaceName = "GuestMonitorChangedEventType"; } + +/** + * Generated VBoxWebService ENUM + */ +class FormValueType extends VBox_Enum +{ + public $NameMap = array(0 => 'Boolean', 1 => 'String', 2 => 'Choice', 3 => 'RangedInteger', 4 => 'RangedInteger64'); + public $ValueMap = array('Boolean' => 0, 'String' => 1, 'Choice' => 2, 'RangedInteger' => 3, 'RangedInteger64' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class FormValueTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "FormValueType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class CloudMachineState extends VBox_Enum +{ + public $NameMap = array(0 => 'Invalid', 1 => 'Provisioning', 2 => 'Running', 3 => 'Starting', 4 => 'Stopping', 5 => 'Stopped', 6 => 'CreatingImage', 7 => 'Terminating', 8 => 'Terminated'); + public $ValueMap = array('Invalid' => 0, 'Provisioning' => 1, 'Running' => 2, 'Starting' => 3, 'Stopping' => 4, 'Stopped' => 5, 'CreatingImage' => 6, 'Terminating' => 7, 'Terminated' => 8); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class CloudMachineStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "CloudMachineState"; +} + +/** + * Generated VBoxWebService ENUM + */ +class CloudImageState extends VBox_Enum +{ + public $NameMap = array(0 => 'Invalid', 1 => 'Provisioning', 2 => 'Importing', 3 => 'Available', 4 => 'Exporting', 5 => 'Disabled', 6 => 'Deleted'); + public $ValueMap = array('Invalid' => 0, 'Provisioning' => 1, 'Importing' => 2, 'Available' => 3, 'Exporting' => 4, 'Disabled' => 5, 'Deleted' => 6); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class CloudImageStateCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "CloudImageState"; +} + +/** + * Generated VBoxWebService ENUM + */ +class MetricType extends VBox_Enum +{ + public $NameMap = array(0 => 'Invalid', 1 => 'CpuUtilization', 2 => 'MemoryUtilization', 3 => 'DiskBytesRead', 4 => 'DiskBytesWritten', 5 => 'NetworksBytesIn', 6 => 'NetworksBytesOut'); + public $ValueMap = array('Invalid' => 0, 'CpuUtilization' => 1, 'MemoryUtilization' => 2, 'DiskBytesRead' => 3, 'DiskBytesWritten' => 4, 'NetworksBytesIn' => 5, 'NetworksBytesOut' => 6); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class MetricTypeCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "MetricType"; +} + +/** + * Generated VBoxWebService ENUM + */ +class SymlinkPolicy extends VBox_Enum +{ + public $NameMap = array(0 => 'None', 1 => 'Forbidden', 2 => 'AllowedInShareSubtree', 3 => 'AllowedToRelativeTargets', 4 => 'AllowedToAnyTarget'); + public $ValueMap = array('None' => 0, 'Forbidden' => 1, 'AllowedInShareSubtree' => 2, 'AllowedToRelativeTargets' => 3, 'AllowedToAnyTarget' => 4); +} + +/** + * Generated VBoxWebService Enum Collection + */ +class SymlinkPolicyCollection extends VBox_EnumCollection +{ + protected $_interfaceName = "SymlinkPolicy"; +} diff --git a/endpoints/lib/vboxconnector.php b/endpoints/lib/vboxconnector.php index 03e150dd..a5c9d355 100644 --- a/endpoints/lib/vboxconnector.php +++ b/endpoints/lib/vboxconnector.php @@ -1,5831 +1,5960 @@ -settings = new phpVBoxConfigClass(); - - // Are default settings being used? - if(@$this->settings->warnDefault) { - throw new Exception("No configuration found. Rename the file config.php-example in phpVirtualBox's folder to ". - "config.php and edit as needed.

For more detailed instructions, please see the installation wiki on ". - "phpVirtualBox's web site.

". - "https://github.com/phpvirtualbox/phpvirtualbox/wiki.

", - (vboxconnector::PHPVB_ERRNO_FATAL + vboxconnector::PHPVB_ERRNO_HTML)); - } - - // Check for SoapClient class - if(!class_exists('SoapClient')) { - throw new Exception('PHP does not have the SOAP extension enabled.',vboxconnector::PHPVB_ERRNO_FATAL); - } - - // use authentication master server? - if(@$useAuthMaster) { - $this->settings->setServer($this->settings->getServerAuthMaster()); - } - - } - - /** - * Connect to vboxwebsrv - * @see SoapClient - * @see phpVBoxConfigClass - * @return boolean true on success or if already connected - */ - public function connect() { - - // Already connected? - if(@$this->connected) - return true; - - // Valid session? - if(!@$this->skipSessionCheck && !$_SESSION['valid']) { - throw new Exception(trans('Not logged in.','UIUsers'),vboxconnector::PHPVB_ERRNO_FATAL); - } - - // Persistent server? - if(@$this->persistentRequest['vboxServer']) { - $this->settings->setServer($this->persistentRequest['vboxServer']); - } - - //Connect to webservice - $pvbxver = substr(@constant('PHPVBOX_VER'),0,(strpos(@constant('PHPVBOX_VER'),'-'))); - $this->client = new SoapClient(dirname(__FILE__)."/vboxwebService-".$pvbxver.".wsdl", - array( - 'features' => (SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS), - 'cache_wsdl' => WSDL_CACHE_BOTH, - 'trace' => (@$this->settings->debugSoap), - 'connection_timeout' => (@$this->settings->connectionTimeout ? $this->settings->connectionTimeout : 20), - 'location' => @$this->settings->location - )); - - - // Persistent handles? - if(@$this->persistentRequest['vboxHandle']) { - - try { - - // Check for existing sessioin - $this->websessionManager = new IWebsessionManager($this->client); - $this->vbox = new IVirtualBox($this->client, $this->persistentRequest['vboxHandle']); - - // force valid vbox check - $ev = $this->vbox->eventSource; - - if($this->vbox->handle) - return ($this->connected = true); - - - } catch (Exception $e) { - // nothing. Fall through to new login. - - } - } - - /* Try / catch / throw here hides login credentials from exception if one is thrown */ - try { - $this->websessionManager = new IWebsessionManager($this->client); - $this->vbox = $this->websessionManager->logon($this->settings->username,$this->settings->password); - - - } catch (Exception $e) { - - if(!($msg = $e->getMessage())) - $msg = 'Error logging in to vboxwebsrv.'; - else - $msg .= " ({$this->settings->location})"; - - throw new Exception($msg,vboxconnector::PHPVB_ERRNO_CONNECT); - } - - - // Error logging in - if(!$this->vbox->handle) { - throw new Exception('Error logging in or connecting to vboxwebsrv.',vboxconnector::PHPVB_ERRNO_CONNECT); - } - - // Hold handle - if(array_key_exists('vboxHandle',$this->persistentRequest)) { - $this->persistentRequest['vboxHandle'] = $this->vbox->handle; - } - - return ($this->connected = true); - - } - - - /** - * Get VirtualBox version - * @return array version information - */ - public function getVersion() { - - if(!@$this->version) { - - $this->connect(); - - $this->version = explode('.',$this->vbox->version); - $this->version = array( - 'ose' => (stripos($this->version[2],'ose') > 0), - 'string' => join('.',$this->version), - 'major' => intval(array_shift($this->version)), - 'minor' => intval(array_shift($this->version)), - 'sub' => intval(array_shift($this->version)), - 'revision' => (string)$this->vbox->revision, - 'settingsFilePath' => $this->vbox->settingsFilePath - ); - } - - return $this->version; - - } - - /** - * - * Log out of vboxwebsrv - */ - public function __destruct() { - - // Do not logout if there are persistent handles - if($this->connected && @$this->vbox->handle && !array_key_exists('vboxHandle' ,$this->persistentRequest)) { - - // Failsafe to close session - if(@$this->session && @(string)$this->session->state == 'Locked') { - try {$this->session->unlockMachine();} - catch (Exception $e) { } - } - - // Logoff - if($this->vbox->handle) - $this->websessionManager->logoff($this->vbox->handle); - - } - - unset($this->client); - } - - /** - * Add a machine event listener to the listener list - * - * @param string $vm id of virtual machine to subscribe to - */ - private function _machineSubscribeEvents($vm) { - - // Check for existing listener - if($this->persistentRequest['vboxEventListeners'][$vm]) { - - try { - - $listener = new IEventListener($this->client, $this->persistentRequest['vboxEventListeners'][$vm]['listener']); - $source = new IEventSource($this->client, $this->persistentRequest['vboxEventListeners'][$vm]['source']); - - $source->unregisterListener($listener); - - $listener->releaseRemote(); - $source->releaseRemote(); - - } catch (Exception $e) { - // Pass - } - } - - try { - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($vm); - - /* Ignore if not running */ - $state = (string)$machine->state; - if($state != 'Running' && $state != 'Paused') { - $machine->releaseRemote(); - return; - } - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - - // Create and register event listener - $listener = $this->session->console->eventSource->createListener(); - $this->session->console->eventSource->registerListener($listener,array('Any'), false); - - // Add to event listener list - $this->persistentRequest['vboxEventListeners'][$vm] = array( - 'listener' => $listener->handle, - 'source' => $this->session->console->eventSource->handle); - - - $machine->releaseRemote(); - - } catch (Exception $e) { - // pass - } - - if($this->session) { - try { - $this->session->unlockMachine(); - } catch (Exception $e) { - // pass - } - unset($this->session); - } - - // Machine events before vbox events. This is in place to handle the "DrvVD_DEKMISSING" - // IRuntimeErrorEvent which tells us that a medium attached to a VM requires a password. - // This event needs to be presented to the client before the VM state change. This way - // the client can track whether or not the runtime error occurred in response to its - // startup request because the machine's RunTimeError will occur before vbox's - // StateChange. - uksort($this->persistentRequest['vboxEventListeners'], function($a, $b){ - if($a == 'vbox') return 1; - if($b == 'vbox') return -1; - return 0; - }); - - } - - /** - * Get pending vbox and machine events - * - * @param array $args array of arguments. See function body for details. - * @return array list of events - */ - public function remote_getEvents($args) { - - $this->connect(); - - $eventlist = array(); - - // This should be an array - if(!is_array($this->persistentRequest['vboxEventListeners'])) { - - $this->persistentRequest['vboxEventListeners'] = array(); - $listenerWait = 1000; - - } else { - - // The amount of time we will wait for events is determined by - // the amount of listeners - at least half a second - $listenerWait = max(100,intval(500/count($this->persistentRequest['vboxEventListeners']))); - } - - // Get events from each configured event listener - foreach($this->persistentRequest['vboxEventListeners'] as $k => $el) { - - try { - - $listener = new IEventListener($this->client, $el['listener']); - $source = new IEventSource($this->client, $el['source']); - - $event = $source->getEvent($listener,$listenerWait); - - try { - - while($event->handle) { - - $eventData = $this->_getEventData($event, $k); - $source->eventProcessed($listener, $event); - $event->releaseRemote(); - - - // Only keep the last event of one particular type - //$eventlist[$eventData['dedupId']] = $eventData; - - if($eventData) - $eventlist[$eventData['dedupId']] = $eventData; - - $event = $source->getEvent($listener,100); - } - - } catch (Exception $e) { - - $this->errors[] = $e; - - } - - } catch (Exception $e) { - - // Machine powered off or client has stale MO reference - if($listener) - try { $listener->releaseRemote(); } catch (Exceptoin $e) { - /// pass - } - if($source) - try { $source->releaseRemote(); } catch (Exceptoin $e) { - // pass - } - - // Remove listener from list - unset($this->persistentRequest['vboxEventListeners'][$k]); - - } - - } - - // Enrich events - foreach($eventlist as $k=>$event) { - - switch($event['eventType']) { - - /* Network adapter changed */ - case 'OnNetworkAdapterChanged': - - try { - - $machine = $this->vbox->findMachine($event['sourceId']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Session locked? - if((string)$this->session->state != 'Unlocked') - $this->session->unlockMachine(); - - $machine->lockMachine($this->session->handle, 'Shared'); - - try { - - list($eventlist[$k]['enrichmentData']) = $this->_machineGetNetworkAdapters($this->session->machine, $event['networkAdapterSlot']); - - } catch (Exception $e) { - // Just unlock the machine - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - - $this->session->unlockMachine(); - $machine->releaseRemote(); - - } catch (Exception $e) { - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - break; - - - /* VRDE server changed */ - case 'OnVRDEServerChanged': - try { - - $machine = $this->vbox->findMachine($event['sourceId']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Session locked? - if((string)$this->session->state != 'Unlocked') - $this->session->unlockMachine(); - - $machine->lockMachine($this->session->handle, 'Shared'); - $vrde = $this->session->machine->VRDEServer; - - try { - $eventlist[$k]['enrichmentData'] = (!$vrde ? null : array( - 'enabled' => $vrde->enabled, - 'ports' => $vrde->getVRDEProperty('TCP/Ports'), - 'netAddress' => $vrde->getVRDEProperty('TCP/Address'), - 'VNCPassword' => $vrde->getVRDEProperty('VNCPassword'), - 'authType' => (string)$vrde->authType, - 'authTimeout' => $vrde->authTimeout - ) - ); - } catch (Exception $e) { - // Just unlock the machine - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - - $this->session->unlockMachine(); - $machine->releaseRemote(); - - } catch (Exception $e) { - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - break; - - - - /* VRDE server info changed. Just need port and enabled/disabled */ - case 'OnVRDEServerInfoChanged': - try { - - $machine = $this->vbox->findMachine($event['sourceId']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Session locked? - if((string)$this->session->state != 'Unlocked') - $this->session->unlockMachine(); - - $machine->lockMachine($this->session->handle, 'Shared'); - - try { - $eventlist[$k]['enrichmentData'] = array( - 'port' => $this->session->console->VRDEServerInfo->port, - 'enabled' => $this->session->machine->VRDEServer->enabled - ); - } catch (Exception $e) { - // Just unlock the machine - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - - $this->session->unlockMachine(); - $machine->releaseRemote(); - - } catch (Exception $e) { - $eventlist[$k]['enrichmentData'] = array($e->getMessage()); - } - break; - - /* Machine registered */ - case 'OnMachineRegistered': - - if(!$event['registered']) break; - - // Get same data that is in VM list data - $vmdata = $this->remote_vboxGetMachines(array('vm'=>$event['machineId'])); - $eventlist[$k]['enrichmentData'] = $vmdata[0]; - unset($vmdata); - - break; - - /* enrich with basic machine data */ - case 'OnMachineDataChanged': - - try { - - $machine = $this->vbox->findMachine($event['machineId']); - - if($this->settings->phpVboxGroups) { - $groups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); - if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); - } else { - $groups = $machine->groups; - } - - usort($groups, 'strnatcasecmp'); - - $eventlist[$k]['enrichmentData'] = array( - 'id' => $event['machineId'], - 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, - 'OSTypeId' => $machine->getOSTypeId(), - 'owner' => (@$this->settings->enforceVMOwnership ? $machine->getExtraData("phpvb/sso/owner") : ''), - 'groups' => $groups - ); - $machine->releaseRemote(); - - } catch (Exception $e) { - // pass - } - break; - - /* Update lastStateChange on OnMachineStateChange events */ - case 'OnMachineStateChanged': - try { - - $machine = $this->vbox->findMachine($event['machineId']); - $eventlist[$k]['enrichmentData'] = array( - 'lastStateChange' => (string)($machine->lastStateChange/1000), - 'currentStateModified' => $machine->currentStateModified - ); - $machine->releaseRemote(); - - } catch (Exception $e) { - $eventlist[$k]['enrichmentData'] = array('lastStateChange' => 0); - } - break; - - /* enrich with snapshot name and new snapshot count*/ - case 'OnSnapshotTaken': - case 'OnSnapshotDeleted': - case 'OnSnapshotRestored': - case 'OnSnapshotChanged': - - try { - $machine = $this->vbox->findMachine($event['machineId']); - $eventlist[$k]['enrichmentData'] = array( - 'currentSnapshotName' => ($machine->currentSnapshot->handle ? $machine->currentSnapshot->name : ''), - 'snapshotCount' => $machine->snapshotCount, - 'currentStateModified' => $machine->currentStateModified - ); - $machine->releaseRemote(); - - } catch (Exception $e) { - // pass - $this->errors[] = $e; - } - break; - - } - - } - - return array_values($eventlist); - - } - - /** - * Subscribe to a single machine's events - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_machineSubscribeEvents($args) { - - $this->connect(); - foreach($args['vms'] as $vm) - $this->_machineSubscribeEvents($vm); - - return true; - } - - /** - * Unsubscribe from vbox and machine events - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_unsubscribeEvents($args) { - - $this->connect(); - - if(!is_array($this->persistentRequest['vboxEventListeners'])) - $this->persistentRequest['vboxEventListeners'] = array(); - - // Get events from each configured event listener - foreach($this->persistentRequest['vboxEventListeners'] as $k => $el) { - - try { - - $listener = new IEventListener($this->client, $el['listener']); - $source = new IEventSource($this->client, $el['source']); - - $source->unregisterListener($listener); - - $source->releaseRemote(); - $listener->releaseRemote(); - - - - } catch (Exception $e) { - $this->errors[] = $e; - } - - $this->persistentRequest['vboxEventListeners'][$k] = null; - - } - - $this->websessionManager->logoff($this->vbox->handle); - unset($this->vbox); - - return true; - } - - /** - * Subscribe to vbox and machine events - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_subscribeEvents($args) { - - $this->connect(); - - // Check for existing listener - if($this->persistentRequest['vboxEventListeners']['vbox']) { - - try { - - $listener = new IEventListener($this->client, $this->persistentRequest['vboxEventListeners']['vbox']['listener']); - $source = new IEventSource($this->client, $this->persistentRequest['vboxEventListeners']['vbox']['source']); - - $source->unregisterListener($listener); - - $listener->releaseRemote(); - $source->releaseRemote(); - - } catch (Exception $e) { - // Pass - } - } - - // Create and register event listener - $listener = $this->vbox->eventSource->createListener(); - $this->vbox->eventSource->registerListener($listener,array('MachineEvent', 'SnapshotEvent', 'OnMediumRegistered', 'OnExtraDataChanged', 'OnSnapshotRestored'), false); - - // Add to event listener list - $this->persistentRequest['vboxEventListeners']['vbox'] = array( - 'listener' => $listener->handle, - 'source' => $this->vbox->eventSource->handle); - - // Subscribe to each machine in list - foreach($args['vms'] as $vm) { - $this->_machineSubscribeEvents($vm); - } - - $this->persistentRequest['vboxHandle'] = $this->vbox->handle; - - return true; - - } - - /** - * Return relevant event data for the event. - * - * @param IEvent $event - * @param String $listenerKey Key of event listener - 'vbox' or - * machine id - * @return array associative array of event attributes - */ - private function _getEventData($event, $listenerKey) { - - $data = array('eventType'=>(string)$event->type,'sourceId'=>$listenerKey); - - // Convert to parent class - $parentClass = 'I'.substr($data['eventType'],2).'Event'; - $eventDataObject = new $parentClass($this->client, $event->handle); - - // Dedup ID is at least listener key ('vbox' or machine id) and event type - $data['dedupId'] = $listenerKey.'-'.$data['eventType']; - - switch($data['eventType']) { - - case 'OnMachineStateChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['state'] = (string)$eventDataObject->state; - $data['dedupId'] .= '-'. $data['machineId']; - break; - - case 'OnMachineDataChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['dedupId'] .= '-'. $data['machineId']; - break; - - case 'OnExtraDataCanChange': - case 'OnExtraDataChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['key'] = $eventDataObject->key; - $data['value'] = $eventDataObject->value; - $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['key']; - break; - - case 'OnMediumRegistered': - $data['machineId'] = $data['sourceId']; - $data['mediumId'] = $eventDataObject->mediumId; - $data['registered'] = $eventDataObject->registered; - $data['dedupId'] .= '-'. $data['mediumId']; - break; - - case 'OnMachineRegistered': - $data['machineId'] = $eventDataObject->machineId; - $data['registered'] = $eventDataObject->registered; - $data['dedupId'] .= '-'. $data['machineId']; - break; - - case 'OnSessionStateChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['state'] = (string)$eventDataObject->state; - $data['dedupId'] .= '-'. $data['machineId']; - break; - - /* Snapshot events */ - case 'OnSnapshotTaken': - case 'OnSnapshotDeleted': - case 'OnSnapshotRestored': - case 'OnSnapshotChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['snapshotId'] = $eventDataObject->snapshotId; - $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['snapshotId']; - break; - - case 'OnGuestPropertyChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['name'] = $eventDataObject->name; - $data['value'] = $eventDataObject->value; - $data['flags'] = $eventDataObject->flags; - $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['name']; - break; - - case 'OnCPUChanged': - $data['machineId'] = $data['sourceId']; - $data['cpu'] = $eventDataObject->cpu; - $data['add'] = $eventDataObject->add; - $data['dedupId'] .= '-' . $data['cpu']; - break; - - /* Same end-result as network adapter changed */ - case 'OnNATRedirect': - $data['machineId'] = $data['sourceId']; - $data['eventType'] = 'OnNetworkAdapterChanged'; - $data['networkAdapterSlot'] = $eventDataObject->slot; - $data['dedupId'] = $listenerKey .'-OnNetworkAdapterChanged-'. $data['networkAdapterSlot']; - break; - - case 'OnNetworkAdapterChanged': - $data['machineId'] = $data['sourceId']; - $data['networkAdapterSlot'] = $eventDataObject->networkAdapter->slot; - $data['dedupId'] .= '-'. $data['networkAdapterSlot']; - break; - - /* Storage controller of VM changed */ - case 'OnStorageControllerChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['dedupId'] .= '-'. $data['machineId']; - break; - - /* Medium attachment changed */ - case 'OnMediumChanged': - $data['machineId'] = $data['sourceId']; - $ma = $eventDataObject->mediumAttachment; - $data['controller'] = $ma->controller; - $data['port'] = $ma->port; - $data['device'] = $ma->device; - try { - $data['medium'] = $ma->medium->id; - } catch (Exception $e) { - $data['medium'] = ''; - } - $data['dedupId'] .= '-'. $data['controller'] .'-'. $data['port'] .'-'.$data['device']; - break; - - /* Generic machine changes that should query IMachine */ - case 'OnVRDEServerChanged': - $data['machineId'] = $data['sourceId']; - break; - case 'OnUSBControllerChanged': - $data['machineId'] = $data['sourceId']; - break; - case 'OnSharedFolderChanged': - $data['machineId'] = $data['sourceId']; - $data['scope'] = (string)$eventDataObject->scope; - break; - case 'OnVRDEServerInfoChanged': - $data['machineId'] = $data['sourceId']; - break; - case 'OnCPUExecutionCapChanged': - $data['machineId'] = $data['sourceId']; - $data['executionCap'] = $eventDataObject->executionCap; - break; - - - /* Notification when a USB device is attached to or detached from the virtual USB controller */ - case 'OnUSBDeviceStateChanged': - $data['machineId'] = $data['sourceId']; - $data['deviceId'] = $eventDataObject->device->id; - $data['attached'] = $eventDataObject->attached; - $data['dedupId'] .= '-'. $data['deviceId']; - break; - - /* Machine execution error */ - case 'OnRuntimeError': - $data['id'] = (string)$eventDataObject->id; - $data['machineId'] = $data['sourceId']; - $data['message'] = $eventDataObject->message; - $data['fatal'] = $eventDataObject->fatal; - $data['dedupId'] .= '-' . $data['id']; - break; - - /* Notification when a storage device is attached or removed. */ - case 'OnStorageDeviceChanged': - $data['machineId'] = $eventDataObject->machineId; - $data['storageDevice'] = $eventDataObject->storageDevice; - $data['removed'] = $eventDataObject->removed; - break; - - /* On nat network delete / create */ - case 'OnNATNetworkCreationDeletion': - $data['creationEvent'] = $eventDataObject->creationEvent; - /* NAT network change */ - case 'OnNATNetworkSetting': - $data['networkName'] = $eventDataObject->networkName; - $data['dedupId'] .= '-' . $data['networkName']; - break; - - default: - return null; - } - - - return $data; - - } - - - /** - * Call overloader. - * Returns result of method call. Here is where python's decorators would come in handy. - * - * @param string $fn method to call - * @param array $args arguments for method - * @throws Exception - * @return array - */ - function __call($fn,$args) { - - // Valid session? - global $_SESSION; - - if(!@$this->skipSessionCheck && !$_SESSION['valid']) { - throw new Exception(trans('Not logged in.','UIUsers'),vboxconnector::PHPVB_ERRNO_FATAL); - } - - $req = &$args[0]; - - - # Access to undefined methods prefixed with remote_ - if(method_exists($this,'remote_'.$fn)) { - - $args[1][0]['data']['responseData'] = $this->{'remote_'.$fn}($req); - $args[1][0]['data']['success'] = ($args[1][0]['data']['responseData'] !== false); - $args[1][0]['data']['key'] = $this->settings->key; - - // Not found - } else { - - throw new Exception('Undefined method: ' . $fn ." - Clear your web browser's cache.",vboxconnector::PHPVB_ERRNO_FATAL); - - } - - return true; - } - - /** - * Enumerate guest properties of a vm - * - * @param array $args array of arguments. See function body for details. - * @return array of guest properties - */ - public function remote_machineEnumerateGuestProperties($args) { - - $this->connect(); - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - - $props = $m->enumerateGuestProperties($args['pattern']); - $m->releaseRemote(); - - return $props; - - } - - /** - * Set extra data of a vm - * - * @param array $args array of arguments. See function body for details. - * @return array of extra data - */ - public function remote_machineSetExtraData($args) { - - $this->connect(); - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - - $m->setExtraData($args['key'],$args['value']); - $m->releaseRemote(); - - return true; - - } - - /** - * Enumerate extra data of a vm - * - * @param array $args array of arguments. See function body for details. - * @return array of extra data - */ - public function remote_machineEnumerateExtraData($args) { - - $this->connect(); - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - - $props = array(); - - $keys = $m->getExtraDataKeys(); - - usort($keys,'strnatcasecmp'); - - foreach($keys as $k) { - $props[$k] = $m->getExtraData($k); - } - $m->releaseRemote(); - - return $props; - - } - - /** - * Uses VirtualBox's vfsexplorer to check if a file exists - * - * @param array $args array of arguments. See function body for details. - * @return boolean true if file exists - */ - public function remote_fileExists($args) { - - /* No need to go through vfs explorer if local browser is true */ - if($this->settings->browserLocal) { - return file_exists($args['file']); - } - - $this->connect(); - - $dsep = $this->getDsep(); - - $path = str_replace($dsep.$dsep,$dsep,$args['file']); - $dir = dirname($path); - $file = basename($path); - - if(substr($dir,-1) != $dsep) $dir .= $dsep; - - /* @var $appl IAppliance */ - $appl = $this->vbox->createAppliance(); - - - /* @var $vfs IVFSExplorer */ - $vfs = $appl->createVFSExplorer('file://'.$dir); - - /* @var $progress IProgress */ - $progress = $vfs->update(); - $progress->waitForCompletion(-1); - $progress->releaseRemote(); - - $exists = $vfs->exists(array($file)); - - $vfs->releaseRemote(); - $appl->releaseRemote(); - - - return count($exists); - - } - - /** - * Install guest additions - * - * @param array $args array of arguments. See function body for details. - * @return array result data - */ - public function remote_consoleGuestAdditionsInstall($args) { - - $this->connect(); - - $results = array('errored' => 0); - - /* @var $gem IMedium|null */ - $gem = null; - foreach($this->vbox->DVDImages as $m) { /* @var $m IMedium */ - if(strtolower($m->name) == 'vboxguestadditions.iso') { - $gem = $m; - break; - } - $m->releaseRemote(); - } - - // Not in media registry. Try to register it. - if(!$gem) { - $checks = array( - 'linux' => '/usr/share/virtualbox/VBoxGuestAdditions.iso', - 'osx' => '/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso', - 'sunos' => '/opt/VirtualBox/additions/VBoxGuestAdditions.iso', - 'windows' => 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso', - 'windowsx86' => 'C:\Program Files (x86)\Oracle\VirtualBox\VBoxGuestAdditions.iso' // Does this exist? - ); - $hostos = $this->vbox->host->operatingSystem; - if(stripos($hostos,'windows') !== false) { - $checks = array($checks['windows'],$checks['windowsx86']); - } elseif(stripos($hostos,'solaris') !== false || stripos($hostos,'sunos') !== false) { - $checks = array($checks['sunos']); - // not sure of uname returned on Mac. This should cover all of them - } elseif(stripos($hostos,'mac') !== false || stripos($hostos,'apple') !== false || stripos($hostos,'osx') !== false || stripos($hostos,'os x') !== false || stripos($hostos,'darwin') !== false) { - $checks = array($checks['osx']); - } elseif(stripos($hostos,'linux') !== false) { - $checks = array($checks['linux']); - } - - // Check for config setting - if(@$this->settings->vboxGuestAdditionsISO) - $checks = array($this->settings->vboxGuestAdditionsISO); - - // Unknown os and no config setting leaves all checks in place. - // Try to register medium. - foreach($checks as $iso) { - try { - $gem = $this->vbox->openMedium($iso,'DVD','ReadOnly',false); - break; - } catch (Exception $e) { - // Ignore - } - } - $results['sources'] = $checks; - } - - // No guest additions found - if(!$gem) { - $results['result'] = 'noadditions'; - return $results; - } - - // create session and lock machine - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - - // Try update from guest if it is supported - if(!@$args['mount_only']) { - try { - - /* @var $progress IProgress */ - $progress = $this->session->console->guest->updateGuestAdditions($gem->location,array(),'WaitForUpdateStartOnly'); - - // No error info. Save progress. - $gem->releaseRemote(); - $this->_util_progressStore($progress); - $results['progress'] = $progress->handle; - return $results; - - } catch (Exception $e) { - - if(!empty($results['progress'])) - unset($results['progress']); - - // Try to mount medium - $results['errored'] = 1; - } - } - - // updateGuestAdditions is not supported. Just try to mount image. - $results['result'] = 'nocdrom'; - $mounted = false; - foreach($machine->storageControllers as $sc) { /* @var $sc IStorageController */ - foreach($machine->getMediumAttachmentsOfController($sc->name) as $ma) { /* @var $ma IMediumAttachment */ - if((string)$ma->type == 'DVD') { - $this->session->machine->mountMedium($sc->name, $ma->port, $ma->device, $gem->handle, true); - $results['result'] = 'mounted'; - $mounted = true; - break; - } - } - $sc->releaseRemote(); - if($mounted) break; - } - - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - $gem->releaseRemote(); - - return $results; - } - - /** - * Attach USB device identified by $args['id'] to a running VM - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_consoleUSBDeviceAttach($args) { - - $this->connect(); - - // create session and lock machine - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - - $this->session->console->attachUSBDevice($args['id']); - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return true; - } - - /** - * Detach USB device identified by $args['id'] from a running VM - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_consoleUSBDeviceDetach($args) { - - $this->connect(); - - // create session and lock machine - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - - $this->session->console->detachUSBDevice($args['id']); - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return true; - } - - /** - * Save vms' groups if they have changed - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_machinesSaveGroups($args) { - - $this->connect(); - - $response = array('saved'=>array(),'errored'=>false); - - foreach($args['vms'] as $vm) { - - // create session and lock machine - /* @var $machine IMachine */ - try { - $machine = $this->vbox->findMachine($vm['id']); - } catch (Exception $null) { - continue; - } - - $newGroups = $vm['groups']; - - if($this->settings->phpVboxGroups) { - - $oldGroups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); - if(!is_array($oldGroups)) $oldGroups = array("/"); - if(!count(array_diff($oldGroups,$newGroups)) && !count(array_diff($newGroups,$oldGroups))) { - continue; - } - - } else { - - $oldGroups = $machine->groups; - - if((string)$machine->sessionState != 'Unlocked' || (!count(array_diff($oldGroups,$newGroups)) && !count(array_diff($newGroups,$oldGroups)))) { - $machine->releaseRemote(); - continue; - } - - } - - try { - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - $machine->lockMachine($this->session->handle, 'Shared'); - - usort($newGroups,'strnatcasecmp'); - - if($this->settings->phpVboxGroups) { - $this->session->machine->setExtraData(vboxconnector::phpVboxGroupKey, implode(',', $newGroups)); - } else { - $this->session->machine->groups = $newGroups; - } - - $this->session->machine->saveSettings(); - $this->session->unlockMachine(); - - unset($this->session); - $machine->releaseRemote(); - - } catch (Exception $e) { - - $this->errors[] = $e; - $response['errored'] = true; - - try { - $this->session->unlockMachine(); - unset($this->session); - } catch (Exception $e) { - // pass - } - - continue; - - } - - // Add to saved list - $response['saved'][] = $vm['id']; - - } - - - return $response; - - - } - - - /** - * Clone a virtual machine - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_machineClone($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $src IMachine */ - $src = $this->vbox->findMachine($args['src']); - - if($args['snapshot'] && $args['snapshot']['id']) { - /* @var $nsrc ISnapshot */ - $nsrc = $src->findSnapshot($args['snapshot']['id']); - $src->releaseRemote(); - $src = null; - $src = $nsrc->machine; - } - /* @var $m IMachine */ - $m = $this->vbox->createMachine($this->vbox->composeMachineFilename($args['name'],null,null,null),$args['name'],null,null,null,false); - $sfpath = $m->settingsFilePath; - - /* @var $cm CloneMode */ - $cm = new CloneMode(null,$args['vmState']); - $state = $cm->ValueMap[$args['vmState']]; - - - $opts = array(); - if(!$args['reinitNetwork']) $opts[] = 'KeepAllMACs'; - if($args['link']) $opts[] = 'Link'; - - /* @var $progress IProgress */ - $progress = $src->cloneTo($m->handle,$args['vmState'],$opts); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $m->releaseRemote(); - $src->releaseRemote(); - - $this->_util_progressStore($progress); - - return array( - 'progress' => $progress->handle, - 'settingsFilePath' => $sfpath); - - } - - - /** - * Turn VRDE on / off on a running VM - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_consoleVRDEServerSave($args) { - - $this->connect(); - - // create session and lock machine - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $m->lockMachine($this->session->handle, 'Shared'); - - if(intval($args['enabled']) == -1) { - $args['enabled'] = intval(!$this->session->machine->VRDEServer->enabled); - } - - $this->session->machine->VRDEServer->enabled = intval($args['enabled']); - - $this->session->unlockMachine(); - unset($this->session); - - $m->releaseRemote(); - - return true; - } - - /** - * Save running VM settings. Called from machineSave method if the requested VM is running. - * - * @param array $args array of machine configuration items. - * @param string $state state of virtual machine. - * @return boolean true on success - */ - private function _machineSaveRunning($args, $state) { - - // Client and server must agree on advanced config setting - $this->settings->enableAdvancedConfig = (@$this->settings->enableAdvancedConfig && @$args['clientConfig']['enableAdvancedConfig']); - $this->settings->enableHDFlushConfig = (@$this->settings->enableHDFlushConfig && @$args['clientConfig']['enableHDFlushConfig']); - - // Shorthand - /* @var $m IMachine */ - $m = &$this->session->machine; - - $m->CPUExecutionCap = $args['CPUExecutionCap']; - $m->description = $args['description']; - - // Start / stop config - if(@$this->settings->startStopConfig) { - $m->setExtraData('pvbx/startupMode', $args['startupMode']); - } - - // VirtualBox style start / stop config - if(@$this->settings->vboxAutostartConfig && @$args['clientConfig']['vboxAutostartConfig']) { - - $m->autostopType = $args['autostopType']; - $m->autostartEnabled = $args['autostartEnabled']; - $m->autostartDelay = $args['autostartDelay']; - - } - - // Custom Icon - if(@$this->settings->enableCustomIcons) { - $m->setExtraData('phpvb/icon', $args['customIcon']); - } - - // VRDE settings - try { - if($m->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { - $m->VRDEServer->enabled = $args['VRDEServer']['enabled']; - $m->VRDEServer->setVRDEProperty('TCP/Ports',$args['VRDEServer']['ports']); - $m->VRDEServer->setVRDEProperty('VNCPassword',$args['VRDEServer']['VNCPassword'] ? $args['VRDEServer']['VNCPassword'] : null); - $m->VRDEServer->authType = ($args['VRDEServer']['authType'] ? $args['VRDEServer']['authType'] : null); - $m->VRDEServer->authTimeout = $args['VRDEServer']['authTimeout']; - } - } catch (Exception $e) { - } - - // Storage Controllers if machine is in a valid state - if($state != 'Saved') { - - $scs = $m->storageControllers; - $attachedEx = $attachedNew = array(); - foreach($scs as $sc) { /* @var $sc IStorageController */ - $mas = $m->getMediumAttachmentsOfController($sc->name); - foreach($mas as $ma) { /* @var $ma IMediumAttachment */ - $attachedEx[$sc->name.$ma->port.$ma->device] = (($ma->medium->handle && $ma->medium->id) ? $ma->medium->id : null); - } - } - - // Incoming list - foreach($args['storageControllers'] as $sc) { - - $sc['name'] = trim($sc['name']); - $name = ($sc['name'] ? $sc['name'] : $sc['bus']); - - // Medium attachments - foreach($sc['mediumAttachments'] as $ma) { - - if($ma['medium'] == 'null') $ma['medium'] = null; - - $attachedNew[$name.$ma['port'].$ma['device']] = $ma['medium']['id']; - - // Compare incoming list with existing - if($ma['type'] != 'HardDisk' && $attachedNew[$name.$ma['port'].$ma['device']] != $attachedEx[$name.$ma['port'].$ma['device']]) { - - if(is_array($ma['medium']) && $ma['medium']['id'] && $ma['type']) { - - // Host drive - if(strtolower($ma['medium']['hostDrive']) == 'true' || $ma['medium']['hostDrive'] === true) { - // CD / DVD Drive - if($ma['type'] == 'DVD') { - $drives = $this->vbox->host->DVDDrives; - // floppy drives - } else { - $drives = $this->vbox->host->floppyDrives; - } - foreach($drives as $md) { - if($md->id == $ma['medium']['id']) { - $med = &$md; - break; - } - $md->releaseRemote(); - } - } else { - $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'],'ReadWrite',false); - } - } else { - $med = null; - } - $m->mountMedium($name,$ma['port'],$ma['device'],(is_object($med) ? $med->handle : null),true); - if(is_object($med)) $med->releaseRemote(); - } - - // Set Live CD/DVD - if($ma['type'] == 'DVD') { - if(!$ma['medium']['hostDrive']) - $m->temporaryEjectDevice($name, $ma['port'], $ma['device'], $ma['temporaryEject']); - - // Set IgnoreFlush - } elseif($ma['type'] == 'HardDisk') { - - // Remove IgnoreFlush key? - if($this->settings->enableHDFlushConfig) { - - $xtra = $this->_util_getIgnoreFlushKey($ma['port'], $ma['device'], $sc['controllerType']); - - if($xtra) { - if((bool)($ma['ignoreFlush'])) { - $m->setExtraData($xtra, '0'); - } else { - $m->setExtraData($xtra, ''); - } - } - } - - - } - } - - } - } - - - /* Networking */ - $netprops = array('enabled','attachmentType','bridgedInterface','hostOnlyInterface','internalNetwork','NATNetwork','promiscModePolicy','genericDriver'); - if(@$this->settings->enableVDE) $netprops[] = 'VDENetwork'; - - for($i = 0; $i < count($args['networkAdapters']); $i++) { - - /* @var $n INetworkAdapter */ - $n = $m->getNetworkAdapter($i); - - // Skip disabled adapters - if(!$n->enabled) { - $n->releaseRemote(); - continue; - } - - for($p = 0; $p < count($netprops); $p++) { - switch($netprops[$p]) { - case 'enabled': - case 'cableConnected': - break; - default: - if((string)$n->{$netprops[$p]} != (string)$args['networkAdapters'][$i][$netprops[$p]]) - $n->{$netprops[$p]} = $args['networkAdapters'][$i][$netprops[$p]]; - } - } - - /// Not if in "Saved" state - if($state != 'Saved') { - - // Network properties - $eprops = $n->getProperties(null); - $eprops = array_combine($eprops[1],$eprops[0]); - $iprops = array_map(function($a){$b=explode("=",$a); return array($b[0]=>$b[1]);},preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); - $inprops = array(); - foreach($iprops as $a) { - foreach($a as $k=>$v) - $inprops[$k] = $v; - } - - // Remove any props that are in the existing properties array - // but not in the incoming properties array - foreach(array_diff(array_keys($eprops),array_keys($inprops)) as $dk) { - $n->setProperty($dk, ''); - } - - // Set remaining properties - foreach($inprops as $k => $v) { - if(!$k) continue; - $n->setProperty($k, $v); - } - - if($n->cableConnected != $args['networkAdapters'][$i]['cableConnected']) - $n->cableConnected = $args['networkAdapters'][$i]['cableConnected']; - - } - - if($args['networkAdapters'][$i]['attachmentType'] == 'NAT') { - - // Remove existing redirects - foreach($n->NATEngine->getRedirects() as $r) { - $n->NATEngine->removeRedirect(array_shift(explode(',',$r))); - } - // Add redirects - foreach($args['networkAdapters'][$i]['redirects'] as $r) { - $r = explode(',',$r); - $n->NATEngine->addRedirect($r[0],$r[1],$r[2],$r[3],$r[4],$r[5]); - } - - // Advanced NAT settings - if($state != 'Saved' && @$this->settings->enableAdvancedConfig) { - $aliasMode = $n->NATEngine->aliasMode & 1; - if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 2)) $aliasMode |= 2; - if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 4)) $aliasMode |= 4; - $n->NATEngine->aliasMode = $aliasMode; - $n->NATEngine->DNSProxy = $args['networkAdapters'][$i]['NATEngine']['DNSProxy']; - $n->NATEngine->DNSPassDomain = $args['networkAdapters'][$i]['NATEngine']['DNSPassDomain']; - $n->NATEngine->DNSUseHostResolver = $args['networkAdapters'][$i]['NATEngine']['DNSUseHostResolver']; - $n->NATEngine->hostIP = $args['networkAdapters'][$i]['NATEngine']['hostIP']; - } - - } else if($args['networkAdapters'][$i]['attachmentType'] == 'NATNetwork') { - - if($n->NATNetwork = $args['networkAdapters'][$i]['NATNetwork']); - } - - $n->releaseRemote(); - - } - - /* Shared Folders */ - $sf_inc = array(); - foreach($args['sharedFolders'] as $s) { - $sf_inc[$s['name']] = $s; - } - - - // Get list of perm shared folders - $psf_tmp = $m->sharedFolders; - $psf = array(); - foreach($psf_tmp as $sf) { - $psf[$sf->name] = $sf; - } - - // Get a list of temp shared folders - $tsf_tmp = $this->session->console->sharedFolders; - $tsf = array(); - foreach($tsf_tmp as $sf) { - $tsf[$sf->name] = $sf; - } - - /* - * Step through list and remove non-matching folders - */ - foreach($sf_inc as $sf) { - - // Already exists in perm list. Check Settings. - if($sf['type'] == 'machine' && $psf[$sf['name']]) { - - /* Remove if it doesn't match */ - if($sf['hostPath'] != $psf[$sf['name']]->hostPath || (bool)$sf['autoMount'] != (bool)$psf[$sf['name']]->autoMount || (bool)$sf['writable'] != (bool)$psf[$sf['name']]->writable) { - - $m->removeSharedFolder($sf['name']); - $m->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount']); - } - - unset($psf[$sf['name']]); - - // Already exists in perm list. Check Settings. - } else if($sf['type'] != 'machine' && $tsf[$sf['name']]) { - - /* Remove if it doesn't match */ - if($sf['hostPath'] != $tsf[$sf['name']]->hostPath || (bool)$sf['autoMount'] != (bool)$tsf[$sf['name']]->autoMount || (bool)$sf['writable'] != (bool)$tsf[$sf['name']]->writable) { - - $this->session->console->removeSharedFolder($sf['name']); - $this->session->console->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount']); - - } - - unset($tsf[$sf['name']]); - - } else { - - // Does not exist or was removed. Add it. - if($sf['type'] != 'machine') $this->session->console->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount']); - else $this->session->machine->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount']); - } - - } - - /* - * Remove remaining - */ - foreach($psf as $sf) $m->removeSharedFolder($sf->name); - foreach($tsf as $sf) $this->session->console->removeSharedFolder($sf->name); - - /* - * USB Filters - */ - - $usbEx = array(); - $usbNew = array(); - - $usbc = $this->_machineGetUSBControllers($this->session->machine); - - $deviceFilters = $this->_machineGetUSBDeviceFilters($this->session->machine); - - if($state != 'Saved') { - - // filters - if(!is_array($args['USBDeviceFilters'])) $args['USBDeviceFilters'] = array(); - - if(count($deviceFilters) != count($args['USBDeviceFilters']) || @serialize($deviceFilters) != @serialize($args['USBDeviceFilters'])) { - - // usb filter properties to change - $usbProps = array('vendorId','productId','revision','manufacturer','product','serialNumber','port','remote'); - - // Remove and Add filters - try { - - - $max = max(count($deviceFilters),count($args['USBDeviceFilters'])); - $offset = 0; - - // Remove existing - for($i = 0; $i < $max; $i++) { - - // Only if filter differs - if(@serialize($deviceFilters[$i]) != @serialize($args['USBDeviceFilters'][$i])) { - - // Remove existing? - if($i < count($deviceFilters)) { - $m->USBDeviceFilters->removeDeviceFilter(($i-$offset)); - $offset++; - } - - // Exists in new? - if(count($args['USBDeviceFilters'][$i])) { - - // Create filter - $f = $m->USBDeviceFilters->createDeviceFilter($args['USBDeviceFilters'][$i]['name']); - $f->active = (bool)$args['USBDeviceFilters'][$i]['active']; - - foreach($usbProps as $p) { - $f->$p = $args['USBDeviceFilters'][$i][$p]; - } - - $m->USBDeviceFilters->insertDeviceFilter($i,$f->handle); - $f->releaseRemote(); - $offset--; - } - } - - } - - } catch (Exception $e) { $this->errors[] = $e; } - - } - - } - - - $this->session->machine->saveSettings(); - $this->session->unlockMachine(); - unset($this->session); - $m->releaseRemote(); - - return true; - - } - - /** - * Save virtual machine settings. - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_machineSave($args) { - - $this->connect(); - - // create session and lock machine - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['id']); - - $vmState = (string)$machine->state; - $vmRunning = ($vmState == 'Running' || $vmState == 'Paused' || $vmState == 'Saved'); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, ($vmRunning ? 'Shared' : 'Write')); - - // Switch to machineSaveRunning()? - if($vmRunning) { - return $this->_machineSaveRunning($args, $vmState); - } - - - // Client and server must agree on advanced config setting - $this->settings->enableAdvancedConfig = (@$this->settings->enableAdvancedConfig && @$args['clientConfig']['enableAdvancedConfig']); - $this->settings->enableHDFlushConfig = (@$this->settings->enableHDFlushConfig && @$args['clientConfig']['enableHDFlushConfig']); - - // Shorthand - /* @var $m IMachine */ - $m = $this->session->machine; - - // General machine settings - if (@$this->settings->enforceVMOwnership ) { - - $args['name'] = "{$_SESSION['user']}_" . preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $args['name']); - - if ( ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) - { - // skip this VM as it is not owned by the user we're logged in as - throw new Exception("Not authorized to modify this VM"); - } - - } - - // Change OS type and update LongMode - if(strcasecmp($m->OSTypeId,$args['OSTypeId']) != 0) { - - $m->OSTypeId = $args['OSTypeId']; - - $guestOS = $this->vbox->getGuestOSType($args['OSTypeId']); - - $m->setCPUProperty('LongMode', ($guestOS->is64Bit ? 1 : 0)); - } - - $m->CPUCount = $args['CPUCount']; - $m->memorySize = $args['memorySize']; - $m->firmwareType = $args['firmwareType']; - if($args['chipsetType']) $m->chipsetType = $args['chipsetType']; - if($m->snapshotFolder != $args['snapshotFolder']) $m->snapshotFolder = $args['snapshotFolder']; - $m->RTCUseUTC = ($args['RTCUseUTC'] ? 1 : 0); - $m->setCpuProperty('PAE', ($args['CpuProperties']['PAE'] ? 1 : 0)); - $m->setCPUProperty('LongMode', (strpos($args['OSTypeId'],'_64') > - 1 ? 1 : 0)); - - // IOAPIC - $m->BIOSSettings->IOAPICEnabled = ($args['BIOSSettings']['IOAPICEnabled'] ? 1 : 0); - $m->CPUExecutionCap = $args['CPUExecutionCap']; - $m->description = $args['description']; - - // Start / stop config - if(@$this->settings->startStopConfig) { - $m->setExtraData('pvbx/startupMode', $args['startupMode']); - } - - - // VirtualBox style start / stop config - if(@$this->settings->vboxAutostartConfig && @$args['clientConfig']['vboxAutostartConfig']) { - - $m->autostopType = $args['autostopType']; - $m->autostartEnabled = $args['autostartEnabled']; - $m->autostartDelay = $args['autostartDelay']; - - } - - // Determine if host is capable of hw accel - $hwAccelAvail = $this->vbox->host->getProcessorFeature('HWVirtEx'); - - $m->paravirtProvider = $args['paravirtProvider']; - $m->setHWVirtExProperty('Enabled', $args['HWVirtExProperties']['Enabled']); - $m->setHWVirtExProperty('NestedPaging', ($args['HWVirtExProperties']['Enabled'] && $hwAccelAvail && $args['HWVirtExProperties']['NestedPaging'])); - - /* Only if advanced configuration is enabled */ - if(@$this->settings->enableAdvancedConfig) { - - /** @def VBOX_WITH_PAGE_SHARING - * Enables the page sharing code. - * @remarks This must match GMMR0Init; currently we only support page fusion on - * all 64-bit hosts except Mac OS X */ - - if($this->vbox->host->getProcessorFeature('LongMode')) { - - $m->pageFusionEnabled = $args['pageFusionEnabled']; - } - - $m->HPETEnabled = $args['HPETEnabled']; - $m->setExtraData("VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", $args['disableHostTimeSync']); - $m->keyboardHIDType = $args['keyboardHIDType']; - $m->pointingHIDType = $args['pointingHIDType']; - $m->setHWVirtExProperty('LargePages', $args['HWVirtExProperties']['LargePages']); - $m->setHWVirtExProperty('UnrestrictedExecution', $args['HWVirtExProperties']['UnrestrictedExecution']); - $m->setHWVirtExProperty('VPID', $args['HWVirtExProperties']['VPID']); - - } - - /* Custom Icon */ - if(@$this->settings->enableCustomIcons) - $m->setExtraData('phpvb/icon', $args['customIcon']); - - $m->VRAMSize = $args['VRAMSize']; - - // Video - $m->accelerate3DEnabled = $args['accelerate3DEnabled']; - $m->accelerate2DVideoEnabled = $args['accelerate2DVideoEnabled']; - - // VRDE settings - try { - if($m->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { - $m->VRDEServer->enabled = $args['VRDEServer']['enabled']; - $m->VRDEServer->setVRDEProperty('TCP/Ports',$args['VRDEServer']['ports']); - if(@$this->settings->enableAdvancedConfig) - $m->VRDEServer->setVRDEProperty('TCP/Address',$args['VRDEServer']['netAddress']); - $m->VRDEServer->setVRDEProperty('VNCPassword',$args['VRDEServer']['VNCPassword'] ? $args['VRDEServer']['VNCPassword'] : null); - $m->VRDEServer->authType = ($args['VRDEServer']['authType'] ? $args['VRDEServer']['authType'] : null); - $m->VRDEServer->authTimeout = $args['VRDEServer']['authTimeout']; - $m->VRDEServer->allowMultiConnection = $args['VRDEServer']['allowMultiConnection']; - } - } catch (Exception $e) { - } - - // Audio controller settings - $m->audioAdapter->enabled = ($args['audioAdapter']['enabled'] ? 1 : 0); - $m->audioAdapter->audioController = $args['audioAdapter']['audioController']; - $m->audioAdapter->audioDriver = $args['audioAdapter']['audioDriver']; - - // Boot order - $mbp = $this->vbox->systemProperties->maxBootPosition; - for($i = 0; $i < $mbp; $i ++) { - if($args['bootOrder'][$i]) { - $m->setBootOrder(($i + 1),$args['bootOrder'][$i]); - } else { - $m->setBootOrder(($i + 1),'Null'); - } - } - - // Storage Controllers - $scs = $m->storageControllers; - $attachedEx = $attachedNew = array(); - foreach($scs as $sc) { /* @var $sc IStorageController */ - - $mas = $m->getMediumAttachmentsOfController($sc->name); - - $cType = (string)$sc->controllerType; - - foreach($mas as $ma) { /* @var $ma IMediumAttachment */ - - $attachedEx[$sc->name.$ma->port.$ma->device] = (($ma->medium->handle && $ma->medium->id) ? $ma->medium->id : null); - - // Remove IgnoreFlush key? - if($this->settings->enableHDFlushConfig && (string)$ma->type == 'HardDisk') { - $xtra = $this->_util_getIgnoreFlushKey($ma->port, $ma->device, $cType); - if($xtra) { - $m->setExtraData($xtra,''); - } - } - - if($ma->controller) { - $m->detachDevice($ma->controller,$ma->port,$ma->device); - } - - } - $scname = $sc->name; - $sc->releaseRemote(); - $m->removeStorageController($scname); - } - - // Add New - foreach($args['storageControllers'] as $sc) { - - $sc['name'] = trim($sc['name']); - $name = ($sc['name'] ? $sc['name'] : $sc['bus']); - - - $bust = new StorageBus(null,$sc['bus']); - $c = $m->addStorageController($name,(string)$bust); - $c->controllerType = $sc['controllerType']; - $c->useHostIOCache = $sc['useHostIOCache']; - - // Set sata port count - if($sc['bus'] == 'SATA') { - $max = max(1,intval(@$sc['portCount'])); - foreach($sc['mediumAttachments'] as $ma) { - $max = max($max,(intval($ma['port'])+1)); - } - $c->portCount = min(intval($c->maxPortCount),max(count($sc['mediumAttachments']),$max)); - - } - $c->releaseRemote(); - - - // Medium attachments - foreach($sc['mediumAttachments'] as $ma) { - - if($ma['medium'] == 'null') $ma['medium'] = null; - - $attachedNew[$name.$ma['port'].$ma['device']] = $ma['medium']['id']; - - if(is_array($ma['medium']) && $ma['medium']['id'] && $ma['type']) { - - // Host drive - if(strtolower($ma['medium']['hostDrive']) == 'true' || $ma['medium']['hostDrive'] === true) { - // CD / DVD Drive - if($ma['type'] == 'DVD') { - $drives = $this->vbox->host->DVDDrives; - // floppy drives - } else { - $drives = $this->vbox->host->floppyDrives; - } - foreach($drives as $md) { /* @var $md IMedium */ - if($md->id == $ma['medium']['id']) { - $med = &$md; - break; - } - $md->releaseRemote(); - } - } else { - /* @var $med IMedium */ - $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'], 'ReadWrite', false); - } - } else { - $med = null; - } - $m->attachDevice($name,$ma['port'],$ma['device'],$ma['type'],(is_object($med) ? $med->handle : null)); - - // CD / DVD medium attachment type - if($ma['type'] == 'DVD') { - - if($ma['medium']['hostDrive']) - $m->passthroughDevice($name, $ma['port'], $ma['device'], $ma['passthrough']); - else - $m->temporaryEjectDevice($name, $ma['port'], $ma['device'], $ma['temporaryEject']); - - // HardDisk medium attachment type - } else if($ma['type'] == 'HardDisk') { - - $m->nonRotationalDevice($name, $ma['port'], $ma['device'], $ma['nonRotational']); - - // Remove IgnoreFlush key? - if($this->settings->enableHDFlushConfig) { - - $xtra = $this->_util_getIgnoreFlushKey($ma['port'], $ma['device'], $sc['controllerType']); - - if($xtra) { - if($ma['ignoreFlush']) { - $m->setExtraData($xtra, ''); - } else { - $m->setExtraData($xtra, 0); - } - } - } - - - } - - if($sc['bus'] == 'SATA' || $sc['bus'] == 'USB') { - $m->setHotPluggableForDevice($name, $ma['port'], $ma['device'], $ma['hotPluggable']); - } - - if(is_object($med)) - $med->releaseRemote(); - } - - } - - /* - * - * Network Adapters - * - */ - - $netprops = array('enabled','attachmentType','adapterType','MACAddress','bridgedInterface', - 'hostOnlyInterface','internalNetwork','NATNetwork','cableConnected','promiscModePolicy','genericDriver'); - - for($i = 0; $i < count($args['networkAdapters']); $i++) { - if(@$this->settings->enableVDE) $netprops[] = 'VDENetwork'; - - $n = $m->getNetworkAdapter($i); - - // Skip disabled adapters - if(!($n->enabled || @$args['networkAdapters'][$i]['enabled'])) - continue; - - for($p = 0; $p < count($netprops); $p++) { - /* - switch($netprops[$p]) { - case 'enabled': - case 'cableConnected': - continue; - } - */ - $n->{$netprops[$p]} = @$args['networkAdapters'][$i][$netprops[$p]]; - } - - // Special case for boolean values - /* - $n->enabled = $args['networkAdapters'][$i]['enabled']; - $n->cableConnected = $args['networkAdapters'][$i]['cableConnected']; - */ - - // Network properties - $eprops = $n->getProperties(null); - $eprops = array_combine($eprops[1],$eprops[0]); - $iprops = array_map(function($a){$b=explode("=",$a); return array($b[0]=>$b[1]);},preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); - $inprops = array(); - foreach($iprops as $a) { - foreach($a as $k=>$v) - $inprops[$k] = $v; - } - // Remove any props that are in the existing properties array - // but not in the incoming properties array - foreach(array_diff(array_keys($eprops),array_keys($inprops)) as $dk) - $n->setProperty($dk, ''); - - // Set remaining properties - foreach($inprops as $k => $v) - $n->setProperty($k, $v); - - // Nat redirects and advanced settings - if($args['networkAdapters'][$i]['attachmentType'] == 'NAT') { - - // Remove existing redirects - foreach($n->NATEngine->getRedirects() as $r) { - $n->NATEngine->removeRedirect(array_shift(explode(',',$r))); - } - // Add redirects - foreach($args['networkAdapters'][$i]['redirects'] as $r) { - $r = explode(',',$r); - $n->NATEngine->addRedirect($r[0],$r[1],$r[2],$r[3],$r[4],$r[5]); - } - - // Advanced NAT settings - if(@$this->settings->enableAdvancedConfig) { - $aliasMode = $n->NATEngine->aliasMode & 1; - if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 2)) $aliasMode |= 2; - if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 4)) $aliasMode |= 4; - $n->NATEngine->aliasMode = $aliasMode; - $n->NATEngine->DNSProxy = $args['networkAdapters'][$i]['NATEngine']['DNSProxy']; - $n->NATEngine->DNSPassDomain = $args['networkAdapters'][$i]['NATEngine']['DNSPassDomain']; - $n->NATEngine->DNSUseHostResolver = $args['networkAdapters'][$i]['NATEngine']['DNSUseHostResolver']; - $n->NATEngine->hostIP = $args['networkAdapters'][$i]['NATEngine']['hostIP']; - } - - } else if($args['networkAdapters'][$i]['attachmentType'] == 'NATNetwork') { - - if($n->NATNetwork = $args['networkAdapters'][$i]['NATNetwork']); - } - - $n->releaseRemote(); - } - - // Serial Ports - for($i = 0; $i < count($args['serialPorts']); $i++) { - - /* @var $p ISerialPort */ - $p = $m->getSerialPort($i); - - if(!($p->enabled || $args['serialPorts'][$i]['enabled'])) - continue; - - try { - $p->enabled = $args['serialPorts'][$i]['enabled']; - $p->IOBase = @hexdec($args['serialPorts'][$i]['IOBase']); - $p->IRQ = intval($args['serialPorts'][$i]['IRQ']); - if($args['serialPorts'][$i]['path']) { - $p->path = $args['serialPorts'][$i]['path']; - $p->hostMode = $args['serialPorts'][$i]['hostMode']; - } else { - $p->hostMode = $args['serialPorts'][$i]['hostMode']; - $p->path = $args['serialPorts'][$i]['path']; - } - $p->server = $args['serialPorts'][$i]['server']; - $p->releaseRemote(); - } catch (Exception $e) { - $this->errors[] = $e; - } - } - - // LPT Ports - if(@$this->settings->enableLPTConfig) { - $lptChanged = false; - - for($i = 0; $i < count($args['parallelPorts']); $i++) { - - /* @var $p IParallelPort */ - $p = $m->getParallelPort($i); - - if(!($p->enabled || $args['parallelPorts'][$i]['enabled'])) - continue; - - $lptChanged = true; - try { - $p->IOBase = @hexdec($args['parallelPorts'][$i]['IOBase']); - $p->IRQ = intval($args['parallelPorts'][$i]['IRQ']); - $p->path = $args['parallelPorts'][$i]['path']; - $p->enabled = $args['parallelPorts'][$i]['enabled']; - $p->releaseRemote(); - } catch (Exception $e) { - $this->errors[] = $e; - } - } - } - - - $sharedEx = array(); - $sharedNew = array(); - foreach($this->_machineGetSharedFolders($m) as $s) { - $sharedEx[$s['name']] = array('name'=>$s['name'],'hostPath'=>$s['hostPath'],'autoMount'=>(bool)$s['autoMount'],'writable'=>(bool)$s['writable']); - } - foreach($args['sharedFolders'] as $s) { - $sharedNew[$s['name']] = array('name'=>$s['name'],'hostPath'=>$s['hostPath'],'autoMount'=>(bool)$s['autoMount'],'writable'=>(bool)$s['writable']); - } - // Compare - if(count($sharedEx) != count($sharedNew) || (@serialize($sharedEx) != @serialize($sharedNew))) { - foreach($sharedEx as $s) { $m->removeSharedFolder($s['name']);} - try { - foreach($sharedNew as $s) { - $m->createSharedFolder($s['name'],$s['hostPath'],(bool)$s['writable'],(bool)$s['autoMount']); - } - } catch (Exception $e) { $this->errors[] = $e; } - } - - // USB Filters - - $usbEx = array(); - $usbNew = array(); - - $usbc = $this->_machineGetUSBControllers($this->session->machine); - if(!$args['USBControllers'] || !is_array($args['USBControllers'])) $args['USBControllers'] = array(); - - // Remove old - $newNames = array(); - $newByName = array(); - foreach($args['USBControllers'] as $c) { - $newNames[] = $c['name']; - $newByName[$c['name']] = $c; - } - $exNames = array(); - foreach($usbc as $c) { - $exNames[] = $c['name']; - if(in_array($c['name'], $newNames)) continue; - $this->session->machine->removeUSBController($c['name']); - } - - $addNames = array_diff($newNames, $exNames); - foreach($addNames as $name) { - $this->session->machine->addUSBController($name, $newByName[$name]['type']); - } - - // filters - $deviceFilters = $this->_machineGetUSBDeviceFilters($this->session->machine); - if(!is_array($args['USBDeviceFilters'])) $args['USBDeviceFilters'] = array(); - - if(count($deviceFilters) != count($args['USBDeviceFilters']) || @serialize($deviceFilters) != @serialize($args['USBDeviceFilters'])) { - - // usb filter properties to change - $usbProps = array('vendorId','productId','revision','manufacturer','product','serialNumber','port','remote'); - - // Remove and Add filters - try { - - - $max = max(count($deviceFilters),count($args['USBDeviceFilters'])); - $offset = 0; - - // Remove existing - for($i = 0; $i < $max; $i++) { - - // Only if filter differs - if(@serialize($deviceFilters[$i]) != @serialize($args['USBDeviceFilters'][$i])) { - - // Remove existing? - if($i < count($deviceFilters)) { - $m->USBDeviceFilters->removeDeviceFilter(($i-$offset)); - $offset++; - } - - // Exists in new? - if(count($args['USBDeviceFilters'][$i])) { - - // Create filter - $f = $m->USBDeviceFilters->createDeviceFilter($args['USBDeviceFilters'][$i]['name']); - $f->active = (bool)$args['USBDeviceFilters'][$i]['active']; - - foreach($usbProps as $p) { - $f->$p = $args['USBDeviceFilters'][$i][$p]; - } - - $m->USBDeviceFilters->insertDeviceFilter($i,$f->handle); - $f->releaseRemote(); - $offset--; - } - } - - } - - } catch (Exception $e) { $this->errors[] = $e; } - - } - - // Rename goes last - if($m->name != $args['name']) { - $m->name = $args['name']; - } - $this->session->machine->saveSettings(); - - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return true; - - } - - /** - * Add a virtual machine via its settings file. - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_machineAdd($args) { - - $this->connect(); - - - /* @var $m IMachine */ - $m = $this->vbox->openMachine($args['file']); - $this->vbox->registerMachine($m->handle); - - $m->releaseRemote(); - - return true; - - } - - /** - * Get progress operation status. On completion, destory progress operation. - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_progressGet($args) { - - // progress operation result - $response = array(); - $error = 0; - - // Connect to vboxwebsrv - $this->connect(); - - try { - - try { - - // Force web call to keep session open. - if($this->persistentRequest['sessionHandle']) { - $this->session = new ISession($this->client, $this->persistentRequest['sessionHandle']); - if((string)$this->session->state) {} - } - - /* @var $progress IProgress */ - $progress = new IProgress($this->client, $args['progress']); - - } catch (Exception $e) { - $this->errors[] = $e; - throw new Exception('Could not obtain progress operation: '.$args['progress']); - } - - $response['progress'] = $args['progress']; - - $response['info'] = array( - 'completed' => $progress->completed, - 'canceled' => $progress->canceled, - 'description' => $progress->description, - 'operationDescription' => $progress->operationDescription, - 'timeRemaining' => $this->_util_splitTime($progress->timeRemaining), - 'timeElapsed' => $this->_util_splitTime((time() - $pop['started'])), - 'percent' => $progress->percent - ); - - - // Completed? Do not return. Fall to _util_progressDestroy() called later - if($response['info']['completed'] || $response['info']['canceled']) { - - try { - if(!$response['info']['canceled'] && $progress->errorInfo->handle) { - $error = array('message'=>$progress->errorInfo->text,'err'=>$this->_util_resultCodeText($progress->resultCode)); - } - } catch (Exception $null) {} - - - } else { - - $response['info']['cancelable'] = $progress->cancelable; - - return $response; - } - - - } catch (Exception $e) { - - // Force progress dialog closure - $response['info'] = array('completed'=>1); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $error = array('message'=>$progress->errorInfo->text,'err'=>$this->_util_resultCodeText($progress->resultCode)); - } - } catch (Exception $null) {} - - } - - if($error) { - if(@$args['catcherrs']) $response['error'] = $error; - else $this->errors[] = new Exception($error['message']); - - } - - $this->_util_progressDestroy($pop); - - return $response; - - } - - /** - * Cancel a running progress operation - * - * @param array $args array of arguments. See function body for details. - * @param array $response response data passed byref populated by the function - * @return boolean true on success - */ - public function remote_progressCancel($args) { - - // Connect to vboxwebsrv - $this->connect(); - - try { - /* @var $progress IProgress */ - $progress = new IProgress($this->client,$args['progress']); - if(!($progress->completed || $progress->canceled)) - $progress->cancel(); - } catch (Exception $e) { - $this->errors[] = $e; - } - - return true; - } - - /** - * Destory a progress operation. - * - * @param array $pop progress operation details - * @return boolean true on success - */ - private function _util_progressDestroy($pop) { - - // Connect to vboxwebsrv - $this->connect(); - - try { - /* @var $progress IProgress */ - $progress = new IProgress($this->client,$pop['progress']); - $progress->releaseRemote(); - } catch (Exception $e) {} - try { - - // Close session and logoff - try { - - if($this->session->handle) { - if((string)$this->session->state != 'Unlocked') { - $this->session->unlockMachine(); - } - $this->session->releaseRemote(); - unset($this->session); - } - - - } catch (Exception $e) { - $this->errors[] = $e; - } - - - // Logoff session associated with progress operation - $this->websessionManager->logoff($this->vbox->handle); - unset($this->vbox); - - } catch (Exception $e) { - $this->errors[] = $e; - } - - // Remove progress handles - $this->persistentRequest = array(); - - return true; - } - - /** - * Returns a key => value mapping of an enumeration class contained - * in vboxServiceWrappers.php (classes that extend VBox_Enum). - * - * @param array $args array of arguments. See function body for details. - * @return array response data - * @see vboxServiceWrappers.php - */ - public function remote_vboxGetEnumerationMap($args) { - - $c = new $args['class'](null, null); - return (@isset($args['ValueMap']) ? $c->ValueMap : $c->NameMap); - } - - /** - * Save VirtualBox system properties - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_vboxSystemPropertiesSave($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $this->vbox->systemProperties->defaultMachineFolder = $args['SystemProperties']['defaultMachineFolder']; - $this->vbox->systemProperties->VRDEAuthLibrary = $args['SystemProperties']['VRDEAuthLibrary']; - if(@$this->settings->vboxAutostartConfig) { - $this->vbox->systemProperties->autostartDatabasePath = $args['SystemProperties']['autostartDatabasePath']; - } - - return true; - - } - - /** - * Import a virtual appliance - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_applianceImport($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $app IAppliance */ - $app = $this->vbox->createAppliance(); - - /* @var $progress IProgress */ - $progress = $app->read($args['file']); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $app->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $progress->waitForCompletion(-1); - - $app->interpret(); - - $a = 0; - foreach($app->virtualSystemDescriptions as $d) { /* @var $d IVirtualSystemDescription */ - // Replace with passed values - $args['descriptions'][$a][5] = array_pad($args['descriptions'][$a][5], count($args['descriptions'][$a][3]),true); - foreach(array_keys($args['descriptions'][$a][5]) as $k) $args['descriptions'][$a][5][$k] = (bool)$args['descriptions'][$a][5][$k]; - $d->setFinalValues($args['descriptions'][$a][5],$args['descriptions'][$a][3],$args['descriptions'][$a][4]); - $a++; - } - - /* @var $progress IProgress */ - $progress = $app->importMachines(array($args['reinitNetwork'] ? 'KeepNATMACs' : 'KeepAllMACs')); - - $app->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - // Save progress - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - /** - * Get a list of VMs that are available for export. - * - * @param array $args array of arguments. See function body for details. - * @return array list of exportable machiens - */ - public function remote_vboxGetExportableMachines($args) { - - // Connect to vboxwebsrv - $this->connect(); - - //Get a list of registered machines - $machines = $this->vbox->machines; - - $response = array(); - - foreach ($machines as $machine) { /* @var $machine IMachine */ - - if ( @$this->settings->enforceVMOwnership && ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) - { - // skip this VM as it is not owned by the user we're logged in as - continue; - } - - try { - $response[] = array( - 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, - 'state' => (string)$machine->state, - 'OSTypeId' => $machine->getOSTypeId(), - 'id' => $machine->id, - 'description' => $machine->description - ); - $machine->releaseRemote(); - - } catch (Exception $e) { - // Ignore. Probably inaccessible machine. - } - } - return $response; - } - - - /** - * Read and interpret virtual appliance file - * - * @param array $args array of arguments. See function body for details. - * @return array appliance file content descriptions - */ - public function remote_applianceReadInterpret($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $app IAppliance */ - $app = $this->vbox->createAppliance(); - - /* @var $progress IProgress */ - $progress = $app->read($args['file']); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $app->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $progress->waitForCompletion(-1); - - $app->interpret(); - - $response = array('warnings' => $app->getWarnings(), - 'descriptions' => array()); - - $i = 0; - foreach($app->virtualSystemDescriptions as $d) { /* @var $d IVirtualSystemDescription */ - $desc = array(); - $response['descriptions'][$i] = $d->getDescription(); - foreach($response['descriptions'][$i][0] as $ddesc) { - $desc[] = (string)$ddesc; - } - $response['descriptions'][$i][0] = $desc; - $i++; - $d->releaseRemote(); - } - $app->releaseRemote(); - $app=null; - - return $response; - - } - - - /** - * Export VMs to a virtual appliance file - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_applianceExport($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $app IAppliance */ - $app = $this->vbox->createAppliance(); - - // Overwrite existing file? - if($args['overwrite']) { - - $dsep = $this->getDsep(); - - $path = str_replace($dsep.$dsep,$dsep,$args['file']); - $dir = dirname($path); - $file = basename($path); - - if(substr($dir,-1) != $dsep) $dir .= $dsep; - - /* @var $vfs IVFSExplorer */ - $vfs = $app->createVFSExplorer('file://'.$dir); - - /* @var $progress IProgress */ - $progress = $vfs->remove(array($file)); - $progress->waitForCompletion(-1); - $progress->releaseRemote(); - - $vfs->releaseRemote(); - } - - $appProps = array( - 'name' => 'Name', - 'description' => 'Description', - 'product' => 'Product', - 'vendor' => 'Vendor', - 'version' => 'Version', - 'product-url' => 'ProductUrl', - 'vendor-url' => 'VendorUrl', - 'license' => 'License'); - - - foreach($args['vms'] as $vm) { - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($vm['id']); - if (@$this->settings->enforceVMOwnership && ($owner = $m->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) - { - // skip this VM as it is not owned by the user we're logged in as - continue; - } - $desc = $m->exportTo($app->handle, $args['file']); - $props = $desc->getDescription(); - $ptypes = array(); - foreach($props[0] as $p) {$ptypes[] = (string)$p;} - $typecount = 0; - foreach($appProps as $k=>$v) { - // Check for existing property - if(($i=array_search($v,$ptypes)) !== false) { - $props[3][$i] = $vm[$k]; - } else { - $desc->addDescription($v,$vm[$k],null); - $props[3][] = $vm[$k]; - $props[4][] = null; - } - $typecount++; - } - $enabled = array_pad(array(),count($props[3]),true); - foreach(array_keys($enabled) as $k) $enabled[$k] = (bool)$enabled[$k]; - $desc->setFinalValues($enabled,$props[3],$props[4]); - $desc->releaseRemote(); - $m->releaseRemote(); - } - - /* @var $progress IProgress */ - $progress = $app->write($args['format'],($args['manifest'] ? array('CreateManifest') : array()),$args['file']); - $app->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - // Save progress - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - /** - * Get nat network info - * - * @param unused $args - * @param array $response response data passed byref populated by the function - * @return array networking info data - */ - public function remote_vboxNATNetworksGet($args) { - - $this->connect(); - - $props = array('networkName','enabled','network','IPv6Enabled', - 'advertiseDefaultIPv6RouteEnabled','needDhcpServer','portForwardRules4', - 'portForwardRules6'); - - $natNetworks = array(); - - foreach($this->vbox->NATNetworks as $n) { - - - $netDetails = array(); - foreach($props as $p) { - $netDetails[$p] = $n->$p; - } - - $natNetworks[] = $netDetails; - } - - return $natNetworks; - - } - - /** - * Get nat network details - * - * @param array $args contains network name - * @param array $response response data passed byref populated by the function - * @return array networking info data - */ - public function remote_vboxNATNetworksSave($args) { - - $this->connect(); - - $props = array('networkName','enabled','network','IPv6Enabled', - 'advertiseDefaultIPv6RouteEnabled','needDhcpServer'); - - $exNetworks = array(); - foreach($this->vbox->NATNetworks as $n) { $exNetworks[$n->networkName] = false; } - - /* Incoming network list */ - foreach($args['networks'] as $net) { - - /* Existing network */ - if($net['orig_networkName']) { - - $network = $this->vbox->findNATNetworkByName($net['orig_networkName']); - - - $exNetworks[$net['orig_networkName']] = true; - - foreach($props as $p) { - $network->$p = $net[$p]; - } - - foreach(array('portForwardRules4','portForwardRules6') as $rules) { - - if(!$net[$rules] || !is_array($net[$rules])) $net[$rules] = array(); - - $rules_remove = array_diff($network->$rules, $net[$rules]); - $rules_add = array_diff($net[$rules], $network->$rules); - - foreach($rules_remove as $rule) { - $network->removePortForwardRule((strpos($rules,'6')>-1), array_shift(preg_split('/:/',$rule))); - } - foreach($rules_add as $r) { - preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); - array_shift($rule); - $network->addPortForwardRule((strpos($rules,'6')>-1), $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); - } - } - - /* New network */ - } else { - - $network = $this->vbox->createNATNetwork($net['networkName']); - - foreach($props as $p) { - if($p == 'network' && $net[$p] == '') continue; - $network->$p = $net[$p]; - } - - foreach($net['portForwardRules4'] as $r) { - preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); - array_shift($rule); - $network->addPortForwardRule(false, $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); - } - foreach($net['portForwardRules6'] as $r) { - preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); - array_shift($rule); - $network->addPortForwardRule(true, $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); - } - - } - - } - - /* Remove networks not in list */ - foreach($exNetworks as $n=>$v) { - if($v) continue; - $n = $this->vbox->findNATNetworkByName($n); - $this->vbox->removeNATNetwork($n); - } - - return true; - - } - - /** - * Get networking info - * - * @param unused $args - * @param array $response response data passed byref populated by the function - * @return array networking info data - */ - public function remote_getNetworking($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $response = array(); - $networks = array(); - $nics = array(); - $genericDrivers = array(); - $vdenetworks = array(); - - /* Get host nics */ - foreach($this->vbox->host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ - $nics[] = $d->name; - $d->releaseRemote(); - } - - /* Get internal Networks */ - $networks = $this->vbox->internalNetworks; - /* Generic Drivers */ - $genericDrivers = $this->vbox->genericNetworkDrivers; - - $natNetworks = array(); - foreach($this->vbox->NATNetworks as $n) { - $natNetworks[] = $n->networkName; - } - - return array( - 'nics' => $nics, - 'networks' => $networks, - 'genericDrivers' => $genericDrivers, - 'vdenetworks' => $vdenetworks, - 'natNetworks' => $natNetworks - ); - - } - - /** - * Get host-only interface information - * - * @param unused $args - * @return array host only interface data - */ - public function remote_hostOnlyInterfacesGet($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* - * NICs - */ - $response = array('networkInterfaces' => array()); - foreach($this->vbox->host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ - - if((string)$d->interfaceType != 'HostOnly') { - $d->releaseRemote(); - continue; - } - - - // Get DHCP Info - try { - /* @var $dhcp IDHCPServer */ - $dhcp = $this->vbox->findDHCPServerByNetworkName($d->networkName); - if($dhcp->handle) { - $dhcpserver = array( - 'enabled' => $dhcp->enabled, - 'IPAddress' => $dhcp->IPAddress, - 'networkMask' => $dhcp->networkMask, - 'networkName' => $dhcp->networkName, - 'lowerIP' => $dhcp->lowerIP, - 'upperIP' => $dhcp->upperIP - ); - $dhcp->releaseRemote(); - } else { - $dhcpserver = array(); - } - } catch (Exception $e) { - $dhcpserver = array(); - } - - $response['networkInterfaces'][] = array( - 'id' => $d->id, - 'IPV6Supported' => $d->IPV6Supported, - 'name' => $d->name, - 'IPAddress' => $d->IPAddress, - 'networkMask' => $d->networkMask, - 'IPV6Address' => $d->IPV6Address, - 'IPV6NetworkMaskPrefixLength' => $d->IPV6NetworkMaskPrefixLength, - 'DHCPEnabled' => $d->DHCPEnabled, - 'networkName' => $d->networkName, - 'dhcpServer' => $dhcpserver - ); - $d->releaseRemote(); - } - - return $response; - } - - - /** - * Save host-only interface information - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_hostOnlyInterfacesSave($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $nics = $args['networkInterfaces']; - - for($i = 0; $i < count($nics); $i++) { - - /* @var $nic IHostNetworkInterface */ - $nic = $this->vbox->host->findHostNetworkInterfaceById($nics[$i]['id']); - - // Common settings - if($nic->IPAddress != $nics[$i]['IPAddress'] || $nic->networkMask != $nics[$i]['networkMask']) { - $nic->enableStaticIPConfig($nics[$i]['IPAddress'],$nics[$i]['networkMask']); - } - if($nics[$i]['IPV6Supported'] && - ($nic->IPV6Address != $nics[$i]['IPV6Address'] || $nic->IPV6NetworkMaskPrefixLength != $nics[$i]['IPV6NetworkMaskPrefixLength'])) { - $nic->enableStaticIPConfigV6($nics[$i]['IPV6Address'],intval($nics[$i]['IPV6NetworkMaskPrefixLength'])); - } - - // Get DHCP Info - try { - $dhcp = $this->vbox->findDHCPServerByNetworkName($nic->networkName); - } catch (Exception $e) {$dhcp = null;}; - - // Create DHCP server? - if((bool)@$nics[$i]['dhcpServer']['enabled'] && !$dhcp) { - $dhcp = $this->vbox->createDHCPServer($nic->networkName); - } - if($dhcp->handle) { - $dhcp->enabled = @$nics[$i]['dhcpServer']['enabled']; - $dhcp->setConfiguration($nics[$i]['dhcpServer']['IPAddress'],$nics[$i]['dhcpServer']['networkMask'],$nics[$i]['dhcpServer']['lowerIP'],$nics[$i]['dhcpServer']['upperIP']); - $dhcp->releaseRemote(); - } - $nic->releaseRemote(); - - } - - return true; - - } - - /** - * Add Host-only interface - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_hostOnlyInterfaceCreate($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $progress IProgress */ - list($int,$progress) = $this->vbox->host->createHostOnlyNetworkInterface(); - $int->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - // Save progress - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - - } - - - /** - * Remove a host-only interface - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_hostOnlyInterfaceRemove($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $progress IProgress */ - $progress = $this->vbox->host->removeHostOnlyNetworkInterface($args['id']); - - if(!$progress->handle) return false; - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - // Save progress - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - /** - * Get a list of Guest OS Types supported by this VirtualBox installation - * - * @param unused $args - * @return array of os types - */ - public function remote_vboxGetGuestOSTypes($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $response = array(); - - $ts = $this->vbox->getGuestOSTypes(); - - $supp64 = ($this->vbox->host->getProcessorFeature('LongMode') && $this->vbox->host->getProcessorFeature('HWVirtEx')); - - foreach($ts as $g) { /* @var $g IGuestOSType */ - - // Avoid multiple calls - $bit64 = $g->is64Bit; - $response[] = array( - 'familyId' => $g->familyId, - 'familyDescription' => $g->familyDescription, - 'id' => $g->id, - 'description' => $g->description, - 'is64Bit' => $bit64, - 'recommendedRAM' => $g->recommendedRAM, - 'recommendedHDD' => ($g->recommendedHDD/1024)/1024, - 'supported' => (bool)(!$bit64 || $supp64) - ); - } - - return $response; - } - - /** - * Set virtual machine state. Running, power off, save state, pause, etc.. - * - * @param array $args array of arguments. See function body for details. - * @return array response data or boolean true on success - */ - public function remote_machineSetState($args) { - - $vm = $args['vm']; - $state = $args['state']; - - $states = array( - 'powerDown' => array('result'=>'PoweredOff','progress'=>2), - 'reset' => array(), - 'saveState' => array('result'=>'Saved','progress'=>2), - 'powerButton' => array('acpi'=>true), - 'sleepButton' => array('acpi'=>true), - 'pause' => array('result'=>'Paused','progress'=>false), - 'resume' => array('result'=>'Running','progress'=>false), - 'powerUp' => array('result'=>'Running'), - 'discardSavedState' => array('result'=>'poweredOff','lock'=>'shared','force'=>true) - ); - - // Check for valid state - if(!is_array($states[$state])) { - throw new Exception('Invalid state: ' . $state); - } - - // Connect to vboxwebsrv - $this->connect(); - - // Machine state - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($vm); - $mstate = (string)$machine->state; - - if (@$this->settings->enforceVMOwnership && !$this->skipSessionCheck && ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) - { - // skip this VM as it is not owned by the user we're logged in as - throw new Exception("Not authorized to change state of this VM"); - } - - // If state has an expected result, check - // that we are not already in it - if($states[$state]['result']) { - if($mstate == $states[$state]['result']) { - $machine->releaseRemote(); - return false; - } - } - - // Special case for power up - if($state == 'powerUp' && $mstate == 'Paused') - $state = 'resume'; - - if($state == 'powerUp') { - - - # Try opening session for VM - try { - - // create session - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // set first run - if($machine->getExtraData('GUI/FirstRun') == 'yes') { - $machine->lockMachine($this->session->handle, 'Write'); - $this->session->machine->setExtraData('GUI/FirstRun', 'no'); - $this->session->unlockMachine(); - } - - /* @var $progress IProgress */ - $progress = $machine->launchVMProcess($this->session->handle, "headless", ""); - - } catch (Exception $e) { - // Error opening session - $this->errors[] = $e; - return false; - } - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) { - } - - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - - } - - // Open session to machine - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Lock machine - $machine->lockMachine($this->session->handle,($states[$state]['lock'] == 'write' ? 'Write' : 'Shared')); - - // If this operation returns a progress object save progress - $progress = null; - if($states[$state]['progress']) { - - /* @var $progress IProgress */ - if($state == 'saveState') { - $progress = $this->session->machine->saveState(); - } else { - $progress = $this->session->console->$state(); - } - - if(!$progress->handle) { - - // should never get here - try { - $this->session->unlockMachine(); - $this->session = null; - } catch (Exception $e) {}; - - $machine->releaseRemote(); - - throw new Exception('Unknown error settings machine to requested state.'); - } - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - // Save progress - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - // Operation does not return a progress object - // Just call the function - } else { - - if($state == 'discardSavedState') { - $this->session->machine->$state(($states[$state]['force'] ? true : null)); - } else { - $this->session->console->$state(($states[$state]['force'] ? true : null)); - } - - } - - $vmname = $machine->name; - $machine->releaseRemote(); - - // Check for ACPI button - if($states[$state]['acpi'] && !$this->session->console->getPowerButtonHandled()) { - $this->session->console->releaseRemote(); - $this->session->unlockMachine(); - $this->session = null; - return false; - } - - - if(!$progress->handle) { - $this->session->console->releaseRemote(); - $this->session->unlockMachine(); - unset($this->session); - } - - return true; - - } - - - /** - * Get VirtualBox host memory usage information - * - * @param unused $args - * @return array response data - */ - public function remote_hostGetMeminfo($args) { - - // Connect to vboxwebsrv - $this->connect(); - - return $this->vbox->host->memoryAvailable; - - } - - /** - * Get VirtualBox host details - * - * @param unused $args - * @return array response data - */ - public function remote_hostGetDetails($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $host IHost */ - $host = &$this->vbox->host; - $response = array( - 'id' => 'host', - 'operatingSystem' => $host->operatingSystem, - 'OSVersion' => $host->OSVersion, - 'memorySize' => $host->memorySize, - 'acceleration3DAvailable' => $host->acceleration3DAvailable, - 'cpus' => array(), - 'networkInterfaces' => array(), - 'DVDDrives' => array(), - 'floppyDrives' => array() - ); - - /* - * Processors - */ - // TODO https://github.com/phpvirtualbox/phpvirtualbox/issues/53 - $response['cpus'][0] = $host->getProcessorDescription(0); - for($i = 1; $i < $host->processorCount; $i++) { - $response['cpus'][$i] = $response['cpus'][0]; - } - - /* - * Supported CPU features? - */ - $response['cpuFeatures'] = array(); - foreach(array('HWVirtEx'=>'HWVirtEx','PAE'=>'PAE','NestedPaging'=>'Nested Paging','LongMode'=>'Long Mode (64-bit)') as $k=>$v) { - $response['cpuFeatures'][$v] = $host->getProcessorFeature($k); - } - - /* - * NICs - */ - foreach($host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ - $response['networkInterfaces'][] = array( - 'name' => $d->name, - 'IPAddress' => $d->IPAddress, - 'networkMask' => $d->networkMask, - 'IPV6Supported' => $d->IPV6Supported, - 'IPV6Address' => $d->IPV6Address, - 'IPV6NetworkMaskPrefixLength' => $d->IPV6NetworkMaskPrefixLength, - 'status' => (string)$d->status, - 'mediumType' => (string)$d->mediumType, - 'interfaceType' => (string)$d->interfaceType, - 'hardwareAddress' => $d->hardwareAddress, - 'networkName' => $d->networkName, - ); - $d->releaseRemote(); - } - - /* - * Medium types (DVD and Floppy) - */ - foreach($host->DVDDrives as $d) { /* @var $d IMedium */ - - $response['DVDDrives'][] = array( - 'id' => $d->id, - 'name' => $d->name, - 'location' => $d->location, - 'description' => $d->description, - 'deviceType' => 'DVD', - 'hostDrive' => true - ); - $d->releaseRemote(); - } - - foreach($host->floppyDrives as $d) { /* @var $d IMedium */ - - $response['floppyDrives'][] = array( - 'id' => $d->id, - 'name' => $d->name, - 'location' => $d->location, - 'description' => $d->description, - 'deviceType' => 'Floppy', - 'hostDrive' => true, - ); - $d->releaseRemote(); - } - $host->releaseRemote(); - - return $response; - } - - /** - * Get a list of USB devices attached to the VirtualBox host - * - * @param unused $args - * @return array of USB devices - */ - public function remote_hostGetUSBDevices($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $response = array(); - - foreach($this->vbox->host->USBDevices as $d) { /* @var $d IUSBDevice */ - - $response[] = array( - 'id' => $d->id, - 'vendorId' => sprintf('%04s',dechex($d->vendorId)), - 'productId' => sprintf('%04s',dechex($d->productId)), - 'revision' => sprintf('%04s',dechex($d->revision)), - 'manufacturer' => $d->manufacturer, - 'product' => $d->product, - 'serialNumber' => $d->serialNumber, - 'address' => $d->address, - 'port' => $d->port, - 'version' => $d->version, - 'portVersion' => $d->portVersion, - 'remote' => $d->remote, - 'state' => (string)$d->state, - ); - $d->releaseRemote(); - } - - return $response; - } - - - /** - * Get virtual machine or virtualbox host details - * - * @param array $args array of arguments. See function body for details. - * @param ISnapshot $snapshot snapshot instance to use if obtaining snapshot details. - * @see hostGetDetails() - * @return array machine details - */ - public function remote_machineGetDetails($args, $snapshot=null) { - - // Host instead of vm info - if($args['vm'] == 'host') { - - $response = $this->remote_hostGetDetails($args); - - return $response; - } - - - // Connect to vboxwebsrv - $this->connect(); - - //Get registered machine or snapshot machine - if($snapshot) { - - /* @var $machine ISnapshot */ - $machine = &$snapshot; - - } else { - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - - // For correct caching, always use id even if a name was passed - $args['vm'] = $machine->id; - - // Check for accessibility - if(!$machine->accessible) { - - return array( - 'name' => $machine->id, - 'state' => 'Inaccessible', - 'OSTypeId' => 'Other', - 'id' => $machine->id, - 'sessionState' => 'Inaccessible', - 'accessible' => 0, - 'accessError' => array( - 'resultCode' => $this->_util_resultCodeText($machine->accessError->resultCode), - 'component' => $machine->accessError->component, - 'text' => $machine->accessError->text) - ); - } - - } - - // Basic data - $data = $this->_machineGetDetails($machine); - - // Network Adapters - $data['networkAdapters'] = $this->_machineGetNetworkAdapters($machine); - - // Storage Controllers - $data['storageControllers'] = $this->_machineGetStorageControllers($machine); - - // Serial Ports - $data['serialPorts'] = $this->_machineGetSerialPorts($machine); - - // LPT Ports - $data['parallelPorts'] = $this->_machineGetParallelPorts($machine); - - // Shared Folders - $data['sharedFolders'] = $this->_machineGetSharedFolders($machine); - - // USB Controllers - $data['USBControllers'] = $this->_machineGetUSBControllers($machine); - $data['USBDeviceFilters'] = $this->_machineGetUSBDeviceFilters($machine); - - - if (@$this->settings->enforceVMOwnership ) - { - $data['name'] = preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $data['name']); - } - - // Items when not obtaining snapshot machine info - if(!$snapshot) { - - $data['currentSnapshot'] = ($machine->currentSnapshot->handle ? array('id'=>$machine->currentSnapshot->id,'name'=>$machine->currentSnapshot->name) : null); - $data['snapshotCount'] = $machine->snapshotCount; - - // Start / stop config - if(@$this->settings->startStopConfig) { - $data['startupMode'] = $machine->getExtraData('pvbx/startupMode'); - } - - - } - - $machine->releaseRemote(); - - $data['accessible'] = 1; - return $data; - } - - /** - * Get runtime data of machine. - * - * @param array $args array of arguments. See function body for details. - * @return array of machine runtime data - */ - public function remote_machineGetRuntimeData($args) { - - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $data = array( - 'id' => $args['vm'], - 'state' => (string)$machine->state - ); - - /* - * TODO: - * - * 5.13.13 getGuestEnteredACPIMode - boolean IConsole::getGuestEnteredACPIMode() - Checks if the guest entered the ACPI mode G0 (working) or G1 (sleeping). If this method - returns false, the guest will most likely not respond to external ACPI events. - If this method fails, the following error codes may be reported: -  VBOX_E_INVALID_VM_STATE: Virtual machine not in Running state. - */ - - // Get current console port - if($data['state'] == 'Running' || $data['state'] == 'Paused') { - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - $console = $this->session->console; - - // Get guest additions version - if(@$this->settings->enableGuestAdditionsVersionDisplay) { - $data['guestAdditionsVersion'] = $console->guest->additionsVersion; - } - - $smachine = $this->session->machine; - - $data['CPUExecutionCap'] = $smachine->CPUExecutionCap; - $data['VRDEServerInfo'] = array('port' => $console->VRDEServerInfo->port); - - $vrde = $smachine->VRDEServer; - - $data['VRDEServer'] = (!$vrde ? null : array( - 'enabled' => $vrde->enabled, - 'ports' => $vrde->getVRDEProperty('TCP/Ports'), - 'netAddress' => $vrde->getVRDEProperty('TCP/Address'), - 'VNCPassword' => $vrde->getVRDEProperty('VNCPassword'), - 'authType' => (string)$vrde->authType, - 'authTimeout' => $vrde->authTimeout, - 'VRDEExtPack' => (string)$vrde->VRDEExtPack - )); - - // Get removable media - $data['storageControllers'] = $this->_machineGetStorageControllers($smachine); - - // Get network adapters - $data['networkAdapters'] = $this->_machineGetNetworkAdapters($smachine); - - $machine->releaseRemote(); - - // Close session and unlock machine - $this->session->unlockMachine(); - unset($this->session); - - } - - - return $data; - - } - - /** - * Remove a virtual machine - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success or array of response data - */ - public function remote_machineRemove($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - // Only unregister or delete? - if(!$args['delete']) { - - $machine->unregister('DetachAllReturnNone'); - $machine->releaseRemote(); - - } else { - - $hds = array(); - $delete = $machine->unregister('DetachAllReturnHardDisksOnly'); - foreach($delete as $hd) { - $hds[] = $this->vbox->openMedium($hd->location,'HardDisk','ReadWrite',false)->handle; - } - - /* @var $progress IProgress */ - $progress = $machine->deleteConfig($hds); - - $machine->releaseRemote(); - - // Does an exception exist? - if($progress) { - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - - } - - return true; - - - } - - - /** - * Create a new Virtual Machine - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_machineCreate($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $response = array(); - - // quota enforcement - if ( isset($_SESSION['user']) ) - { - if ( @isset($this->settings->vmQuotaPerUser) && @$this->settings->vmQuotaPerUser > 0 && !$_SESSION['admin'] ) - { - $newresp = array('data' => array()); - $this->vboxGetMachines(array(), array(&$newresp)); - if ( count($newresp['data']['responseData']) >= $this->settings->vmQuotaPerUser ) - { - // we're over quota! - // delete the disk we just created - if ( isset($args['disk']) ) - { - $this->mediumRemove(array( - 'medium' => $args['disk'], - 'type' => 'HardDisk', - 'delete' => true - ), $newresp); - } - throw new Exception("Sorry, you're over quota. You can only create up to {$this->settings->vmQuotaPerUser} VMs."); - } - } - } - - // create machine - if (@$this->settings->enforceVMOwnership ) - $args['name'] = $_SESSION['user'] . '_' . $args['name']; - - /* Check if file exists */ - $filename = $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); - - if($this->remote_fileExists(array('file'=>$filename))) { - return array('exists' => $filename); - } - - - /* @var $m IMachine */ - $m = $this->vbox->createMachine(null,$args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$args['ostype'],null,null); - - /* Check for phpVirtualBox groups */ - if($this->settings->phpVboxGroups && $args['group']) { - $m->setExtraData(vboxconnector::phpVboxGroupKey, $args['group']); - } - - // Set memory - $m->memorySize = intval($args['memory']); - - - // Save and register - $m->saveSettings(); - $this->vbox->registerMachine($m->handle); - $vm = $m->id; - $m->releaseRemote(); - - try { - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Lock VM - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($vm); - $machine->lockMachine($this->session->handle,'Write'); - - // OS defaults - $defaults = $this->vbox->getGuestOSType($args['ostype']); - - // Ownership enforcement - if ( isset($_SESSION['user']) ) - { - $this->session->machine->setExtraData('phpvb/sso/owner', $_SESSION['user']); - } - - // set the vboxauthsimple in VM config - $this->session->machine->setExtraData('VBoxAuthSimple/users/'.$_SESSION['user'].'', $_SESSION['uHash']); - - // Always set - $this->session->machine->setExtraData('GUI/FirstRun', 'yes'); - - try { - if($this->session->machine->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { - $this->session->machine->VRDEServer->enabled = 1; - $this->session->machine->VRDEServer->authTimeout = 5000; - $this->session->machine->VRDEServer->setVRDEProperty('TCP/Ports',($this->settings->vrdeports ? $this->settings->vrdeports : '3390-5000')); - $this->session->machine->VRDEServer->setVRDEProperty('TCP/Address',($this->settings->vrdeaddress ? $this->settings->vrdeaddress : '127.0.0.1')); - } - } catch (Exception $e) { - //Ignore - } - - // Other defaults - $this->session->machine->BIOSSettings->IOAPICEnabled = $defaults->recommendedIOAPIC; - $this->session->machine->RTCUseUTC = $defaults->recommendedRTCUseUTC; - $this->session->machine->firmwareType = (string)$defaults->recommendedFirmware; - $this->session->machine->chipsetType = (string)$defaults->recommendedChipset; - if(intval($defaults->recommendedVRAM) > 0) $this->session->machine->VRAMSize = intval($defaults->recommendedVRAM); - $this->session->machine->setCpuProperty('PAE',$defaults->recommendedPAE); - - // USB input devices - if($defaults->recommendedUSBHid) { - $this->session->machine->pointingHIDType = 'USBMouse'; - $this->session->machine->keyboardHIDType = 'USBKeyboard'; - } - - /* Only if acceleration configuration is available */ - if($this->vbox->host->getProcessorFeature('HWVirtEx')) { - $this->session->machine->setHWVirtExProperty('Enabled',$defaults->recommendedVirtEx); - } - - /* - * Hard Disk and DVD/CD Drive - */ - $DVDbusType = (string)$defaults->recommendedDVDStorageBus; - $DVDconType = (string)$defaults->recommendedDVDStorageController; - - // Attach harddisk? - if($args['disk']) { - - $HDbusType = (string)$defaults->recommendedHDStorageBus; - $HDconType = (string)$defaults->recommendedHDStorageController; - - $bus = new StorageBus(null,$HDbusType); - $sc = $this->session->machine->addStorageController(trans($HDbusType,'UIMachineSettingsStorage'),(string)$bus); - $sc->controllerType = $HDconType; - $sc->useHostIOCache = (bool)$this->vbox->systemProperties->getDefaultIoCacheSettingForStorageController($HDconType); - - // Set port count? - if($HDbusType == 'SATA') { - $sc->portCount = (($HDbusType == $DVDbusType) ? 2 : 1); - } - - $sc->releaseRemote(); - - $m = $this->vbox->openMedium($args['disk'],'HardDisk','ReadWrite',false); - - $this->session->machine->attachDevice(trans($HDbusType,'UIMachineSettingsStorage'),0,0,'HardDisk',$m->handle); - - $m->releaseRemote(); - - } - - // Attach DVD/CDROM - if($DVDbusType) { - - if(!$args['disk'] || ($HDbusType != $DVDbusType)) { - - $bus = new StorageBus(null,$DVDbusType); - $sc = $this->session->machine->addStorageController(trans($DVDbusType,'UIMachineSettingsStorage'),(string)$bus); - $sc->controllerType = $DVDconType; - $sc->useHostIOCache = (bool)$this->vbox->systemProperties->getDefaultIoCacheSettingForStorageController($DVDconType); - - // Set port count? - if($DVDbusType == 'SATA') { - $sc->portCount = ($args['disk'] ? 1 : 2); - } - - $sc->releaseRemote(); - } - - $this->session->machine->attachDevice(trans($DVDbusType,'UIMachineSettingsStorage'),1,0,'DVD',null); - - } - - $this->session->machine->saveSettings(); - $this->session->unlockMachine(); - $this->session = null; - - $machine->releaseRemote(); - - } catch (Exception $e) { - $this->errors[] = $e; - return false; - } - - return true; - - } - - - /** - * Return a list of network adapters attached to machine $m - * - * @param IMachine $m virtual machine instance - * @param int $slot optional slot of single network adapter to get - * @return array of network adapter information - */ - private function _machineGetNetworkAdapters(&$m, $slot=false) { - - $adapters = array(); - - for($i = ($slot === false ? 0 : $slot); $i < ($slot === false ? $this->settings->nicMax : ($slot+1)); $i++) { - - /* @var $n INetworkAdapter */ - $n = $m->getNetworkAdapter($i); - - // Avoid duplicate calls - $at = (string)$n->attachmentType; - if($at == 'NAT') $nd = $n->NATEngine; /* @var $nd INATEngine */ - else $nd = null; - - $props = $n->getProperties(null); - $props = implode("\n",array_map(function($a,$b){return "$a=$b";},$props[1],$props[0])); - - $adapters[] = array( - 'adapterType' => (string)$n->adapterType, - 'slot' => $n->slot, - 'enabled' => $n->enabled, - 'MACAddress' => $n->MACAddress, - 'attachmentType' => $at, - 'genericDriver' => $n->genericDriver, - 'hostOnlyInterface' => $n->hostOnlyInterface, - 'bridgedInterface' => $n->bridgedInterface, - 'properties' => $props, - 'internalNetwork' => $n->internalNetwork, - 'NATNetwork' => $n->NATNetwork, - 'promiscModePolicy' => (string)$n->promiscModePolicy, - 'VDENetwork' => ($this->settings->enableVDE ? $n->VDENetwork : ''), - 'cableConnected' => $n->cableConnected, - 'NATEngine' => ($at == 'NAT' ? - array('aliasMode' => intval($nd->aliasMode),'DNSPassDomain' => $nd->DNSPassDomain, 'DNSProxy' => $nd->DNSProxy, 'DNSUseHostResolver' => $nd->DNSUseHostResolver, 'hostIP' => $nd->hostIP) - : array('aliasMode' => 0,'DNSPassDomain' => 0, 'DNSProxy' => 0, 'DNSUseHostResolver' => 0, 'hostIP' => '')), - 'lineSpeed' => $n->lineSpeed, - 'redirects' => ( - $at == 'NAT' ? - $nd->getRedirects() - : array() - ) - ); - - $n->releaseRemote(); - } - - return $adapters; - - } - - - /** - * Return a list of virtual machines along with their states and other basic info - * - * @param array $args array of arguments. See function body for details. - * @return array list of machines - */ - public function remote_vboxGetMachines($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $vmlist = array(); - - // Look for a request for a single vm - if($args['vm']) { - - $machines = array($this->vbox->findMachine($args['vm'])); - - // Full list - } else { - //Get a list of registered machines - $machines = $this->vbox->machines; - - } - - - - foreach ($machines as $machine) { /* @var $machine IMachine */ - - - try { - - if(!$machine->accessible) { - - $vmlist[] = array( - 'name' => $machine->id, - 'state' => 'Inaccessible', - 'OSTypeId' => 'Other', - 'id' => $machine->id, - 'sessionState' => 'Inaccessible', - 'accessible' => 0, - 'accessError' => array( - 'resultCode' => $this->_util_resultCodeText($machine->accessError->resultCode), - 'component' => $machine->accessError->component, - 'text' => $machine->accessError->text), - 'lastStateChange' => 0, - 'groups' => array(), - 'currentSnapshot' => '' - - ); - - continue; - } - - if($this->settings->phpVboxGroups) { - $groups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); - if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); - } else { - $groups = $machine->groups; - } - - usort($groups, 'strnatcasecmp'); - - $vmlist[] = array( - 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, - 'state' => (string)$machine->state, - 'OSTypeId' => $machine->getOSTypeId(), - 'owner' => (@$this->settings->enforceVMOwnership ? $machine->getExtraData("phpvb/sso/owner") : ''), - 'groups' => $groups, - 'lastStateChange' => (string)($machine->lastStateChange/1000), - 'id' => $machine->id, - 'currentStateModified' => $machine->currentStateModified, - 'sessionState' => (string)$machine->sessionState, - 'currentSnapshotName' => ($machine->currentSnapshot->handle ? $machine->currentSnapshot->name : ''), - 'customIcon' => (@$this->settings->enableCustomIcons ? $machine->getExtraData('phpvb/icon') : '') - ); - if($machine->currentSnapshot->handle) $machine->currentSnapshot->releaseRemote(); - - - } catch (Exception $e) { - - if($machine) { - - $vmlist[] = array( - 'name' => $machine->id, - 'state' => 'Inaccessible', - 'OSTypeId' => 'Other', - 'id' => $machine->id, - 'sessionState' => 'Inaccessible', - 'lastStateChange' => 0, - 'groups' => array(), - 'currentSnapshot' => '' - ); - - } else { - $this->errors[] = $e; - } - } - - try { - $machine->releaseRemote(); - } catch (Exception $e) { } - } - - return $vmlist; - - } - - /** - * Creates a new exception so that input can be debugged. - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function debugInput($args) { - $this->errors[] = new Exception('debug'); - return true; - } - - /** - * Get a list of media registered with VirtualBox - * - * @param unused $args - * @param array $response response data passed byref populated by the function - * @return array of media - */ - public function remote_vboxGetMedia($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $response = array(); - $mds = array($this->vbox->hardDisks,$this->vbox->DVDImages,$this->vbox->floppyImages); - for($i=0;$i<3;$i++) { - foreach($mds[$i] as $m) { - /* @var $m IMedium */ - $response[] = $this->_mediumGetDetails($m); - $m->releaseRemote(); - } - } - return $response; - } - - /** - * Get USB controller information - * - * @param IMachine $m virtual machine instance - * @return array USB controller info - */ - private function _machineGetUSBControllers(&$m) { - - /* @var $u IUSBController */ - $controllers = &$m->USBControllers; - - $rcons = array(); - foreach($controllers as $c) { - $rcons[] = array( - 'name' => $c->name, - 'type' => (string)$c->type - ); - $c->releaseRemote(); - } - - return $rcons; - } - - /** - * Get USB device filters - * - * @param IMachine $m virtual machine instance - * @return array USB device filters - */ - private function _machineGetUSBDeviceFilters(&$m) { - - $deviceFilters = array(); - foreach($m->USBDeviceFilters->deviceFilters as $df) { /* @var $df IUSBDeviceFilter */ - - $deviceFilters[] = array( - 'name' => $df->name, - 'active' => $df->active, - 'vendorId' => $df->vendorId, - 'productId' => $df->productId, - 'revision' => $df->revision, - 'manufacturer' => $df->manufacturer, - 'product' => $df->product, - 'serialNumber' => $df->serialNumber, - 'port' => $df->port, - 'remote' => $df->remote - ); - $df->releaseRemote(); - } - return $deviceFilters; - } - - /** - * Return top-level virtual machine or snapshot information - * - * @param IMachine $m virtual machine instance - * @return array vm or snapshot data - */ - private function _machineGetDetails(&$m) { - - if($this->settings->phpVboxGroups) { - $groups = explode(',',$m->getExtraData(vboxconnector::phpVboxGroupKey)); - if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); - } else { - $groups = $m->groups; - } - - usort($groups, 'strnatcasecmp'); - - return array( - 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $m->name) : $m->name, - 'description' => $m->description, - 'groups' => $groups, - 'id' => $m->id, - 'autostopType' => ($this->settings->vboxAutostartConfig ? (string)$m->autostopType : ''), - 'autostartEnabled' => ($this->settings->vboxAutostartConfig && $m->autostartEnabled), - 'autostartDelay' => ($this->settings->vboxAutostartConfig ? intval($m->autostartDelay) : '0'), - 'settingsFilePath' => $m->settingsFilePath, - 'paravirtProvider' => (string)$m->paravirtProvider, - 'OSTypeId' => $m->OSTypeId, - 'OSTypeDesc' => $this->vbox->getGuestOSType($m->OSTypeId)->description, - 'CPUCount' => $m->CPUCount, - 'HPETEnabled' => $m->HPETEnabled, - 'memorySize' => $m->memorySize, - 'VRAMSize' => $m->VRAMSize, - 'pointingHIDType' => (string)$m->pointingHIDType, - 'keyboardHIDType' => (string)$m->keyboardHIDType, - 'accelerate3DEnabled' => $m->accelerate3DEnabled, - 'accelerate2DVideoEnabled' => $m->accelerate2DVideoEnabled, - 'BIOSSettings' => array( - 'ACPIEnabled' => $m->BIOSSettings->ACPIEnabled, - 'IOAPICEnabled' => $m->BIOSSettings->IOAPICEnabled, - 'timeOffset' => $m->BIOSSettings->timeOffset - ), - 'firmwareType' => (string)$m->firmwareType, - 'snapshotFolder' => $m->snapshotFolder, - 'monitorCount' => $m->monitorCount, - 'pageFusionEnabled' => $m->pageFusionEnabled, - 'VRDEServer' => (!$m->VRDEServer ? null : array( - 'enabled' => $m->VRDEServer->enabled, - 'ports' => $m->VRDEServer->getVRDEProperty('TCP/Ports'), - 'netAddress' => $m->VRDEServer->getVRDEProperty('TCP/Address'), - 'VNCPassword' => $m->VRDEServer->getVRDEProperty('VNCPassword'), - 'authType' => (string)$m->VRDEServer->authType, - 'authTimeout' => $m->VRDEServer->authTimeout, - 'allowMultiConnection' => $m->VRDEServer->allowMultiConnection, - 'VRDEExtPack' => (string)$m->VRDEServer->VRDEExtPack - )), - 'audioAdapter' => array( - 'enabled' => $m->audioAdapter->enabled, - 'audioController' => (string)$m->audioAdapter->audioController, - 'audioDriver' => (string)$m->audioAdapter->audioDriver, - ), - 'RTCUseUTC' => $m->RTCUseUTC, - 'EffectiveParavirtProvider' => (string)$m->getEffectiveParavirtProvider(), - 'HWVirtExProperties' => array( - 'Enabled' => $m->getHWVirtExProperty('Enabled'), - 'NestedPaging' => $m->getHWVirtExProperty('NestedPaging'), - 'LargePages' => $m->getHWVirtExProperty('LargePages'), - 'UnrestrictedExecution' => $m->getHWVirtExProperty('UnrestrictedExecution'), - 'VPID' => $m->getHWVirtExProperty('VPID') - ), - 'CpuProperties' => array( - 'PAE' => $m->getCpuProperty('PAE') - ), - 'bootOrder' => $this->_machineGetBootOrder($m), - 'chipsetType' => (string)$m->chipsetType, - 'GUI' => array( - 'FirstRun' => $m->getExtraData('GUI/FirstRun'), - ), - 'customIcon' => (@$this->settings->enableCustomIcons ? $m->getExtraData('phpvb/icon') : ''), - 'disableHostTimeSync' => intval($m->getExtraData("VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled")), - 'CPUExecutionCap' => $m->CPUExecutionCap - ); - - } - - /** - * Get virtual machine boot order - * - * @param IMachine $m virtual machine instance - * @return array boot order - */ - private function _machineGetBootOrder(&$m) { - $return = array(); - $mbp = $this->vbox->systemProperties->maxBootPosition; - for($i = 0; $i < $mbp; $i ++) { - if(($b = (string)$m->getBootOrder($i + 1)) == 'Null') continue; - $return[] = $b; - } - return $return; - } - - /** - * Get serial port configuration for a virtual machine or snapshot - * - * @param IMachine $m virtual machine instance - * @return array serial port info - */ - private function _machineGetSerialPorts(&$m) { - $ports = array(); - $max = $this->vbox->systemProperties->serialPortCount; - for($i = 0; $i < $max; $i++) { - try { - /* @var $p ISerialPort */ - $p = $m->getSerialPort($i); - $ports[] = array( - 'slot' => $p->slot, - 'enabled' => $p->enabled, - 'IOBase' => '0x'.strtoupper(sprintf('%3s',dechex($p->IOBase))), - 'IRQ' => $p->IRQ, - 'hostMode' => (string)$p->hostMode, - 'server' => $p->server, - 'path' => $p->path - ); - $p->releaseRemote(); - } catch (Exception $e) { - // Ignore - } - } - return $ports; - } - - /** - * Get parallel port configuration for a virtual machine or snapshot - * - * @param IMachine $m virtual machine instance - * @return array parallel port info - */ - private function _machineGetParallelPorts(&$m) { - if(!@$this->settings->enableLPTConfig) return array(); - $ports = array(); - $max = $this->vbox->systemProperties->parallelPortCount; - for($i = 0; $i < $max; $i++) { - try { - /* @var $p IParallelPort */ - $p = $m->getParallelPort($i); - $ports[] = array( - 'slot' => $p->slot, - 'enabled' => $p->enabled, - 'IOBase' => '0x'.strtoupper(sprintf('%3s',dechex($p->IOBase))), - 'IRQ' => $p->IRQ, - 'path' => $p->path - ); - $p->releaseRemote(); - } catch (Exception $e) { - // Ignore - } - } - return $ports; - } - - /** - * Get shared folder configuration for a virtual machine or snapshot - * - * @param IMachine $m virtual machine instance - * @return array shared folder info - */ - private function _machineGetSharedFolders(&$m) { - $sfs = &$m->sharedFolders; - $return = array(); - foreach($sfs as $sf) { /* @var $sf ISharedFolder */ - $return[] = array( - 'name' => $sf->name, - 'hostPath' => $sf->hostPath, - 'accessible' => $sf->accessible, - 'writable' => $sf->writable, - 'autoMount' => $sf->autoMount, - 'lastAccessError' => $sf->lastAccessError, - 'type' => 'machine' - ); - } - return $return; - } - - /** - * Add encryption password to VM console - * - * @param array $args array of arguments. See function body for details. - * @return true on success - */ - public function remote_consoleAddDiskEncryptionPasswords($args) { - - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle,'Shared'); - - $response = array('accepted'=>array(),'failed'=>array(),'errors'=>array()); - - foreach($args['passwords'] as $creds) { - try { - $this->session->console->removeDiskEncryptionPassword($creds['id']); - } catch(Exception $e) { - // It may not exist yet - } - - try { - $this->session->console->addDiskEncryptionPassword($creds['id'], $creds['password'], (bool)@$args['clearOnSuspend']); - $response['accepted'][] = $creds['id']; - } catch (Exception $e) { - $response['failed'][] = $creds['id']; - $response['errors'][] = $e->getMessage(); - } - } - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return $response; - } - - /** - * Get a list of transient (temporary) shared folders - * - * @param array $args array of arguments. See function body for details. - * @return array of shared folders - */ - public function remote_consoleGetSharedFolders($args) { - - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - // No need to continue if machine is not running - if((string)$machine->state != 'Running') { - $machine->releaseRemote(); - return true; - } - - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle,'Shared'); - - $sfs = $this->session->console->sharedFolders; - - $response = array(); - - foreach($sfs as $sf) { /* @var $sf ISharedFolder */ - - $response[] = array( - 'name' => $sf->name, - 'hostPath' => $sf->hostPath, - 'accessible' => $sf->accessible, - 'writable' => $sf->writable, - 'autoMount' => $sf->autoMount, - 'lastAccessError' => $sf->lastAccessError, - 'type' => 'transient' - ); - } - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return $response; - } - - /** - * Get VirtualBox Host OS specific directory separator - * - * @return string directory separator string - */ - public function getDsep() { - - if(!$this->dsep) { - - /* No need to go through vbox if local browser is true */ - if($this->settings->browserLocal) { - - $this->dsep = DIRECTORY_SEPARATOR; - - } else { - - $this->connect(); - - if(stripos($this->vbox->host->operatingSystem,'windows') !== false) { - $this->dsep = '\\'; - } else { - $this->dsep = '/'; - } - } - - - } - - return $this->dsep; - } - - /** - * Get medium attachment information for all medium attachments in $mas - * - * @param IMediumAttachment[] $mas list of IMediumAttachment instances - * @return array medium attachment info - */ - private function _machineGetMediumAttachments(&$mas) { - - $return = array(); - - foreach($mas as $ma) { /** @var $ma IMediumAttachment */ - $return[] = array( - 'medium' => ($ma->medium->handle ? array('id'=>$ma->medium->id) : null), - 'controller' => $ma->controller, - 'port' => $ma->port, - 'device' => $ma->device, - 'type' => (string)$ma->type, - 'passthrough' => $ma->passthrough, - 'temporaryEject' => $ma->temporaryEject, - 'nonRotational' => $ma->nonRotational, - 'hotPluggable' => $ma->hotPluggable, - ); - } - - // sort by port then device - usort($return,function($a,$b){if($a["port"] == $b["port"]) { if($a["device"] < $b["device"]) { return -1; } if($a["device"] > $b["device"]) { return 1; } return 0; } if($a["port"] < $b["port"]) { return -1; } return 1;}); - - return $return; - } - - /** - * Save snapshot details ( description or name) - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_snapshotSave($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $vm IMachine */ - $vm = $this->vbox->findMachine($args['vm']); - - /* @var $snapshot ISnapshot */ - $snapshot = $vm->findSnapshot($args['snapshot']); - $snapshot->name = $args['name']; - $snapshot->description = $args['description']; - - // cleanup - $snapshot->releaseRemote(); - $vm->releaseRemote(); - - return true; - } - - /** - * Get snapshot details - * - * @param array $args array of arguments. See function body for details. - * @return array containing snapshot details - */ - public function remote_snapshotGetDetails($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $vm IMachine */ - $vm = $this->vbox->findMachine($args['vm']); - - /* @var $snapshot ISnapshot */ - $snapshot = $vm->findSnapshot($args['snapshot']); - - $response = $this->_snapshotGetDetails($snapshot,false); - $response['machine'] = $this->remote_machineGetDetails(array(),$snapshot->machine); - - // cleanup - $snapshot->releaseRemote(); - $vm->releaseRemote(); - - return $response; - - } - - /** - * Restore a snapshot - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress operation id - */ - public function remote_snapshotRestore($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $progress = $this->session = null; - - try { - - // Open session to machine - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $machine->lockMachine($this->session->handle, 'Write'); - - /* @var $snapshot ISnapshot */ - $snapshot = $this->session->machine->findSnapshot($args['snapshot']); - - /* @var $progress IProgress */ - $progress = $this->session->machine->restoreSnapshot($snapshot->handle); - - $snapshot->releaseRemote(); - $machine->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $this->_util_progressStore($progress); - - } catch (Exception $e) { - - $this->errors[] = $e; - - if($this->session->handle) { - try{$this->session->unlockMachine();}catch(Exception $e){} - } - return false; - } - - return array('progress' => $progress->handle); - - } - - /** - * Delete a snapshot - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress operation id - */ - public function remote_snapshotDelete($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $progress = $this->session = null; - - try { - - // Open session to machine - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $machine->lockMachine($this->session->handle, 'Shared'); - - /* @var $progress IProgress */ - $progress = $this->session->machine->deleteSnapshot($args['snapshot']); - - $machine->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $this->_util_progressStore($progress); - - - } catch (Exception $e) { - - $this->errors[] = $e; - - if($this->session->handle) { - try{$this->session->unlockMachine();$this->session=null;}catch(Exception $e){} - } - - return false; - } - - return array('progress' => $progress->handle); - - } - - /** - * Take a snapshot - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress operation id - */ - public function remote_snapshotTake($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - $progress = $this->session = null; - - try { - - // Open session to machine - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, ((string)$machine->sessionState == 'Unlocked' ? 'Write' : 'Shared')); - - /* @var $progress IProgress */ - list($progress, $snapshotId) = $this->session->machine->takeSnapshot($args['name'], $args['description'], null); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - try{$this->session->unlockMachine(); $this->session=null;}catch(Exception $ed){} - return false; - } - } catch (Exception $null) {} - - - $this->_util_progressStore($progress); - - } catch (Exception $e) { - - if(!$progress->handle && $this->session->handle) { - try{$this->session->unlockMachine();$this->session=null;}catch(Exception $e){} - } - - return false; - } - - return array('progress' => $progress->handle); - - } - - /** - * Get a list of snapshots for a machine - * - * @param array $args array of arguments. See function body for details. - * @return array list of snapshots - */ - public function remote_machineGetSnapshots($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - - $response = array('vm' => $args['vm'], - 'snapshot' => array(), - 'currentSnapshotId' => null); - - /* No snapshots? Empty array */ - if($machine->snapshotCount < 1) { - return $response; - } else { - - /* @var $s ISnapshot */ - $s = $machine->findSnapshot(null); - $response['snapshot'] = $this->_snapshotGetDetails($s,true); - $s->releaseRemote(); - } - - $response['currentSnapshotId'] = ($machine->currentSnapshot->handle ? $machine->currentSnapshot->id : ''); - if($machine->currentSnapshot->handle) $machine->currentSnapshot->releaseRemote(); - $machine->releaseRemote(); - - return $response; - } - - - /** - * Return details about snapshot $s - * - * @param ISnapshot $s snapshot instance - * @param boolean $sninfo traverse child snapshots - * @return array snapshot info - */ - private function _snapshotGetDetails(&$s,$sninfo=false) { - - $children = array(); - - if($sninfo) - foreach($s->children as $c) { /* @var $c ISnapshot */ - $children[] = $this->_snapshotGetDetails($c, true); - $c->releaseRemote(); - } - - // Avoid multiple soap calls - $timestamp = (string)$s->timeStamp; - - return array( - 'id' => $s->id, - 'name' => $s->name, - 'description' => $s->description, - 'timeStamp' => floor($timestamp/1000), - 'timeStampSplit' => $this->_util_splitTime(time() - floor($timestamp/1000)), - 'online' => $s->online - ) + ( - ($sninfo ? array('children' => $children) : array()) - ); - } - - /** - * Return details about storage controllers for machine $m - * - * @param IMachine $m virtual machine instance - * @return array storage controllers' details - */ - private function _machineGetStorageControllers(&$m) { - - $sc = array(); - $scs = $m->storageControllers; - - foreach($scs as $c) { /* @var $c IStorageController */ - $sc[] = array( - 'name' => $c->name, - 'maxDevicesPerPortCount' => $c->maxDevicesPerPortCount, - 'useHostIOCache' => $c->useHostIOCache, - 'minPortCount' => $c->minPortCount, - 'maxPortCount' => $c->maxPortCount, - 'portCount' => $c->portCount, - 'bus' => (string)$c->bus, - 'controllerType' => (string)$c->controllerType, - 'mediumAttachments' => $this->_machineGetMediumAttachments($m->getMediumAttachmentsOfController($c->name), $m->id) - ); - $c->releaseRemote(); - } - - for($i = 0; $i < count($sc); $i++) { - - for($a = 0; $a < count($sc[$i]['mediumAttachments']); $a++) { - - // Value of '' means it is not applicable - $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = ''; - - // Only valid for HardDisks - if($sc[$i]['mediumAttachments'][$a]['type'] != 'HardDisk') continue; - - // Get appropriate key - $xtra = $this->_util_getIgnoreFlushKey($sc[$i]['mediumAttachments'][$a]['port'], $sc[$i]['mediumAttachments'][$a]['device'], $sc[$i]['controllerType']); - - // No such setting for this bus type - if(!$xtra) continue; - - $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = $m->getExtraData($xtra); - - if(trim($sc[$i]['mediumAttachments'][$a]['ignoreFlush']) === '') - $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = 1; - else - $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = $sc[$i]['mediumAttachments'][$a]['ignoreFlush']; - - } - } - - return $sc; - } - - /** - * Check medium encryption password - * - * @param array $args array of arguments. See function body for details. - * @return array response data - */ - public function remote_mediumCheckEncryptionPassword($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $m = $this->vbox->openMedium($args['medium'],'HardDisk','ReadWrite',false); - - $retval = $m->checkEncryptionPassword($args['password']); - - $m->releaseRemote(); - - return $retval; - - } - - /** - * Change medium encryption - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress id or true - */ - public function remote_mediumChangeEncryption($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); - - /* @var $progress IProgress */ - $progress = $m->changeEncryption($args['old_password'], - $args['cipher'], $args['password'], $args['id']); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - $m->releaseRemote(); - return false; - } - } catch (Exception $null) { - } - - if($args['waitForCompletion']) { - $progress->waitForCompletion(-1); - $progress->releaseRemote(); - $m->releaseRemote(); - return true; - } - - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - /** - * Resize a medium. Currently unimplemented in GUI. - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress id - */ - public function remote_mediumResize($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); - - /* @var $progress IProgress */ - $progress = $m->resize($args['bytes']); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) { - } - - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle); - - } - - /** - * Clone a medium - * - * @param array $args array of arguments. See function body for details. - * @return array response data containing progress id - */ - public function remote_mediumCloneTo($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $format = strtoupper($args['format']); - /* @var $target IMedium */ - $target = $this->vbox->createMedium($format, $args['location'], 'ReadWrite', 'HardDisk'); - $mid = $target->id; - - /* @var $src IMedium */ - $src = $this->vbox->openMedium($args['src'], 'HardDisk', 'ReadWrite', false); - - $type = array(($args['type'] == 'fixed' ? 'Fixed' : 'Standard')); - if($args['split']) $type[] = 'VmdkSplit2G'; - - /* @var $progress IProgress */ - $progress = $src->cloneTo($target->handle,$type,null); - - $src->releaseRemote(); - $target->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $this->_util_progressStore($progress); - - return array('progress' => $progress->handle, 'id' => $mid); - - } - - /** - * Set medium to a specific type - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_mediumSetType($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $m IMedium */ - $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); - $m->type = $args['type']; - $m->releaseRemote(); - - return true; - } - - /** - * Add iSCSI medium - * - * @param array $args array of arguments. See function body for details. - * @return response data - */ - public function remote_mediumAddISCSI($args) { - - // Connect to vboxwebsrv - $this->connect(); - - // {'server':server,'port':port,'intnet':intnet,'target':target,'lun':lun,'enclun':enclun,'targetUser':user,'targetPass':pass} - - // Fix LUN - $args['lun'] = intval($args['lun']); - if($args['enclun']) $args['lun'] = 'enc'.$args['lun']; - - // Compose name - $name = $args['server'].'|'.$args['target']; - if($args['lun'] != 0 && $args['lun'] != 'enc0') - $name .= '|'.$args['lun']; - - // Create disk - /* @var $hd IMedium */ - $hd = $this->vbox->createMedium('iSCSI',$name, 'ReadWrite', 'HardDisk'); - - if($args['port']) $args['server'] .= ':'.intval($args['port']); - - $arrProps = array(); - - $arrProps["TargetAddress"] = $args['server']; - $arrProps["TargetName"] = $args['target']; - $arrProps["LUN"] = $args['lun']; - if($args['targetUser']) $arrProps["InitiatorUsername"] = $args['targetUser']; - if($args['targetPass']) $arrProps["InitiatorSecret"] = $args['targetPass']; - if($args['intnet']) $arrProps["HostIPStack"] = '0'; - - $hd->setProperties(array_keys($arrProps),array_values($arrProps)); - - $hdid = $hd->id; - $hd->releaseRemote(); - - return array('id' => $hdid); - } - - /** - * Add existing medium by file location - * - * @param array $args array of arguments. See function body for details. - * @return resposne data containing new medium's id - */ - public function remote_mediumAdd($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $m IMedium */ - $m = $this->vbox->openMedium($args['path'], $args['type'], 'ReadWrite', false); - - $mid = $m->id; - $m->releaseRemote(); - - return array('id'=>$mid); - } - - /** - * Get VirtualBox generated machine configuration file name - * - * @param array $args array of arguments. See function body for details. - * @return string filename - */ - public function remote_vboxGetComposedMachineFilename($args) { - - // Connect to vboxwebsrv - $this->connect(); - - return $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); - - } - - /** - * Create base storage medium (virtual hard disk) - * - * @param array $args array of arguments. See function body for details. - * @return response data containing progress id - */ - public function remote_mediumCreateBaseStorage($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $format = strtoupper($args['format']); - - $type = array(($args['type'] == 'fixed' ? 'Fixed' : 'Standard')); - if($args['split']) $type[] = 'VmdkSplit2G'; - - /* @var $hd IMedium */ - $hd = $this->vbox->createMedium($format, $args['file'], 'ReadWrite', 'HardDisk'); - - /* @var $progress IProgress */ - $progress = $hd->createBaseStorage(intval($args['size'])*1024*1024,$type); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) {} - - $this->_util_progressStore($progress); - - $hd->releaseRemote(); - - return array('progress' => $progress->handle); - - } - - /** - * Release medium from all attachments - * - * @param array $args array of arguments. See function body for details. - * @return boolean true - */ - public function remote_mediumRelease($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $m IMedium */ - $m = $this->vbox->openMedium($args['medium'],$args['type'], 'ReadWrite', false); - $mediumid = $m->id; - - // connected to... - $machines = $m->machineIds; - $released = array(); - foreach($machines as $uuid) { - - // Find medium attachment - try { - /* @var $mach IMachine */ - $mach = $this->vbox->findMachine($uuid); - } catch (Exception $e) { - $this->errors[] = $e; - continue; - } - $attach = $mach->mediumAttachments; - $remove = array(); - foreach($attach as $a) { - if($a->medium->handle && $a->medium->id == $mediumid) { - $remove[] = array( - 'controller' => $a->controller, - 'port' => $a->port, - 'device' => $a->device); - break; - } - } - // save state - $state = (string)$mach->sessionState; - - if(!count($remove)) continue; - - $released[] = $uuid; - - // create session - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - // Hard disk requires machine to be stopped - if($args['type'] == 'HardDisk' || $state == 'Unlocked') { - - $mach->lockMachine($this->session->handle, 'Write'); - - } else { - - $mach->lockMachine($this->session->handle, 'Shared'); - - } - - foreach($remove as $r) { - if($args['type'] == 'HardDisk') { - $this->session->machine->detachDevice($r['controller'],$r['port'],$r['device']); - } else { - $this->session->machine->mountMedium($r['controller'],$r['port'],$r['device'],null,true); - } - } - - $this->session->machine->saveSettings(); - $this->session->machine->releaseRemote(); - $this->session->unlockMachine(); - unset($this->session); - $mach->releaseRemote(); - - } - $m->releaseRemote(); - - return true; - } - - /** - * Remove a medium - * - * @param array $args array of arguments. See function body for details. - * @return response data possibly containing progress operation id - */ - public function remote_mediumRemove($args) { - - // Connect to vboxwebsrv - $this->connect(); - - if(!$args['type']) $args['type'] = 'HardDisk'; - - /* @var $m IMedium */ - $m = $this->vbox->openMedium($args['medium'],$args['type'], 'ReadWrite', false); - - if($args['delete'] && @$this->settings->deleteOnRemove && (string)$m->deviceType == 'HardDisk') { - - /* @var $progress IProgress */ - $progress = $m->deleteStorage(); - - $m->releaseRemote(); - - // Does an exception exist? - try { - if($progress->errorInfo->handle) { - $this->errors[] = new Exception($progress->errorInfo->text); - $progress->releaseRemote(); - return false; - } - } catch (Exception $null) { } - - $this->_util_progressStore($progress); - return array('progress' => $progress->handle); - - } else { - $m->close(); - $m->releaseRemote(); - } - - return true; - } - - /** - * Get a list of recent media - * - * @param array $args array of arguments. See function body for details. - * @return array of recent media - */ - public function remote_vboxRecentMediaGet($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $mlist = array(); - foreach(array( - array('type'=>'HardDisk','key'=>'GUI/RecentListHD'), - array('type'=>'DVD','key'=>'GUI/RecentListCD'), - array('type'=>'Floppy','key'=>'GUI/RecentListFD')) as $r) { - $list = $this->vbox->getExtraData($r['key']); - $mlist[$r['type']] = array_filter(explode(';', trim($list,';'))); - } - return $mlist; - } - - /** - * Get a list of recent media paths - * - * @param array $args array of arguments. See function body for details. - * @return array of recent media paths - */ - public function remote_vboxRecentMediaPathsGet($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $mlist = array(); - foreach(array( - array('type'=>'HardDisk','key'=>'GUI/RecentFolderHD'), - array('type'=>'DVD','key'=>'GUI/RecentFolderCD'), - array('type'=>'Floppy','key'=>'GUI/RecentFolderFD')) as $r) { - $mlist[$r['type']] = $this->vbox->getExtraData($r['key']); - } - return $mlist; - } - - - /** - * Update recent medium path list - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_vboxRecentMediaPathSave($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $types = array( - 'HardDisk'=>'GUI/RecentFolderHD', - 'DVD'=>'GUI/RecentFolderCD', - 'Floppy'=>'GUI/RecentFolderFD' - ); - - $this->vbox->setExtraData($types[$args['type']], $args['folder']); - - return true; - } - - /** - * Update recent media list - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_vboxRecentMediaSave($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $types = array( - 'HardDisk'=>'GUI/RecentListHD', - 'DVD'=>'GUI/RecentListCD', - 'Floppy'=>'GUI/RecentListFD' - ); - - $this->vbox->setExtraData($types[$args['type']], implode(';',array_unique($args['list'])).';'); - - return true; - - } - - /** - * Mount a medium on the VM - * - * @param array $args array of arguments. See function body for details. - * @return boolean true on success - */ - public function remote_mediumMount($args) { - - // Connect to vboxwebsrv - $this->connect(); - - // Find medium attachment - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $state = (string)$machine->sessionState; - - // create session - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - - if($state == 'Unlocked') { - $machine->lockMachine($this->session->handle,'Write'); - $save = true; // force save on closed session as it is not a "run-time" change - } else { - - $machine->lockMachine($this->session->handle, 'Shared'); - } - - // Empty medium / eject - if($args['medium'] == 0) { - $med = null; - } else { - // Host drive - if(strtolower($args['medium']['hostDrive']) == 'true' || $args['medium']['hostDrive'] === true) { - // CD / DVD Drive - if($args['medium']['deviceType'] == 'DVD') { - $drives = $this->vbox->host->DVDDrives; - // floppy drives - } else { - $drives = $this->vbox->host->floppyDrives; - } - foreach($drives as $m) { /* @var $m IMedium */ - if($m->id == $args['medium']['id']) { - /* @var $med IMedium */ - $med = &$m; - break; - } - $m->releaseRemote(); - } - // Normal medium - } else { - /* @var $med IMedium */ - $med = $this->vbox->openMedium($args['medium']['location'],$args['medium']['deviceType'],'ReadWrite',false); - } - } - - $this->session->machine->mountMedium($args['controller'],$args['port'],$args['device'],(is_object($med) ? $med->handle : null),true); - - if(is_object($med)) $med->releaseRemote(); - - if($save) $this->session->machine->saveSettings(); - - $this->session->unlockMachine(); - $machine->releaseRemote(); - unset($this->session); - - return true; - } - - /** - * Get medium details - * - * @param IMedium $m medium instance - * @return array medium details - */ - private function _mediumGetDetails(&$m) { - - $children = array(); - $attachedTo = array(); - $machines = $m->machineIds; - $hasSnapshots = 0; - - foreach($m->children as $c) { /* @var $c IMedium */ - $children[] = $this->_mediumGetDetails($c); - $c->releaseRemote(); - } - - foreach($machines as $mid) { - $sids = $m->getSnapshotIds($mid); - try { - /* @var $mid IMachine */ - $mid = $this->vbox->findMachine($mid); - } catch (Exception $e) { - $attachedTo[] = array('machine' => $mid .' ('.$e->getMessage().')', 'snapshots' => array()); - continue; - } - - $c = count($sids); - $hasSnapshots = max($hasSnapshots,$c); - for($i = 0; $i < $c; $i++) { - if($sids[$i] == $mid->id) { - unset($sids[$i]); - } else { - try { - /* @var $sn ISnapshot */ - $sn = $mid->findSnapshot($sids[$i]); - $sids[$i] = $sn->name; - $sn->releaseRemote(); - } catch(Exception $e) { } - } - } - $hasSnapshots = (count($sids) ? 1 : 0); - $attachedTo[] = array('machine'=>$mid->name,'snapshots'=>$sids); - $mid->releaseRemote(); - } - - // For $fixed value - $mvenum = new MediumVariant(null, null); - $variant = 0; - - foreach($m->variant as $mv) { - $variant += $mvenum->ValueMap[(string)$mv]; - } - - // Encryption settings - $encryptionSettings = null; - if((string)$m->deviceType == 'HardDisk') { - try { - list($id, $cipher) = $m->getEncryptionSettings(); - if($id) { - $encryptionSettings = array( - 'id' => $id, - 'cipher' => $cipher, - ); - } - } catch (Exception $e) { - // Pass. Encryption is not configured - } - - } - return array( - 'id' => $m->id, - 'description' => $m->description, - 'state' => (string)$m->refreshState(), - 'location' => $m->location, - 'name' => $m->name, - 'deviceType' => (string)$m->deviceType, - 'hostDrive' => $m->hostDrive, - 'size' => (string)$m->size, /* (string) to support large disks. Bypass integer limit */ - 'format' => $m->format, - 'type' => (string)$m->type, - 'parent' => (((string)$m->deviceType == 'HardDisk' && $m->parent->handle) ? $m->parent->id : null), - 'children' => $children, - 'base' => (((string)$m->deviceType == 'HardDisk' && $m->base->handle) ? $m->base->id : null), - 'readOnly' => $m->readOnly, - 'logicalSize' => ($m->logicalSize/1024)/1024, - 'autoReset' => $m->autoReset, - 'hasSnapshots' => $hasSnapshots, - 'lastAccessError' => $m->lastAccessError, - 'variant' => $variant, - 'machineIds' => array(), - 'attachedTo' => $attachedTo, - 'encryptionSettings' => $encryptionSettings - ); - - } - - /** - * Store a progress operation so that its status can be polled via progressGet() - * - * @param IProgress $progress progress operation instance - * @return string progress operation handle / id - */ - private function _util_progressStore(&$progress) { - - /* Store vbox and session handle */ - $this->persistentRequest['vboxHandle'] = $this->vbox->handle; - if($this->session->handle) { - $this->persistentRequest['sessionHandle'] = $this->session->handle; - } - - /* Store server if multiple servers are configured */ - if(@is_array($this->settings->servers) && count($this->settings->servers) > 1) - $this->persistentRequest['vboxServer'] = $this->settings->name; - - return $progress->handle; - } - - /** - * Get VirtualBox system properties - * @param array $args array of arguments. See function body for details. - * @return array of system properties - */ - public function remote_vboxSystemPropertiesGet($args) { - - // Connect to vboxwebsrv - $this->connect(); - - $mediumFormats = array(); - - // Shorthand - $sp = $this->vbox->systemProperties; - - // capabilities - $mfCap = new MediumFormatCapabilities(null,''); - foreach($sp->mediumFormats as $mf) { /* @var $mf IMediumFormat */ - $exts = $mf->describeFileExtensions(); - $dtypes = array(); - foreach($exts[1] as $t) $dtypes[] = (string)$t; - $caps = array(); - foreach($mf->capabilities as $c) { - $caps[] = (string)$c; - } - - $mediumFormats[] = array('id'=>$mf->id,'name'=>$mf->name,'extensions'=>array_map('strtolower',$exts[0]),'deviceTypes'=>$dtypes,'capabilities'=>$caps); - - } - - $scs = array(); - - $scts = array('LsiLogic', - 'BusLogic', - 'IntelAhci', - 'PIIX4', - 'ICH6', - 'I82078', - 'USB'); - - foreach($scts as $t) { - $scs[$t] = $sp->getStorageControllerHotplugCapable($t); - } - - return array( - 'minGuestRAM' => (string)$sp->minGuestRAM, - 'maxGuestRAM' => (string)$sp->maxGuestRAM, - 'minGuestVRAM' => (string)$sp->minGuestVRAM, - 'maxGuestVRAM' => (string)$sp->maxGuestVRAM, - 'minGuestCPUCount' => (string)$sp->minGuestCPUCount, - 'maxGuestCPUCount' => (string)$sp->maxGuestCPUCount, - 'autostartDatabasePath' => (@$this->settings->vboxAutostartConfig ? $sp->autostartDatabasePath : ''), - 'infoVDSize' => (string)$sp->infoVDSize, - 'networkAdapterCount' => 8, // static value for now - 'maxBootPosition' => (string)$sp->maxBootPosition, - 'defaultMachineFolder' => (string)$sp->defaultMachineFolder, - 'defaultHardDiskFormat' => (string)$sp->defaultHardDiskFormat, - 'homeFolder' => $this->vbox->homeFolder, - 'VRDEAuthLibrary' => (string)$sp->VRDEAuthLibrary, - 'defaultAudioDriver' => (string)$sp->defaultAudioDriver, - 'defaultVRDEExtPack' => $sp->defaultVRDEExtPack, - 'serialPortCount' => $sp->serialPortCount, - 'parallelPortCount' => $sp->parallelPortCount, - 'mediumFormats' => $mediumFormats, - 'scs' => $scs - ); - } - - /** - * Get a list of VM log file names - * - * @param array $args array of arguments. See function body for details. - * @return array of log file names - */ - public function remote_machineGetLogFilesList($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - - $logs = array(); - - try { $i = 0; while($l = $m->queryLogFilename($i++)) $logs[] = $l; - } catch (Exception $null) {} - - $lf = $m->logFolder; - $m->releaseRemote(); - - return array('path' => $lf, 'logs' => $logs); - - } - - /** - * Get VM log file contents - * - * @param array $args array of arguments. See function body for details. - * @return string log file contents - */ - public function remote_machineGetLogFile($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $m IMachine */ - $m = $this->vbox->findMachine($args['vm']); - $log = ''; - try { - // Read in 8k chunks - while($l = $m->readLog(intval($args['log']),strlen($log),8192)) { - if(!count($l) || !strlen($l[0])) break; - $log .= base64_decode($l[0]); - } - } catch (Exception $null) {} - $m->releaseRemote(); - - // Attempt to UTF-8 encode string or json_encode may choke - // and return an empty string - if(function_exists('utf8_encode')) - return utf8_encode($log); - - return $log; - } - - /** - * Get a list of USB devices attached to a given VM - * - * @param array $args array of arguments. See function body for details. - * @return array list of devices - */ - public function remote_consoleGetUSBDevices($args) { - - // Connect to vboxwebsrv - $this->connect(); - - /* @var $machine IMachine */ - $machine = $this->vbox->findMachine($args['vm']); - $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); - $machine->lockMachine($this->session->handle, 'Shared'); - - $response = array(); - foreach($this->session->console->USBDevices as $u) { /* @var $u IUSBDevice */ - $response[$u->id] = array('id'=>$u->id,'remote'=>$u->remote); - $u->releaseRemote(); - } - - $this->session->unlockMachine(); - unset($this->session); - $machine->releaseRemote(); - - return $response; - - } - - /** - * Return a string representing the VirtualBox ExtraData key - * for this port + device + bus type IgnoreFlush setting - * - * @param integer port medium attachment port number - * @param integer device medium attachment device number - * @param string cType controller type - * @return string extra data setting string - */ - private function _util_getIgnoreFlushKey($port,$device,$cType) { - - $cTypes = array( - 'piix3' => 'piix3ide', - 'piix4' => 'piix3ide', - 'ich6' => 'piix3ide', - 'intelahci' => 'ahci', - 'lsilogic' => 'lsilogicscsi', - 'buslogic' => 'buslogic', - 'lsilogicsas' => 'lsilogicsas' - ); - - if(!isset($cTypes[strtolower($cType)])) { - $this->errors[] = new Exception('Invalid controller type: ' . $cType); - return ''; - } - - $lun = ((intval($device)*2) + intval($port)); - - return str_replace('[b]',$lun,str_replace('[a]',$cTypes[strtolower($cType)],"VBoxInternal/Devices/[a]/0/LUN#[b]/Config/IgnoreFlush")); - - } - - /** - * Get a newly generated MAC address from VirtualBox - * - * @param array $args array of arguments. See function body for details - * @return string mac address - */ - public function remote_vboxGenerateMacAddress($args) { - - // Connect to vboxwebsrv - $this->connect(); - - return $this->vbox->host->generateMACAddress(); - - } - - /** - * Set group definition - * - * @param array $args array of arguments. See function body for details - * @return boolean true on success - */ - public function remote_vboxGroupDefinitionsSet($args) { - - $this->connect(); - - // Save a list of valid paths - $validGroupPaths = array(); - - $groupKey = ($this->settings->phpVboxGroups ? vboxconnector::phpVboxGroupKey : 'GUI/GroupDefinitions'); - - // Write out each group definition - foreach($args['groupDefinitions'] as $groupDef) { - - $this->vbox->setExtraData($groupKey.$groupDef['path'], $groupDef['order']); - $validGroupPaths[] = $groupDef['path']; - - } - - // Remove any unused group definitions - $keys = $this->vbox->getExtraDataKeys(); - foreach($keys as $k) { - if(strpos($k,$groupKey) !== 0) continue; - if(array_search(substr($k,strlen($groupKey)), $validGroupPaths) === false) - $this->vbox->setExtraData($k,''); - } - - return true; - } - - /** - * Return group definitions - * - * @param array $args array of arguments. See function body for details - * @return array group definitions - */ - public function remote_vboxGroupDefinitionsGet($args) { - - $this->connect(); - - $response = array(); - - $keys = $this->vbox->getExtraDataKeys(); - - $groupKey = ($this->settings->phpVboxGroups ? vboxconnector::phpVboxGroupKey : 'GUI/GroupDefinitions'); - foreach($keys as $grouppath) { - - if(strpos($grouppath,$groupKey) !== 0) continue; - - $subgroups = array(); - $machines = array(); - - $response[] = array( - 'name' => substr($grouppath,strrpos($grouppath,'/')+1), - 'path' => substr($grouppath,strlen($groupKey)), - 'order' => $this->vbox->getExtraData($grouppath) - ); - } - - return $response; - - } - - /** - * Format a time span in seconds into days / hours / minutes / seconds - * @param integer $t number of seconds - * @return array containing number of days / hours / minutes / seconds - */ - private function _util_splitTime($t) { - - $spans = array( - 'days' => 86400, - 'hours' => 3600, - 'minutes' => 60, - 'seconds' => 1); - - $time = array(); - - foreach($spans as $k => $v) { - if(!(floor($t / $v) > 0)) continue; - $time[$k] = floor($t / $v); - $t -= floor($time[$k] * $v); - } - - return $time; - } - - - /** - * Return VBOX result code text for result code - * - * @param integer result code number - * @return string result code text - */ - private function _util_resultCodeText($c) { - - $rcodes = new ReflectionClass('VirtualBox_COM_result_codes'); - $rcodes = array_flip($rcodes->getConstants()); - $rcodes['0x80004005'] = 'NS_ERROR_FAILURE'; - - return @$rcodes['0x'.strtoupper(dechex($c))] . ' (0x'.strtoupper(dechex($c)).')'; - } -} - +settings = new phpVBoxConfigClass(); + + // Are default settings being used? + if(@$this->settings->warnDefault) { + throw new Exception("No configuration found. Rename the file config.php-example in phpVirtualBox's folder to ". + "config.php and edit as needed.

For more detailed instructions, please see the installation wiki on ". + "phpVirtualBox's web site.

". + "https://github.com/phpvirtualbox/phpvirtualbox/wiki.

", + (vboxconnector::PHPVB_ERRNO_FATAL + vboxconnector::PHPVB_ERRNO_HTML)); + } + + // Check for SoapClient class + if(!class_exists('SoapClient')) { + throw new Exception('PHP does not have the SOAP extension enabled.',vboxconnector::PHPVB_ERRNO_FATAL); + } + + // use authentication master server? + if(@$useAuthMaster) { + $this->settings->setServer($this->settings->getServerAuthMaster()); + } + + } + + /** + * Connect to vboxwebsrv + * @see SoapClient + * @see phpVBoxConfigClass + * @return boolean true on success or if already connected + */ + public function connect() { + + // Already connected? + if(@$this->connected) + return true; + + // Valid session? + if(!@$this->skipSessionCheck && !$_SESSION['valid']) { + throw new Exception(trans('Not logged in.','UIUsers'),vboxconnector::PHPVB_ERRNO_FATAL); + } + + // Persistent server? + if(@$this->persistentRequest['vboxServer']) { + $this->settings->setServer($this->persistentRequest['vboxServer']); + } + + //Connect to webservice + $pvbxver = substr(@constant('PHPVBOX_VER'),0,(strpos(@constant('PHPVBOX_VER'),'-'))); + $this->client = new SoapClient(dirname(__FILE__)."/vboxwebService-".$pvbxver.".wsdl", + array( + 'features' => (SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS), + 'cache_wsdl' => WSDL_CACHE_BOTH, + 'trace' => (@$this->settings->debugSoap), + 'connection_timeout' => (@$this->settings->connectionTimeout ? $this->settings->connectionTimeout : 20), + 'location' => @$this->settings->location + )); + + + // Persistent handles? + if(@$this->persistentRequest['vboxHandle']) { + + try { + + // Check for existing sessioin + $this->websessionManager = new IWebsessionManager($this->client); + $this->vbox = new IVirtualBox($this->client, $this->persistentRequest['vboxHandle']); + + // force valid vbox check + $ev = $this->vbox->eventSource; + + if($this->vbox->handle) + return ($this->connected = true); + + + } catch (Exception $e) { + // nothing. Fall through to new login. + + } + } + + /* Try / catch / throw here hides login credentials from exception if one is thrown */ + try { + $this->websessionManager = new IWebsessionManager($this->client); + $this->vbox = $this->websessionManager->logon($this->settings->username,$this->settings->password); + + + } catch (Exception $e) { + + if(!($msg = $e->getMessage())) + $msg = 'Error logging in to vboxwebsrv.'; + else + $msg .= " ({$this->settings->location})"; + + throw new Exception($msg,vboxconnector::PHPVB_ERRNO_CONNECT); + } + + + // Error logging in + if(!$this->vbox->handle) { + throw new Exception('Error logging in or connecting to vboxwebsrv.',vboxconnector::PHPVB_ERRNO_CONNECT); + } + + // Hold handle + if(array_key_exists('vboxHandle',$this->persistentRequest)) { + $this->persistentRequest['vboxHandle'] = $this->vbox->handle; + } + + return ($this->connected = true); + + } + + + /** + * Get VirtualBox version + * @return array version information + */ + public function getVersion() { + + if(!@$this->version) { + + $this->connect(); + + $this->version = explode('.',$this->vbox->version); + $this->version = array( + 'ose' => (stripos($this->version[2],'ose') > 0), + 'string' => join('.',$this->version), + 'major' => intval(array_shift($this->version)), + 'minor' => intval(array_shift($this->version)), + 'sub' => intval(array_shift($this->version)), + 'revision' => (string)$this->vbox->revision, + 'settingsFilePath' => $this->vbox->settingsFilePath + ); + } + + return $this->version; + + } + + /** + * + * Log out of vboxwebsrv + */ + public function __destruct() { + + // Do not logout if there are persistent handles + if($this->connected && @$this->vbox->handle && !array_key_exists('vboxHandle' ,$this->persistentRequest)) { + + // Failsafe to close session + if(@$this->session && @(string)$this->session->state == 'Locked') { + try {$this->session->unlockMachine();} + catch (Exception $e) { } + } + + // Logoff + if($this->vbox->handle) + $this->websessionManager->logoff($this->vbox->handle); + + } + + unset($this->client); + } + + /** + * Add a machine event listener to the listener list + * + * @param string $vm id of virtual machine to subscribe to + */ + private function _machineSubscribeEvents($vm) { + + // Check for existing listener + if($this->persistentRequest['vboxEventListeners'][$vm]) { + + try { + + $listener = new IEventListener($this->client, $this->persistentRequest['vboxEventListeners'][$vm]['listener']); + $source = new IEventSource($this->client, $this->persistentRequest['vboxEventListeners'][$vm]['source']); + + $source->unregisterListener($listener); + + $listener->releaseRemote(); + $source->releaseRemote(); + + } catch (Exception $e) { + // Pass + } + } + + try { + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($vm); + + /* Ignore if not running */ + $state = (string)$machine->state; + if($state != 'Running' && $state != 'Paused') { + $machine->releaseRemote(); + return; + } + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + + // Create and register event listener + $listener = $this->session->console->eventSource->createListener(); + $this->session->console->eventSource->registerListener($listener,array('Any'), false); + + // Add to event listener list + $this->persistentRequest['vboxEventListeners'][$vm] = array( + 'listener' => $listener->handle, + 'source' => $this->session->console->eventSource->handle); + + + $machine->releaseRemote(); + + } catch (Exception $e) { + // pass + } + + if($this->session) { + try { + $this->session->unlockMachine(); + } catch (Exception $e) { + // pass + } + unset($this->session); + } + + // Machine events before vbox events. This is in place to handle the "DrvVD_DEKMISSING" + // IRuntimeErrorEvent which tells us that a medium attached to a VM requires a password. + // This event needs to be presented to the client before the VM state change. This way + // the client can track whether or not the runtime error occurred in response to its + // startup request because the machine's RunTimeError will occur before vbox's + // StateChange. + uksort($this->persistentRequest['vboxEventListeners'], function($a, $b){ + if($a == 'vbox') return 1; + if($b == 'vbox') return -1; + return 0; + }); + + } + + /** + * Get pending vbox and machine events + * + * @param array $args array of arguments. See function body for details. + * @return array list of events + */ + public function remote_getEvents($args) { + + $this->connect(); + + $eventlist = array(); + + // This should be an array + if(!is_array($this->persistentRequest['vboxEventListeners'])) { + + $this->persistentRequest['vboxEventListeners'] = array(); + $listenerWait = 1000; + + } else { + + // The amount of time we will wait for events is determined by + // the amount of listeners - at least half a second + $listenerWait = max(100,intval(500/count($this->persistentRequest['vboxEventListeners']))); + } + + // Get events from each configured event listener + foreach($this->persistentRequest['vboxEventListeners'] as $k => $el) { + + try { + + $listener = new IEventListener($this->client, $el['listener']); + $source = new IEventSource($this->client, $el['source']); + + $event = $source->getEvent($listener,$listenerWait); + + try { + + while($event->handle) { + + $eventData = $this->_getEventData($event, $k); + $source->eventProcessed($listener, $event); + $event->releaseRemote(); + + + // Only keep the last event of one particular type + //$eventlist[$eventData['dedupId']] = $eventData; + + if($eventData) + $eventlist[$eventData['dedupId']] = $eventData; + + $event = $source->getEvent($listener,100); + } + + } catch (Exception $e) { + + $this->errors[] = $e; + + } + + } catch (Exception $e) { + + // Machine powered off or client has stale MO reference + if($listener) + try { $listener->releaseRemote(); } catch (Exception $e) { + /// pass + } + if($source) + try { $source->releaseRemote(); } catch (Exception $e) { + // pass + } + + // Remove listener from list + unset($this->persistentRequest['vboxEventListeners'][$k]); + + } + + } + + // Enrich events + foreach($eventlist as $k=>$event) { + + switch($event['eventType']) { + + /* Network adapter changed */ + case 'OnNetworkAdapterChanged': + + try { + + $machine = $this->vbox->findMachine($event['sourceId']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Session locked? + if((string)$this->session->state != 'Unlocked') + $this->session->unlockMachine(); + + $machine->lockMachine($this->session->handle, 'Shared'); + + try { + + list($eventlist[$k]['enrichmentData']) = $this->_machineGetNetworkAdapters($this->session->machine, $event['networkAdapterSlot']); + + } catch (Exception $e) { + // Just unlock the machine + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + + $this->session->unlockMachine(); + $machine->releaseRemote(); + + } catch (Exception $e) { + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + break; + + + /* VRDE server changed */ + case 'OnVRDEServerChanged': + try { + + $machine = $this->vbox->findMachine($event['sourceId']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Session locked? + if((string)$this->session->state != 'Unlocked') + $this->session->unlockMachine(); + + $machine->lockMachine($this->session->handle, 'Shared'); + $vrde = $this->session->machine->VRDEServer; + + try { + $eventlist[$k]['enrichmentData'] = (!$vrde ? null : array( + 'enabled' => $vrde->enabled, + 'ports' => $vrde->getVRDEProperty('TCP/Ports'), + 'netAddress' => $vrde->getVRDEProperty('TCP/Address'), + 'SecurityMethod' => $vrde->getVRDEProperty('Security/Method'), + 'VNCPassword' => $vrde->getVRDEProperty('VNCPassword'), + 'authType' => (string)$vrde->authType, + 'authTimeout' => $vrde->authTimeout + ) + ); + } catch (Exception $e) { + // Just unlock the machine + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + + $this->session->unlockMachine(); + $machine->releaseRemote(); + + } catch (Exception $e) { + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + break; + + + + /* VRDE server info changed. Just need port and enabled/disabled */ + case 'OnVRDEServerInfoChanged': + try { + + $machine = $this->vbox->findMachine($event['sourceId']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Session locked? + if((string)$this->session->state != 'Unlocked') + $this->session->unlockMachine(); + + $machine->lockMachine($this->session->handle, 'Shared'); + + try { + $eventlist[$k]['enrichmentData'] = array( + 'port' => $this->session->console->VRDEServerInfo->port, + 'enabled' => $this->session->machine->VRDEServer->enabled + ); + } catch (Exception $e) { + // Just unlock the machine + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + + $this->session->unlockMachine(); + $machine->releaseRemote(); + + } catch (Exception $e) { + $eventlist[$k]['enrichmentData'] = array($e->getMessage()); + } + break; + + /* Machine registered */ + case 'OnMachineRegistered': + + if(!$event['registered']) break; + + // Get same data that is in VM list data + $vmdata = $this->remote_vboxGetMachines(array('vm'=>$event['machineId'])); + $eventlist[$k]['enrichmentData'] = $vmdata[0]; + unset($vmdata); + + break; + + /* enrich with basic machine data */ + case 'OnMachineDataChanged': + + try { + + $machine = $this->vbox->findMachine($event['machineId']); + + if($this->settings->phpVboxGroups) { + $groups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); + if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); + } else { + $groups = $machine->groups; + } + + usort($groups, 'strnatcasecmp'); + + $eventlist[$k]['enrichmentData'] = array( + 'id' => $event['machineId'], + 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, + 'OSTypeId' => $machine->getOSTypeId(), + 'owner' => (@$this->settings->enforceVMOwnership ? $machine->getExtraData("phpvb/sso/owner") : ''), + 'groups' => $groups + ); + $machine->releaseRemote(); + + } catch (Exception $e) { + // pass + } + break; + + /* Update lastStateChange on OnMachineStateChange events */ + case 'OnMachineStateChanged': + try { + + $machine = $this->vbox->findMachine($event['machineId']); + $eventlist[$k]['enrichmentData'] = array( + 'lastStateChange' => (string)($machine->lastStateChange/1000), + 'currentStateModified' => $machine->currentStateModified + ); + $machine->releaseRemote(); + + } catch (Exception $e) { + $eventlist[$k]['enrichmentData'] = array('lastStateChange' => 0); + } + break; + + /* enrich with snapshot name and new snapshot count*/ + case 'OnSnapshotTaken': + case 'OnSnapshotDeleted': + case 'OnSnapshotRestored': + case 'OnSnapshotChanged': + + try { + $machine = $this->vbox->findMachine($event['machineId']); + $eventlist[$k]['enrichmentData'] = array( + 'currentSnapshotName' => ($machine->currentSnapshot->handle ? $machine->currentSnapshot->name : ''), + 'snapshotCount' => $machine->snapshotCount, + 'currentStateModified' => $machine->currentStateModified + ); + $machine->releaseRemote(); + + } catch (Exception $e) { + // pass + $this->errors[] = $e; + } + break; + + } + + } + + return array_values($eventlist); + + } + + /** + * Subscribe to a single machine's events + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_machineSubscribeEvents($args) { + + $this->connect(); + foreach($args['vms'] as $vm) + $this->_machineSubscribeEvents($vm); + + return true; + } + + /** + * Unsubscribe from vbox and machine events + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_unsubscribeEvents($args) { + + $this->connect(); + + if(!is_array($this->persistentRequest['vboxEventListeners'])) + $this->persistentRequest['vboxEventListeners'] = array(); + + // Get events from each configured event listener + foreach($this->persistentRequest['vboxEventListeners'] as $k => $el) { + + try { + + $listener = new IEventListener($this->client, $el['listener']); + $source = new IEventSource($this->client, $el['source']); + + $source->unregisterListener($listener); + + $source->releaseRemote(); + $listener->releaseRemote(); + + + + } catch (Exception $e) { + $this->errors[] = $e; + } + + $this->persistentRequest['vboxEventListeners'][$k] = null; + + } + + $this->websessionManager->logoff($this->vbox->handle); + unset($this->vbox); + + return true; + } + + /** + * Subscribe to vbox and machine events + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_subscribeEvents($args) { + + $this->connect(); + + // Check for existing listener + if($this->persistentRequest['vboxEventListeners']['vbox']) { + + try { + + $listener = new IEventListener($this->client, $this->persistentRequest['vboxEventListeners']['vbox']['listener']); + $source = new IEventSource($this->client, $this->persistentRequest['vboxEventListeners']['vbox']['source']); + + $source->unregisterListener($listener); + + $listener->releaseRemote(); + $source->releaseRemote(); + + } catch (Exception $e) { + // Pass + } + } + + // Create and register event listener + $listener = $this->vbox->eventSource->createListener(); + $this->vbox->eventSource->registerListener($listener,array('MachineEvent', 'SnapshotEvent', 'OnMediumRegistered', 'OnExtraDataChanged', 'OnSnapshotRestored'), false); + + // Add to event listener list + $this->persistentRequest['vboxEventListeners']['vbox'] = array( + 'listener' => $listener->handle, + 'source' => $this->vbox->eventSource->handle); + + // Subscribe to each machine in list + foreach($args['vms'] as $vm) { + $this->_machineSubscribeEvents($vm); + } + + $this->persistentRequest['vboxHandle'] = $this->vbox->handle; + + return true; + + } + + /** + * Return relevant event data for the event. + * + * @param IEvent $event + * @param String $listenerKey Key of event listener - 'vbox' or + * machine id + * @return array associative array of event attributes + */ + private function _getEventData($event, $listenerKey) { + + $data = array('eventType'=>(string)$event->type,'sourceId'=>$listenerKey); + + // Convert to parent class + $parentClass = 'I'.substr($data['eventType'],2).'Event'; + $eventDataObject = new $parentClass($this->client, $event->handle); + + // Dedup ID is at least listener key ('vbox' or machine id) and event type + $data['dedupId'] = $listenerKey.'-'.$data['eventType']; + + switch($data['eventType']) { + + case 'OnMachineStateChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['state'] = (string)$eventDataObject->state; + $data['dedupId'] .= '-'. $data['machineId']; + break; + + case 'OnMachineDataChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['dedupId'] .= '-'. $data['machineId']; + break; + + case 'OnExtraDataCanChange': + case 'OnExtraDataChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['key'] = $eventDataObject->key; + $data['value'] = $eventDataObject->value; + $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['key']; + break; + + case 'OnMediumRegistered': + $data['machineId'] = $data['sourceId']; + $data['mediumId'] = $eventDataObject->mediumId; + $data['registered'] = $eventDataObject->registered; + $data['dedupId'] .= '-'. $data['mediumId']; + break; + + case 'OnMachineRegistered': + $data['machineId'] = $eventDataObject->machineId; + $data['registered'] = $eventDataObject->registered; + $data['dedupId'] .= '-'. $data['machineId']; + break; + + case 'OnSessionStateChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['state'] = (string)$eventDataObject->state; + $data['dedupId'] .= '-'. $data['machineId']; + break; + + /* Snapshot events */ + case 'OnSnapshotTaken': + case 'OnSnapshotDeleted': + case 'OnSnapshotRestored': + case 'OnSnapshotChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['snapshotId'] = $eventDataObject->snapshotId; + $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['snapshotId']; + break; + + case 'OnGuestPropertyChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['name'] = $eventDataObject->name; + $data['value'] = $eventDataObject->value; + $data['flags'] = $eventDataObject->flags; + $data['dedupId'] .= '-'. $data['machineId'] .'-' . $data['name']; + break; + + case 'OnCPUChanged': + $data['machineId'] = $data['sourceId']; + $data['cpu'] = $eventDataObject->cpu; + $data['add'] = $eventDataObject->add; + $data['dedupId'] .= '-' . $data['cpu']; + break; + + /* Same end-result as network adapter changed */ + case 'OnNATRedirect': + $data['machineId'] = $data['sourceId']; + $data['eventType'] = 'OnNetworkAdapterChanged'; + $data['networkAdapterSlot'] = $eventDataObject->slot; + $data['dedupId'] = $listenerKey .'-OnNetworkAdapterChanged-'. $data['networkAdapterSlot']; + break; + + case 'OnNetworkAdapterChanged': + $data['machineId'] = $data['sourceId']; + $data['networkAdapterSlot'] = $eventDataObject->networkAdapter->slot; + $data['dedupId'] .= '-'. $data['networkAdapterSlot']; + break; + + /* Storage controller of VM changed */ + case 'OnStorageControllerChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['dedupId'] .= '-'. $data['machineId']; + break; + + /* Medium attachment changed */ + case 'OnMediumChanged': + $data['machineId'] = $data['sourceId']; + $ma = $eventDataObject->mediumAttachment; + $data['controller'] = $ma->controller; + $data['port'] = $ma->port; + $data['device'] = $ma->device; + try { + $data['medium'] = $ma->medium->id; + } catch (Exception $e) { + $data['medium'] = ''; + } + $data['dedupId'] .= '-'. $data['controller'] .'-'. $data['port'] .'-'.$data['device']; + break; + + /* Generic machine changes that should query IMachine */ + case 'OnVRDEServerChanged': + $data['machineId'] = $data['sourceId']; + break; + case 'OnUSBControllerChanged': + $data['machineId'] = $data['sourceId']; + break; + case 'OnSharedFolderChanged': + $data['machineId'] = $data['sourceId']; + $data['scope'] = (string)$eventDataObject->scope; + break; + case 'OnVRDEServerInfoChanged': + $data['machineId'] = $data['sourceId']; + break; + case 'OnCPUExecutionCapChanged': + $data['machineId'] = $data['sourceId']; + $data['executionCap'] = $eventDataObject->executionCap; + break; + + + /* Notification when a USB device is attached to or detached from the virtual USB controller */ + case 'OnUSBDeviceStateChanged': + $data['machineId'] = $data['sourceId']; + $data['deviceId'] = $eventDataObject->device->id; + $data['attached'] = $eventDataObject->attached; + $data['dedupId'] .= '-'. $data['deviceId']; + break; + + /* Machine execution error */ + case 'OnRuntimeError': + $data['id'] = (string)$eventDataObject->id; + $data['machineId'] = $data['sourceId']; + $data['message'] = $eventDataObject->message; + $data['fatal'] = $eventDataObject->fatal; + $data['dedupId'] .= '-' . $data['id']; + break; + + /* Notification when a storage device is attached or removed. */ + case 'OnStorageDeviceChanged': + $data['machineId'] = $eventDataObject->machineId; + $data['storageDevice'] = $eventDataObject->storageDevice; + $data['removed'] = $eventDataObject->removed; + break; + + /* On nat network delete / create */ + case 'OnNATNetworkCreationDeletion': + $data['creationEvent'] = $eventDataObject->creationEvent; + /* NAT network change */ + case 'OnNATNetworkSetting': + $data['networkName'] = $eventDataObject->networkName; + $data['dedupId'] .= '-' . $data['networkName']; + break; + + default: + return null; + } + + + return $data; + + } + + + /** + * Call overloader. + * Returns result of method call. Here is where python's decorators would come in handy. + * + * @param string $fn method to call + * @param array $args arguments for method + * @throws Exception + * @return array + */ + function __call($fn,$args) { + + // Valid session? + global $_SESSION; + + if(!@$this->skipSessionCheck && !$_SESSION['valid']) { + throw new Exception(trans('Not logged in.','UIUsers'),vboxconnector::PHPVB_ERRNO_FATAL); + } + + $req = &$args[0]; + + + # Access to undefined methods prefixed with remote_ + if(method_exists($this,'remote_'.$fn)) { + + $args[1][0]['data']['responseData'] = $this->{'remote_'.$fn}($req); + $args[1][0]['data']['success'] = ($args[1][0]['data']['responseData'] !== false); + $args[1][0]['data']['key'] = $this->settings->key; + + // Not found + } else { + + throw new Exception('Undefined method: ' . $fn ." - Clear your web browser's cache.",vboxconnector::PHPVB_ERRNO_FATAL); + + } + + return true; + } + + /** + * Enumerate guest properties of a vm + * + * @param array $args array of arguments. See function body for details. + * @return array of guest properties + */ + public function remote_machineEnumerateGuestProperties($args) { + + $this->connect(); + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + + $props = $m->enumerateGuestProperties($args['pattern']); + $m->releaseRemote(); + + return $props; + + } + + /** + * Set extra data of a vm + * + * @param array $args array of arguments. See function body for details. + * @return array of extra data + */ + public function remote_machineSetExtraData($args) { + + $this->connect(); + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + + $m->setExtraData($args['key'],$args['value']); + $m->releaseRemote(); + + return true; + + } + + /** + * Enumerate extra data of a vm + * + * @param array $args array of arguments. See function body for details. + * @return array of extra data + */ + public function remote_machineEnumerateExtraData($args) { + + $this->connect(); + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + + $props = array(); + + $keys = $m->getExtraDataKeys(); + + usort($keys,'strnatcasecmp'); + + foreach($keys as $k) { + $props[$k] = $m->getExtraData($k); + } + $m->releaseRemote(); + + return $props; + + } + + /** + * Uses VirtualBox's vfsexplorer to check if a file exists + * + * @param array $args array of arguments. See function body for details. + * @return boolean true if file exists + */ + public function remote_fileExists($args) { + + /* No need to go through vfs explorer if local browser is true */ + if($this->settings->browserLocal) { + return file_exists($args['file']); + } + + $this->connect(); + + $dsep = $this->getDsep(); + + $path = str_replace($dsep.$dsep,$dsep,$args['file']); + $dir = dirname($path); + $file = basename($path); + + if(substr($dir,-1) != $dsep) $dir .= $dsep; + + /* @var $appl IAppliance */ + $appl = $this->vbox->createAppliance(); + + + /* @var $vfs IVFSExplorer */ + $vfs = $appl->createVFSExplorer('file://'.$dir); + + /* @var $progress IProgress */ + $progress = $vfs->update(); + $progress->waitForCompletion(-1); + $progress->releaseRemote(); + + $exists = $vfs->exists(array($file)); + + $vfs->releaseRemote(); + $appl->releaseRemote(); + + + return count($exists); + + } + + /** + * Install guest additions + * + * @param array $args array of arguments. See function body for details. + * @return array result data + */ + public function remote_consoleGuestAdditionsInstall($args) { + + $this->connect(); + + $results = array('errored' => 0); + + /* @var $gem IMedium|null */ + $gem = null; + foreach($this->vbox->DVDImages as $m) { /* @var $m IMedium */ + if(strtolower($m->name) == 'vboxguestadditions.iso') { + $gem = $m; + break; + } + $m->releaseRemote(); + } + + // Not in media registry. Try to register it. + if(!$gem) { + $checks = array( + 'linux' => '/usr/share/virtualbox/VBoxGuestAdditions.iso', + 'osx' => '/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso', + 'sunos' => '/opt/VirtualBox/additions/VBoxGuestAdditions.iso', + 'windows' => 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso', + 'windowsx86' => 'C:\Program Files (x86)\Oracle\VirtualBox\VBoxGuestAdditions.iso' // Does this exist? + ); + $hostos = $this->vbox->host->operatingSystem; + if(stripos($hostos,'windows') !== false) { + $checks = array($checks['windows'],$checks['windowsx86']); + } elseif(stripos($hostos,'solaris') !== false || stripos($hostos,'sunos') !== false) { + $checks = array($checks['sunos']); + // not sure of uname returned on Mac. This should cover all of them + } elseif(stripos($hostos,'mac') !== false || stripos($hostos,'apple') !== false || stripos($hostos,'osx') !== false || stripos($hostos,'os x') !== false || stripos($hostos,'darwin') !== false) { + $checks = array($checks['osx']); + } elseif(stripos($hostos,'linux') !== false) { + $checks = array($checks['linux']); + } + + // Check for config setting + if(@$this->settings->vboxGuestAdditionsISO) + $checks = array($this->settings->vboxGuestAdditionsISO); + + // Unknown os and no config setting leaves all checks in place. + // Try to register medium. + foreach($checks as $iso) { + try { + $gem = $this->vbox->openMedium($iso,'DVD','ReadOnly',false); + break; + } catch (Exception $e) { + // Ignore + } + } + $results['sources'] = $checks; + } + + // No guest additions found + if(!$gem) { + $results['result'] = 'noadditions'; + return $results; + } + + // create session and lock machine + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + + // Try update from guest if it is supported + if(!@$args['mount_only']) { + try { + + /* @var $progress IProgress */ + $progress = $this->session->console->guest->updateGuestAdditions($gem->location,array(),'WaitForUpdateStartOnly'); + + // No error info. Save progress. + $gem->releaseRemote(); + $this->_util_progressStore($progress); + $results['progress'] = $progress->handle; + return $results; + + } catch (Exception $e) { + + if(!empty($results['progress'])) + unset($results['progress']); + + // Try to mount medium + $results['errored'] = 1; + } + } + + // updateGuestAdditions is not supported. Just try to mount image. + $results['result'] = 'nocdrom'; + $mounted = false; + foreach($machine->storageControllers as $sc) { /* @var $sc IStorageController */ + foreach($machine->getMediumAttachmentsOfController($sc->name) as $ma) { /* @var $ma IMediumAttachment */ + if((string)$ma->type == 'DVD') { + $this->session->machine->mountMedium($sc->name, $ma->port, $ma->device, $gem->handle, true); + $results['result'] = 'mounted'; + $mounted = true; + break; + } + } + $sc->releaseRemote(); + if($mounted) break; + } + + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + $gem->releaseRemote(); + + return $results; + } + + /** + * Attach USB device identified by $args['id'] to a running VM + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_consoleUSBDeviceAttach($args) { + + $this->connect(); + + // create session and lock machine + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + + $this->session->console->attachUSBDevice($args['id']); + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return true; + } + + /** + * Detach USB device identified by $args['id'] from a running VM + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_consoleUSBDeviceDetach($args) { + + $this->connect(); + + // create session and lock machine + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + + $this->session->console->detachUSBDevice($args['id']); + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return true; + } + + /** + * Save vms' groups if they have changed + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_machinesSaveGroups($args) { + + $this->connect(); + + $response = array('saved'=>array(),'errored'=>false); + + foreach($args['vms'] as $vm) { + + // create session and lock machine + /* @var $machine IMachine */ + try { + $machine = $this->vbox->findMachine($vm['id']); + } catch (Exception $null) { + continue; + } + + $newGroups = $vm['groups']; + + if($this->settings->phpVboxGroups) { + + $oldGroups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); + if(!is_array($oldGroups)) $oldGroups = array("/"); + if(!count(array_diff($oldGroups,$newGroups)) && !count(array_diff($newGroups,$oldGroups))) { + continue; + } + + } else { + + $oldGroups = $machine->groups; + + if((string)$machine->sessionState != 'Unlocked' || (!count(array_diff($oldGroups,$newGroups)) && !count(array_diff($newGroups,$oldGroups)))) { + $machine->releaseRemote(); + continue; + } + + } + + try { + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + $machine->lockMachine($this->session->handle, 'Shared'); + + usort($newGroups,'strnatcasecmp'); + + if($this->settings->phpVboxGroups) { + $this->session->machine->setExtraData(vboxconnector::phpVboxGroupKey, implode(',', $newGroups)); + } else { + $this->session->machine->groups = $newGroups; + } + + $this->session->machine->saveSettings(); + $this->session->unlockMachine(); + + unset($this->session); + $machine->releaseRemote(); + + } catch (Exception $e) { + + $this->errors[] = $e; + $response['errored'] = true; + + try { + $this->session->unlockMachine(); + unset($this->session); + } catch (Exception $e) { + // pass + } + + continue; + + } + + // Add to saved list + $response['saved'][] = $vm['id']; + + } + + + return $response; + + + } + + + /** + * Clone a virtual machine + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_machineClone($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $src IMachine */ + $src = $this->vbox->findMachine($args['src']); + + if($args['snapshot'] && $args['snapshot']['id']) { + /* @var $nsrc ISnapshot */ + $nsrc = $src->findSnapshot($args['snapshot']['id']); + $src->releaseRemote(); + $src = null; + $src = $nsrc->machine; + } + /* @var $m IMachine */ + $m = $this->vbox->createMachine( + // settingsFile + $this->vbox->composeMachineFilename($args['name'],null,null,null), + // name + $args['name'], + // platform + strval($src->platform->architecture), + // Groups + null, + // osTypeId + null, + // flags + null, + // cipher + null, + // passwordId + null, + // password + null + ); + + $sfpath = $m->settingsFilePath; + + /* @var $cm CloneMode */ + $cm = new CloneMode(null, $args['vmState']); + $state = $cm->ValueMap[$args['vmState']]; + + + $opts = array(); + if(!$args['reinitNetwork']) $opts[] = 'KeepAllMACs'; + if($args['link']) $opts[] = 'Link'; + + /* @var $progress IProgress */ + $progress = $src->cloneTo($m->handle, $args['vmState'], $opts); + + $exp = ""; + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $e) { + $exp = $e->getMessage(); + } + + $m->releaseRemote(); + $src->releaseRemote(); + + $this->_util_progressStore($progress); + + return array( + 'progress' => $progress->handle, + 'settingsFilePath' => $sfpath, + 'exp' => $exp, + ); + + } + + + /** + * Turn VRDE on / off on a running VM + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_consoleVRDEServerSave($args) { + + $this->connect(); + + // create session and lock machine + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $m->lockMachine($this->session->handle, 'Shared'); + + if(intval($args['enabled']) == -1) { + $args['enabled'] = intval(!$this->session->machine->VRDEServer->enabled); + } + + $this->session->machine->VRDEServer->enabled = intval($args['enabled']); + + $this->session->unlockMachine(); + unset($this->session); + + $m->releaseRemote(); + + return true; + } + + /** + * Save running VM settings. Called from machineSave method if the requested VM is running. + * + * @param array $args array of machine configuration items. + * @param string $state state of virtual machine. + * @return boolean true on success + */ + private function _machineSaveRunning($args, $state) { + + // Client and server must agree on advanced config setting + $this->settings->enableAdvancedConfig = (@$this->settings->enableAdvancedConfig && @$args['clientConfig']['enableAdvancedConfig']); + $this->settings->enableHDFlushConfig = (@$this->settings->enableHDFlushConfig && @$args['clientConfig']['enableHDFlushConfig']); + + // Shorthand + /* @var $m IMachine */ + $m = &$this->session->machine; + + $m->CPUExecutionCap = $args['CPUExecutionCap']; + $m->description = $args['description']; + $m->ClipboardMode = $args['ClipboardMode']; + + // Start / stop config + if(@$this->settings->startStopConfig) { + $m->setExtraData('pvbx/startupMode', $args['startupMode']); + } + + // VirtualBox style start / stop config + if(@$this->settings->vboxAutostartConfig && @$args['clientConfig']['vboxAutostartConfig']) { + + $m->autostopType = $args['autostopType']; + $m->autostartEnabled = $args['autostartEnabled']; + $m->autostartDelay = $args['autostartDelay']; + + } + + // Custom Icon + if(@$this->settings->enableCustomIcons) { + $m->setExtraData('phpvb/icon', $args['customIcon']); + } + + // VRDE settings + try { + if($m->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { + $m->VRDEServer->enabled = $args['VRDEServer']['enabled']; + $m->VRDEServer->setVRDEProperty('TCP/Ports',$args['VRDEServer']['ports']); + $m->VRDEServer->setVRDEProperty('VNCPassword',$args['VRDEServer']['VNCPassword'] ? $args['VRDEServer']['VNCPassword'] : null); + $m->VRDEServer->authType = ($args['VRDEServer']['authType'] ? $args['VRDEServer']['authType'] : 'Null'); + $m->VRDEServer->authTimeout = $args['VRDEServer']['authTimeout']; + } + } catch (Exception $e) { + $this->errors[] = $e; + } + + // Storage Controllers if machine is in a valid state + if($state != 'Saved') { + + $scs = $m->storageControllers; + $attachedEx = $attachedNew = array(); + foreach($scs as $sc) { /* @var $sc IStorageController */ + $mas = $m->getMediumAttachmentsOfController($sc->name); + foreach($mas as $ma) { /* @var $ma IMediumAttachment */ + $attachedEx[$sc->name.$ma->port.$ma->device] = (($ma->medium->handle && $ma->medium->id) ? $ma->medium->id : null); + } + } + + // Incoming list + foreach($args['storageControllers'] as $sc) { + + $sc['name'] = trim($sc['name']); + $name = ($sc['name'] ? $sc['name'] : $sc['bus']); + + // Medium attachments + foreach($sc['mediumAttachments'] as $ma) { + + if($ma['medium'] == 'null') $ma['medium'] = null; + + $attachedNew[$name.$ma['port'].$ma['device']] = $ma['medium']['id']; + + // Compare incoming list with existing + if($ma['type'] != 'HardDisk' && $attachedNew[$name.$ma['port'].$ma['device']] != $attachedEx[$name.$ma['port'].$ma['device']]) { + + if(is_array($ma['medium']) && $ma['medium']['id'] && $ma['type']) { + + // Host drive + if(strtolower($ma['medium']['hostDrive']) == 'true' || $ma['medium']['hostDrive'] === true) { + // CD / DVD Drive + if($ma['type'] == 'DVD') { + $drives = $this->vbox->host->DVDDrives; + // floppy drives + } else { + $drives = $this->vbox->host->floppyDrives; + } + foreach($drives as $md) { + if($md->id == $ma['medium']['id']) { + $med = &$md; + break; + } + $md->releaseRemote(); + } + } else { + $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'],'ReadWrite',false); + } + } else { + $med = null; + } + $m->mountMedium($name,$ma['port'],$ma['device'],(is_object($med) ? $med->handle : null),true); + if(is_object($med)) $med->releaseRemote(); + } + + // Set Live CD/DVD + if($ma['type'] == 'DVD') { + if(!$ma['medium']['hostDrive']) + $m->temporaryEjectDevice($name, $ma['port'], $ma['device'], $ma['temporaryEject']); + + // Set IgnoreFlush + } elseif($ma['type'] == 'HardDisk') { + + // Remove IgnoreFlush key? + if($this->settings->enableHDFlushConfig) { + + $xtra = $this->_util_getIgnoreFlushKey($ma['port'], $ma['device'], $sc['controllerType']); + + if($xtra) { + if((bool)($ma['ignoreFlush'])) { + $m->setExtraData($xtra, '0'); + } else { + $m->setExtraData($xtra, ''); + } + } + } + + + } + } + + } + } + + + /* Networking */ + $netprops = array('enabled','attachmentType','bridgedInterface','hostOnlyInterface','internalNetwork','NATNetwork','promiscModePolicy','genericDriver'); + if(@$this->settings->enableVDE) $netprops[] = 'VDENetwork'; + + for($i = 0; $i < count($args['networkAdapters']); $i++) { + + /* @var $n INetworkAdapter */ + $n = $m->getNetworkAdapter($i); + + // Skip disabled adapters + if(!$n->enabled) { + $n->releaseRemote(); + continue; + } + + for($p = 0; $p < count($netprops); $p++) { + switch($netprops[$p]) { + case 'enabled': + case 'cableConnected': + break; + default: + if((string)$n->{$netprops[$p]} != (string)$args['networkAdapters'][$i][$netprops[$p]]) + $n->{$netprops[$p]} = $args['networkAdapters'][$i][$netprops[$p]]; + } + } + + /// Not if in "Saved" state + if($state != 'Saved') { + + // Network properties + $eprops = $n->getProperties(null); + $eprops = array_combine($eprops[1],$eprops[0]); + $iprops = array_map(function($a){$b=explode("=",$a); return array($b[0]=>$b[1]);},preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); + $inprops = array(); + foreach($iprops as $a) { + foreach($a as $k=>$v) + $inprops[$k] = $v; + } + + // Remove any props that are in the existing properties array + // but not in the incoming properties array + foreach(array_diff(array_keys($eprops),array_keys($inprops)) as $dk) { + $n->setProperty($dk, ''); + } + + // Set remaining properties + foreach($inprops as $k => $v) { + if(!$k) continue; + $n->setProperty($k, $v); + } + + if($n->cableConnected != $args['networkAdapters'][$i]['cableConnected']) + $n->cableConnected = $args['networkAdapters'][$i]['cableConnected']; + + } + + if($args['networkAdapters'][$i]['attachmentType'] == 'NAT') { + + // Remove existing redirects + foreach($n->NATEngine->getRedirects() as $r) { + $n->NATEngine->removeRedirect(array_shift(explode(',',$r))); + } + // Add redirects + foreach($args['networkAdapters'][$i]['redirects'] as $r) { + $r = explode(',',$r); + $n->NATEngine->addRedirect($r[0],$r[1],$r[2],$r[3],$r[4],$r[5]); + } + + // Advanced NAT settings + if($state != 'Saved' && @$this->settings->enableAdvancedConfig) { + $aliasMode = $n->NATEngine->aliasMode & 1; + if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 2)) $aliasMode |= 2; + if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 4)) $aliasMode |= 4; + $n->NATEngine->aliasMode = $aliasMode; + $n->NATEngine->DNSProxy = $args['networkAdapters'][$i]['NATEngine']['DNSProxy']; + $n->NATEngine->DNSPassDomain = $args['networkAdapters'][$i]['NATEngine']['DNSPassDomain']; + $n->NATEngine->DNSUseHostResolver = $args['networkAdapters'][$i]['NATEngine']['DNSUseHostResolver']; + $n->NATEngine->hostIP = $args['networkAdapters'][$i]['NATEngine']['hostIP']; + } + + } else if($args['networkAdapters'][$i]['attachmentType'] == 'NATNetwork') { + + if($n->NATNetwork = $args['networkAdapters'][$i]['NATNetwork']); + } + + $n->releaseRemote(); + + } + + /* Shared Folders */ + $sf_inc = array(); + foreach($args['sharedFolders'] as $s) { + $sf_inc[$s['name']] = $s; + } + + + // Get list of perm shared folders + $psf_tmp = $m->sharedFolders; + $psf = array(); + foreach($psf_tmp as $sf) { + $psf[$sf->name] = $sf; + } + + // Get a list of temp shared folders + $tsf_tmp = $this->session->console->sharedFolders; + $tsf = array(); + foreach($tsf_tmp as $sf) { + $tsf[$sf->name] = $sf; + } + + /* + * Step through list and remove non-matching folders + */ + foreach($sf_inc as $sf) { + + // Already exists in perm list. Check Settings. + if($sf['type'] == 'machine' && $psf[$sf['name']]) { + + /* Remove if it doesn't match */ + if($sf['hostPath'] != $psf[$sf['name']]->hostPath || (bool)$sf['autoMount'] != (bool)$psf[$sf['name']]->autoMount || (bool)$sf['writable'] != (bool)$psf[$sf['name']]->writable || $sf['autoMountPoint'] != $psf[$sf['name']]->autoMountPoint) { + + $m->removeSharedFolder($sf['name']); + $m->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount'],$sf['autoMountPoint']); + } + + unset($psf[$sf['name']]); + + // Already exists in perm list. Check Settings. + } else if($sf['type'] != 'machine' && $tsf[$sf['name']]) { + + /* Remove if it doesn't match */ + if($sf['hostPath'] != $tsf[$sf['name']]->hostPath || (bool)$sf['autoMount'] != (bool)$tsf[$sf['name']]->autoMount || (bool)$sf['writable'] != (bool)$tsf[$sf['name']]->writable || $sf['autoMountPoint'] != $psf[$sf['name']]->autoMountPoint) { + + $this->session->console->removeSharedFolder($sf['name']); + $this->session->console->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount'],$sf['autoMountPoint']); + + } + + unset($tsf[$sf['name']]); + + } else { + + // Does not exist or was removed. Add it. + if($sf['type'] != 'machine') $this->session->console->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount'],$sf['autoMountPoint']); + else $this->session->machine->createSharedFolder($sf['name'],$sf['hostPath'],(bool)$sf['writable'],(bool)$sf['autoMount'],$sf['autoMountPoint']); + } + + } + + /* + * Remove remaining + */ + foreach($psf as $sf) $m->removeSharedFolder($sf->name); + foreach($tsf as $sf) $this->session->console->removeSharedFolder($sf->name); + + /* + * USB Filters + */ + + $usbEx = array(); + $usbNew = array(); + + $usbc = $this->_machineGetUSBControllers($this->session->machine); + + $deviceFilters = $this->_machineGetUSBDeviceFilters($this->session->machine); + + if($state != 'Saved') { + + // filters + if(!is_array($args['USBDeviceFilters'])) $args['USBDeviceFilters'] = array(); + + if(count($deviceFilters) != count($args['USBDeviceFilters']) || @serialize($deviceFilters) != @serialize($args['USBDeviceFilters'])) { + + // usb filter properties to change + $usbProps = array('vendorId','productId','revision','manufacturer','product','serialNumber','port','remote'); + + // Remove and Add filters + try { + + + $max = max(count($deviceFilters),count($args['USBDeviceFilters'])); + $offset = 0; + + // Remove existing + for($i = 0; $i < $max; $i++) { + + // Only if filter differs + if(@serialize($deviceFilters[$i]) != @serialize($args['USBDeviceFilters'][$i])) { + + // Remove existing? + if($i < count($deviceFilters)) { + $m->USBDeviceFilters->removeDeviceFilter(($i-$offset)); + $offset++; + } + + // Exists in new? + if(count($args['USBDeviceFilters'][$i])) { + + // Create filter + $f = $m->USBDeviceFilters->createDeviceFilter($args['USBDeviceFilters'][$i]['name']); + $f->active = (bool)$args['USBDeviceFilters'][$i]['active']; + + foreach($usbProps as $p) { + $f->$p = $args['USBDeviceFilters'][$i][$p]; + } + + $m->USBDeviceFilters->insertDeviceFilter($i,$f->handle); + $f->releaseRemote(); + $offset--; + } + } + + } + + } catch (Exception $e) { $this->errors[] = $e; } + + } + + } + + + $this->session->machine->saveSettings(); + $this->session->unlockMachine(); + unset($this->session); + $m->releaseRemote(); + + return true; + + } + + /** + * Save virtual machine settings. + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_machineSave($args) { + + $this->connect(); + + // create session and lock machine + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['id']); + + $vmState = (string)$machine->state; + $vmRunning = ($vmState == 'Running' || $vmState == 'Paused' || $vmState == 'Saved'); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, ($vmRunning ? 'Shared' : 'Write')); + + // Switch to machineSaveRunning()? + if($vmRunning) { + return $this->_machineSaveRunning($args, $vmState); + } + + + // Client and server must agree on advanced config setting + $this->settings->enableAdvancedConfig = (@$this->settings->enableAdvancedConfig && @$args['clientConfig']['enableAdvancedConfig']); + $this->settings->enableHDFlushConfig = (@$this->settings->enableHDFlushConfig && @$args['clientConfig']['enableHDFlushConfig']); + + // Shorthand + /* @var $m IMachine */ + $m = $this->session->machine; + + // General machine settings + if (@$this->settings->enforceVMOwnership ) { + + $args['name'] = "{$_SESSION['user']}_" . preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $args['name']); + + if ( ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) + { + // skip this VM as it is not owned by the user we're logged in as + throw new Exception("Not authorized to modify this VM"); + } + + } + + // Change OS type and update LongMode + if(strcasecmp($m->OSTypeId,$args['OSTypeId']) != 0) { + + $m->OSTypeId = $args['OSTypeId']; + + $guestOS = $this->vbox->getGuestOSType($args['OSTypeId']); + + $m->Platform->X86->setCPUProperty('LongMode', ($guestOS->is64Bit ? 1 : 0)); + } + + $oldFirmware = (string)$m->FirmwareSettings->firmwareType; + /* secureBootEnabled reported incorrectly by vboxwebsrv + $oldSecureBoot = ($oldFirmware != 'BIOS' && $m->nonVolatileStore->uefiVariableStore != null ? $m->nonVolatileStore->uefiVariableStore->secureBootEnabled : false); + */ + + $m->CPUCount = $args['CPUCount']; + $m->memorySize = $args['memorySize']; + $m->FirmwareSettings->setFirmwareType($args['firmwareType']); + if($args['chipsetType']) $m->Platform->setChipsetType($args['chipsetType']); + if($m->snapshotFolder != $args['snapshotFolder']) $m->snapshotFolder = $args['snapshotFolder']; + $m->Platform->setRTCUseUTC($args['RTCUseUTC'] ? 1 : 0); + $m->Platform->X86->setCpuProperty('PAE', ($args['CpuProperties']['PAE'] ? 1 : 0)); + $m->Platform->X86->setCpuProperty('HWVirt', ($args['CpuProperties']['HWVirt'] ? 1 : 0)); + $m->Platform->X86->setCPUProperty('LongMode', (strpos($args['OSTypeId'],'_64') > - 1 ? 1 : 0)); + $m->trustedPlatformModule->type = $args['trustedPlatformModule']['type']; + + if($oldFirmware == 'BIOS' && $args['firmwareType'] == 'EFI') { + $m->nonVolatileStore->initUefiVariableStore(0); + $m->nonVolatileStore->uefiVariableStore->enrollOraclePlatformKey(); + $m->nonVolatileStore->uefiVariableStore->enrollDefaultMsSignatures(); + } + /* secureBootEnabled reported incorrectly by vboxwebsrv + if($args['firmwareType'] != 'BIOS' && $oldSecureBoot != (bool)$args['secureBootEnabled']) { + $m->nonVolatileStore->uefiVariableStore->secureBootEnabled = (bool)$args['secureBootEnabled']; + } + */ + + // IOAPIC + $m->FirmwareSettings->IOAPICEnabled = ($args['BIOSSettings']['IOAPICEnabled'] ? 1 : 0); + $m->CPUExecutionCap = $args['CPUExecutionCap']; + $m->description = $args['description']; + $m->ClipboardMode = $args['ClipboardMode']; + + // Start / stop config + if(@$this->settings->startStopConfig) { + $m->setExtraData('pvbx/startupMode', $args['startupMode']); + } + + + // VirtualBox style start / stop config + if(@$this->settings->vboxAutostartConfig && @$args['clientConfig']['vboxAutostartConfig']) { + + $m->autostopType = $args['autostopType']; + $m->autostartEnabled = $args['autostartEnabled']; + $m->autostartDelay = $args['autostartDelay']; + + } + + // Determine if host is capable of hw accel + $hwAccelAvail = $this->vbox->host->getProcessorFeature('HWVirtEx'); + + $m->paravirtProvider = $args['paravirtProvider']; + $m->Platform->X86->setHWVirtExProperty('Enabled', $args['HWVirtExProperties']['Enabled']); + $m->Platform->X86->setHWVirtExProperty('NestedPaging', ($args['HWVirtExProperties']['Enabled'] && $hwAccelAvail && $args['HWVirtExProperties']['NestedPaging'])); + + /* Only if advanced configuration is enabled */ + if(@$this->settings->enableAdvancedConfig) { + + /** @def VBOX_WITH_PAGE_SHARING + * Enables the page sharing code. + * @remarks This must match GMMR0Init; currently we only support page fusion on + * all 64-bit hosts except Mac OS X */ + /* Page Fusion does not work properly in VirtualBox 7.2 + * returns "Page fusion is only supported on 64-bit hosts" + if($this->vbox->host->getProcessorFeature('LongMode')) { + + $m->pageFusionEnabled = $args['pageFusionEnabled']; + } + */ + $m->Platform->X86->HPETEnabled = $args['HPETEnabled']; + $m->setExtraData("VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", $args['disableHostTimeSync']); + $m->keyboardHIDType = $args['keyboardHIDType']; + $m->pointingHIDType = $args['pointingHIDType']; + $m->Platform->X86->setHWVirtExProperty('LargePages', $args['HWVirtExProperties']['LargePages']); + $m->Platform->X86->setHWVirtExProperty('UnrestrictedExecution', $args['HWVirtExProperties']['UnrestrictedExecution']); + $m->Platform->X86->setHWVirtExProperty('VPID', $args['HWVirtExProperties']['VPID']); + + } + + /* Custom Icon */ + if(@$this->settings->enableCustomIcons) + $m->setExtraData('phpvb/icon', $args['customIcon']); + + $m->GraphicsAdapter->VRAMSize = $args['VRAMSize']; + $m->GraphicsAdapter->graphicsControllerType = $args['graphicsControllerType']; + + // Video + $m->GraphicsAdapter->setFeature("Acceleration3D", $args['accelerate3DEnabled']); + + // VRDE settings + try { + if($m->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { + $m->VRDEServer->enabled = $args['VRDEServer']['enabled']; + $m->VRDEServer->setVRDEProperty('TCP/Ports',$args['VRDEServer']['ports']); + if(@$this->settings->enableAdvancedConfig) + $m->VRDEServer->setVRDEProperty('TCP/Address',$args['VRDEServer']['netAddress']); + $m->VRDEServer->setVRDEProperty('Security/Method',$args['VRDEServer']['SecurityMethod']); + $m->VRDEServer->setVRDEProperty('VNCPassword',$args['VRDEServer']['VNCPassword'] ? $args['VRDEServer']['VNCPassword'] : null); + $m->VRDEServer->authType = ($args['VRDEServer']['authType'] ? $args['VRDEServer']['authType'] : 'Null'); + $m->VRDEServer->authTimeout = $args['VRDEServer']['authTimeout']; + $m->VRDEServer->allowMultiConnection = $args['VRDEServer']['allowMultiConnection']; + } + } catch (Exception $e) { + $this->errors[] = $e; + } + + // Audio controller settings + $m->audioSettings->Adapter->enabled = ($args['audioAdapter']['enabled'] ? 1 : 0); + $m->audioSettings->Adapter->audioController = $args['audioAdapter']['audioController']; + $m->audioSettings->Adapter->audioDriver = $args['audioAdapter']['audioDriver']; + + // Boot order + $mbp = $this->vbox->systemProperties->platform->maxBootPosition; + for($i = 0; $i < $mbp; $i ++) { + if($args['bootOrder'][$i]) { + $m->setBootOrder(($i + 1),$args['bootOrder'][$i]); + } else { + $m->setBootOrder(($i + 1),'Null'); + } + } + + // Storage Controllers + $scs = $m->storageControllers; + $attachedEx = $attachedNew = array(); + foreach($scs as $sc) { /* @var $sc IStorageController */ + + $mas = $m->getMediumAttachmentsOfController($sc->name); + + $cType = (string)$sc->controllerType; + + foreach($mas as $ma) { /* @var $ma IMediumAttachment */ + + $attachedEx[$sc->name.$ma->port.$ma->device] = (($ma->medium->handle && $ma->medium->id) ? $ma->medium->id : null); + + // Remove IgnoreFlush key? + if($this->settings->enableHDFlushConfig && (string)$ma->type == 'HardDisk') { + $xtra = $this->_util_getIgnoreFlushKey($ma->port, $ma->device, $cType); + if($xtra) { + $m->setExtraData($xtra,''); + } + } + + if($ma->controller) { + $m->detachDevice($ma->controller,$ma->port,$ma->device); + } + + } + $scname = $sc->name; + $sc->releaseRemote(); + $m->removeStorageController($scname); + } + + // Add New + foreach($args['storageControllers'] as $sc) { + + $sc['name'] = trim($sc['name']); + $name = ($sc['name'] ? $sc['name'] : $sc['bus']); + + + $bust = new StorageBus(null,$sc['bus']); + $c = $m->addStorageController($name,(string)$bust); + $c->controllerType = $sc['controllerType']; + $c->useHostIOCache = $sc['useHostIOCache']; + + // Set sata port count + if(($sc['bus'] == 'SATA')||($sc['bus'] == 'PCIe')) { + $max = max(1,intval(@$sc['portCount'])); + foreach($sc['mediumAttachments'] as $ma) { + $max = max($max,(intval($ma['port'])+1)); + } + $c->portCount = min(intval($c->maxPortCount),max(count($sc['mediumAttachments']),$max)); + + } + $c->releaseRemote(); + + + // Medium attachments + foreach($sc['mediumAttachments'] as $ma) { + + if($ma['medium'] == 'null') $ma['medium'] = null; + + $attachedNew[$name.$ma['port'].$ma['device']] = $ma['medium']['id']; + + if(is_array($ma['medium']) && $ma['medium']['id'] && $ma['type']) { + + // Host drive + if(strtolower($ma['medium']['hostDrive']) == 'true' || $ma['medium']['hostDrive'] === true) { + // CD / DVD Drive + if($ma['type'] == 'DVD') { + $drives = $this->vbox->host->DVDDrives; + // floppy drives + } else { + $drives = $this->vbox->host->floppyDrives; + } + foreach($drives as $md) { /* @var $md IMedium */ + if($md->id == $ma['medium']['id']) { + $med = &$md; + break; + } + $md->releaseRemote(); + } + } else { + /* @var $med IMedium */ + $med = $this->vbox->openMedium($ma['medium']['location'],$ma['type'], 'ReadWrite', false); + } + } else { + $med = null; + } + $m->attachDevice($name,$ma['port'],$ma['device'],$ma['type'],(is_object($med) ? $med->handle : null)); + + // CD / DVD medium attachment type + if($ma['type'] == 'DVD') { + + if($ma['medium']['hostDrive']) + $m->passthroughDevice($name, $ma['port'], $ma['device'], $ma['passthrough']); + else + $m->temporaryEjectDevice($name, $ma['port'], $ma['device'], ($ma['temporaryEject'] ? true : false)); + + // HardDisk medium attachment type + } else if($ma['type'] == 'HardDisk') { + + $ma['nonRotational']=($ma['nonRotational']?1:0); + $ma['discard']=($ma['discard']?1:0); + $ma['hotPluggable']=($ma['hotPluggable']?1:0); + $m->nonRotationalDevice($name, $ma['port'], $ma['device'], $ma['nonRotational']); + + // Set Discard (TRIM) Option + if($this->settings->enableAdvancedConfig) { + $m->setAutoDiscardForDevice($name, $ma['port'], $ma['device'], $ma['discard']); + } + + // Remove IgnoreFlush key? + if($this->settings->enableHDFlushConfig) { + + $xtra = $this->_util_getIgnoreFlushKey($ma['port'], $ma['device'], $sc['controllerType']); + + if($xtra) { + if($ma['ignoreFlush']) { + $m->setExtraData($xtra, ''); + } else { + $m->setExtraData($xtra, 0); + } + } + } + + + } + + if($sc['bus'] == 'SATA' || $sc['bus'] == 'USB') { + $m->setHotPluggableForDevice($name, $ma['port'], $ma['device'], ($ma['hotPluggable'] ? true : false)); + } + + if(is_object($med)) + $med->releaseRemote(); + } + + } + + /* + * + * Network Adapters + * + */ + + $netprops = array('enabled','attachmentType','adapterType','MACAddress','bridgedInterface', + 'hostOnlyInterface','internalNetwork','NATNetwork','cableConnected','promiscModePolicy','genericDriver'); + + for($i = 0; $i < count($args['networkAdapters']); $i++) { + if(@$this->settings->enableVDE) $netprops[] = 'VDENetwork'; + + $n = $m->getNetworkAdapter($i); + + // Skip disabled adapters + if(!($n->enabled || @$args['networkAdapters'][$i]['enabled'])) + continue; + + for($p = 0; $p < count($netprops); $p++) { + /* + switch($netprops[$p]) { + case 'enabled': + case 'cableConnected': + continue; + } + */ + $n->{$netprops[$p]} = @$args['networkAdapters'][$i][$netprops[$p]]; + } + + // Special case for boolean values + /* + $n->enabled = $args['networkAdapters'][$i]['enabled']; + $n->cableConnected = $args['networkAdapters'][$i]['cableConnected']; + */ + + // Network properties + $eprops = $n->getProperties(null); + $eprops = array_combine($eprops[1],$eprops[0]); + $iprops = array_map(function($a){$b=explode("=",$a); return array($b[0]=>$b[1]);},preg_split('/[\r|\n]+/',$args['networkAdapters'][$i]['properties'])); + $inprops = array(); + foreach($iprops as $a) { + foreach($a as $k=>$v) + $inprops[$k] = $v; + } + // Remove any props that are in the existing properties array + // but not in the incoming properties array + foreach(array_diff(array_keys($eprops),array_keys($inprops)) as $dk) + $n->setProperty($dk, ''); + + // Set remaining properties + foreach($inprops as $k => $v) + $n->setProperty($k, $v); + + // Nat redirects and advanced settings + if($args['networkAdapters'][$i]['attachmentType'] == 'NAT') { + + // Remove existing redirects + foreach($n->NATEngine->getRedirects() as $r) { + $n->NATEngine->removeRedirect(array_shift(explode(',',$r))); + } + // Add redirects + foreach($args['networkAdapters'][$i]['redirects'] as $r) { + $r = explode(',',$r); + $n->NATEngine->addRedirect($r[0],$r[1],$r[2],$r[3],$r[4],$r[5]); + } + + // Advanced NAT settings + if(@$this->settings->enableAdvancedConfig) { + $aliasMode = $n->NATEngine->aliasMode & 1; + if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 2)) $aliasMode |= 2; + if(intval($args['networkAdapters'][$i]['NATEngine']['aliasMode'] & 4)) $aliasMode |= 4; + $n->NATEngine->aliasMode = $aliasMode; + $n->NATEngine->DNSProxy = $args['networkAdapters'][$i]['NATEngine']['DNSProxy']; + $n->NATEngine->DNSPassDomain = $args['networkAdapters'][$i]['NATEngine']['DNSPassDomain']; + $n->NATEngine->DNSUseHostResolver = $args['networkAdapters'][$i]['NATEngine']['DNSUseHostResolver']; + $n->NATEngine->hostIP = $args['networkAdapters'][$i]['NATEngine']['hostIP']; + } + + } else if($args['networkAdapters'][$i]['attachmentType'] == 'NATNetwork') { + + if($n->NATNetwork = $args['networkAdapters'][$i]['NATNetwork']); + } + + $n->releaseRemote(); + } + + // Serial Ports + for($i = 0; $i < count($args['serialPorts']); $i++) { + + /* @var $p ISerialPort */ + $p = $m->getSerialPort($i); + + if(!($p->enabled || $args['serialPorts'][$i]['enabled'])) + continue; + + try { + $p->enabled = $args['serialPorts'][$i]['enabled']; + $p->IOAddress = @hexdec($args['serialPorts'][$i]['IOBase']); + $p->IRQ = intval($args['serialPorts'][$i]['IRQ']); + if($args['serialPorts'][$i]['path']) { + $p->path = $args['serialPorts'][$i]['path']; + $p->hostMode = $args['serialPorts'][$i]['hostMode']; + } else { + $p->hostMode = $args['serialPorts'][$i]['hostMode']; + $p->path = $args['serialPorts'][$i]['path']; + } + $p->server = $args['serialPorts'][$i]['server']; + $p->releaseRemote(); + } catch (Exception $e) { + $this->errors[] = $e; + } + } + + // LPT Ports + if(@$this->settings->enableLPTConfig) { + $lptChanged = false; + + for($i = 0; $i < count($args['parallelPorts']); $i++) { + + /* @var $p IParallelPort */ + $p = $m->getParallelPort($i); + + if(!($p->enabled || $args['parallelPorts'][$i]['enabled'])) + continue; + + $lptChanged = true; + try { + $p->IOBase = @hexdec($args['parallelPorts'][$i]['IOBase']); + $p->IRQ = intval($args['parallelPorts'][$i]['IRQ']); + $p->path = $args['parallelPorts'][$i]['path']; + $p->enabled = $args['parallelPorts'][$i]['enabled']; + $p->releaseRemote(); + } catch (Exception $e) { + $this->errors[] = $e; + } + } + } + + + $sharedEx = array(); + $sharedNew = array(); + foreach($this->_machineGetSharedFolders($m) as $s) { + $sharedEx[$s['name']] = array('name'=>$s['name'],'hostPath'=>$s['hostPath'],'autoMount'=>(bool)$s['autoMount'],'writable'=>(bool)$s['writable'],'autoMountPoint'=>$s['autoMountPoint']); + } + foreach($args['sharedFolders'] as $s) { + $sharedNew[$s['name']] = array('name'=>$s['name'],'hostPath'=>$s['hostPath'],'autoMount'=>(bool)$s['autoMount'],'writable'=>(bool)$s['writable'],'autoMountPoint'=>$s['autoMountPoint']); + } + // Compare + if(count($sharedEx) != count($sharedNew) || (@serialize($sharedEx) != @serialize($sharedNew))) { + foreach($sharedEx as $s) { $m->removeSharedFolder($s['name']);} + try { + foreach($sharedNew as $s) { + $m->createSharedFolder($s['name'],$s['hostPath'],(bool)$s['writable'],(bool)$s['autoMount'],$s['autoMountPoint']); + } + } catch (Exception $e) { $this->errors[] = $e; } + } + + // USB Filters + + $usbEx = array(); + $usbNew = array(); + + $usbc = $this->_machineGetUSBControllers($this->session->machine); + if(!$args['USBControllers'] || !is_array($args['USBControllers'])) $args['USBControllers'] = array(); + + // Remove old + $newNames = array(); + $newByName = array(); + foreach($args['USBControllers'] as $c) { + $newNames[] = $c['name']; + $newByName[$c['name']] = $c; + } + $exNames = array(); + foreach($usbc as $c) { + $exNames[] = $c['name']; + if(in_array($c['name'], $newNames)) continue; + $this->session->machine->removeUSBController($c['name']); + } + + $addNames = array_diff($newNames, $exNames); + foreach($addNames as $name) { + $this->session->machine->addUSBController($name, $newByName[$name]['type']); + } + + // filters + $deviceFilters = $this->_machineGetUSBDeviceFilters($this->session->machine); + if(!is_array($args['USBDeviceFilters'])) $args['USBDeviceFilters'] = array(); + + if(count($deviceFilters) != count($args['USBDeviceFilters']) || @serialize($deviceFilters) != @serialize($args['USBDeviceFilters'])) { + + // usb filter properties to change + $usbProps = array('vendorId','productId','revision','manufacturer','product','serialNumber','port','remote'); + + // Remove and Add filters + try { + + + $max = max(count($deviceFilters),count($args['USBDeviceFilters'])); + $offset = 0; + + // Remove existing + for($i = 0; $i < $max; $i++) { + + // Only if filter differs + if(@serialize($deviceFilters[$i]) != @serialize($args['USBDeviceFilters'][$i])) { + + // Remove existing? + if($i < count($deviceFilters)) { + $m->USBDeviceFilters->removeDeviceFilter(($i-$offset)); + $offset++; + } + + // Exists in new? + if($args['USBDeviceFilters'] && count($args['USBDeviceFilters'][$i])) { + + // Create filter + $f = $m->USBDeviceFilters->createDeviceFilter($args['USBDeviceFilters'][$i]['name']); + $f->active = (bool)$args['USBDeviceFilters'][$i]['active']; + + foreach($usbProps as $p) { + $f->$p = $args['USBDeviceFilters'][$i][$p]; + } + + $m->USBDeviceFilters->insertDeviceFilter($i,$f->handle); + $f->releaseRemote(); + $offset--; + } + } + + } + + } catch (Exception $e) { $this->errors[] = $e; } + + } + + // Rename goes last + if($m->name != $args['name']) { + $m->name = $args['name']; + } + $this->session->machine->saveSettings(); + + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return true; + + } + + /** + * Add a virtual machine via its settings file. + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_machineAdd($args) { + + $this->connect(); + + + /* @var $m IMachine */ + $m = $this->vbox->openMachine($args['file'],null); + $this->vbox->registerMachine($m->handle); + + $m->releaseRemote(); + + return true; + + } + + /** + * Get progress operation status. On completion, destory progress operation. + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_progressGet($args) { + + // progress operation result + $response = array(); + $error = 0; + + // Connect to vboxwebsrv + $this->connect(); + + try { + + try { + + // Force web call to keep session open. + if($this->persistentRequest['sessionHandle']) { + $this->session = new ISession($this->client, $this->persistentRequest['sessionHandle']); + if((string)$this->session->state) {} + } + + /* @var $progress IProgress */ + $progress = new IProgress($this->client, $args['progress']); + + } catch (Exception $e) { + $this->errors[] = $e; + throw new Exception('Could not obtain progress operation: '.$args['progress']); + } + + $response['progress'] = $args['progress']; + + $response['info'] = array( + 'completed' => $progress->completed, + 'canceled' => $progress->canceled, + 'description' => $progress->description, + 'operationDescription' => $progress->operationDescription, + 'timeRemaining' => $this->_util_splitTime($progress->timeRemaining), + 'timeElapsed' => $this->_util_splitTime((time() - $pop['started'])), + 'percent' => $progress->percent + ); + + + // Completed? Do not return. Fall to _util_progressDestroy() called later + if($response['info']['completed'] || $response['info']['canceled']) { + + try { + if(!$response['info']['canceled'] && $progress->errorInfo->handle) { + $error = array('message'=>$progress->errorInfo->text,'err'=>$this->_util_resultCodeText($progress->resultCode)); + } + } catch (Exception $null) {} + + + } else { + + $response['info']['cancelable'] = $progress->cancelable; + + return $response; + } + + + } catch (Exception $e) { + + // Force progress dialog closure + $response['info'] = array('completed'=>1); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $error = array('message'=>$progress->errorInfo->text,'err'=>$this->_util_resultCodeText($progress->resultCode)); + } + } catch (Exception $null) {} + + } + + if($error) { + if(@$args['catcherrs']) $response['error'] = $error; + else $this->errors[] = new Exception($error['message']); + + } + + $this->_util_progressDestroy($pop); + + return $response; + + } + + /** + * Cancel a running progress operation + * + * @param array $args array of arguments. See function body for details. + * @param array $response response data passed byref populated by the function + * @return boolean true on success + */ + public function remote_progressCancel($args) { + + // Connect to vboxwebsrv + $this->connect(); + + try { + /* @var $progress IProgress */ + $progress = new IProgress($this->client,$args['progress']); + if(!($progress->completed || $progress->canceled)) + $progress->cancel(); + } catch (Exception $e) { + $this->errors[] = $e; + } + + return true; + } + + /** + * Destory a progress operation. + * + * @param array $pop progress operation details + * @return boolean true on success + */ + private function _util_progressDestroy($pop) { + + // Connect to vboxwebsrv + $this->connect(); + + try { + /* @var $progress IProgress */ + $progress = new IProgress($this->client,$pop['progress']); + $progress->releaseRemote(); + } catch (Exception $e) {} + try { + + // Close session and logoff + try { + + if($this->session->handle) { + if((string)$this->session->state != 'Unlocked') { + $this->session->unlockMachine(); + } + $this->session->releaseRemote(); + unset($this->session); + } + + + } catch (Exception $e) { + $this->errors[] = $e; + } + + + // Logoff session associated with progress operation + $this->websessionManager->logoff($this->vbox->handle); + unset($this->vbox); + + } catch (Exception $e) { + $this->errors[] = $e; + } + + // Remove progress handles + $this->persistentRequest = array(); + + return true; + } + + /** + * Returns a key => value mapping of an enumeration class contained + * in vboxServiceWrappers.php (classes that extend VBox_Enum). + * + * @param array $args array of arguments. See function body for details. + * @return array response data + * @see vboxServiceWrappers.php + */ + public function remote_vboxGetEnumerationMap($args) { + + $c = new $args['class'](null, null); + return (@isset($args['ValueMap']) ? $c->ValueMap : $c->NameMap); + } + + /** + * Save VirtualBox system properties + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_vboxSystemPropertiesSave($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $this->vbox->systemProperties->defaultMachineFolder = $args['SystemProperties']['defaultMachineFolder']; + $this->vbox->systemProperties->VRDEAuthLibrary = $args['SystemProperties']['VRDEAuthLibrary']; + if(@$this->settings->vboxAutostartConfig) { + $this->vbox->systemProperties->autostartDatabasePath = $args['SystemProperties']['autostartDatabasePath']; + } + + return true; + + } + + /** + * Import a virtual appliance + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_applianceImport($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $app IAppliance */ + $app = $this->vbox->createAppliance(); + + /* @var $progress IProgress */ + $progress = $app->read($args['file']); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $app->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $progress->waitForCompletion(-1); + + $app->interpret(); + + $a = 0; + foreach($app->virtualSystemDescriptions as $d) { /* @var $d IVirtualSystemDescription */ + // Replace with passed values + $args['descriptions'][$a][5] = array_pad($args['descriptions'][$a][5], count($args['descriptions'][$a][3]),true); + foreach(array_keys($args['descriptions'][$a][5]) as $k) $args['descriptions'][$a][5][$k] = (bool)$args['descriptions'][$a][5][$k]; + $d->setFinalValues($args['descriptions'][$a][5],$args['descriptions'][$a][3],$args['descriptions'][$a][4]); + $a++; + } + + /* @var $progress IProgress */ + $progress = $app->importMachines(array($args['reinitNetwork'] ? 'KeepNATMACs' : 'KeepAllMACs')); + + $app->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + // Save progress + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + /** + * Get a list of VMs that are available for export. + * + * @param array $args array of arguments. See function body for details. + * @return array list of exportable machiens + */ + public function remote_vboxGetExportableMachines($args) { + + // Connect to vboxwebsrv + $this->connect(); + + //Get a list of registered machines + $machines = $this->vbox->machines; + + $response = array(); + + foreach ($machines as $machine) { /* @var $machine IMachine */ + + if ( @$this->settings->enforceVMOwnership && ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) + { + // skip this VM as it is not owned by the user we're logged in as + continue; + } + + try { + $response[] = array( + 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, + 'state' => (string)$machine->state, + 'OSTypeId' => $machine->getOSTypeId(), + 'id' => $machine->id, + 'description' => $machine->description + ); + $machine->releaseRemote(); + + } catch (Exception $e) { + // Ignore. Probably inaccessible machine. + } + } + return $response; + } + + + /** + * Read and interpret virtual appliance file + * + * @param array $args array of arguments. See function body for details. + * @return array appliance file content descriptions + */ + public function remote_applianceReadInterpret($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $app IAppliance */ + $app = $this->vbox->createAppliance(); + + /* @var $progress IProgress */ + $progress = $app->read($args['file']); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $app->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $progress->waitForCompletion(-1); + + $app->interpret(); + + $response = array('warnings' => $app->getWarnings(), + 'descriptions' => array()); + + $i = 0; + foreach($app->virtualSystemDescriptions as $d) { /* @var $d IVirtualSystemDescription */ + $desc = array(); + $response['descriptions'][$i] = $d->getDescription(); + foreach($response['descriptions'][$i][0] as $ddesc) { + $desc[] = (string)$ddesc; + } + $response['descriptions'][$i][0] = $desc; + $i++; + $d->releaseRemote(); + } + $app->releaseRemote(); + $app=null; + + return $response; + + } + + + /** + * Export VMs to a virtual appliance file + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_applianceExport($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $app IAppliance */ + $app = $this->vbox->createAppliance(); + + // Overwrite existing file? + if($args['overwrite']) { + + $dsep = $this->getDsep(); + + $path = str_replace($dsep.$dsep,$dsep,$args['file']); + $dir = dirname($path); + $file = basename($path); + + if(substr($dir,-1) != $dsep) $dir .= $dsep; + + /* @var $vfs IVFSExplorer */ + $vfs = $app->createVFSExplorer('file://'.$dir); + + /* @var $progress IProgress */ + $progress = $vfs->remove(array($file)); + $progress->waitForCompletion(-1); + $progress->releaseRemote(); + + $vfs->releaseRemote(); + } + + $appProps = array( + 'name' => 'Name', + 'description' => 'Description', + 'product' => 'Product', + 'vendor' => 'Vendor', + 'version' => 'Version', + 'product-url' => 'ProductUrl', + 'vendor-url' => 'VendorUrl', + 'license' => 'License'); + + + foreach($args['vms'] as $vm) { + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($vm['id']); + if (@$this->settings->enforceVMOwnership && ($owner = $m->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) + { + // skip this VM as it is not owned by the user we're logged in as + continue; + } + $desc = $m->exportTo($app->handle, $args['file']); + $props = $desc->getDescription(); + $ptypes = array(); + foreach($props[0] as $p) {$ptypes[] = (string)$p;} + $typecount = 0; + foreach($appProps as $k=>$v) { + // Check for existing property + if(($i=array_search($v,$ptypes)) !== false) { + $props[3][$i] = $vm[$k]; + } else { + $desc->addDescription($v,$vm[$k],null); + $props[3][] = $vm[$k]; + $props[4][] = null; + } + $typecount++; + } + $enabled = array_pad(array(),count($props[3]),true); + foreach(array_keys($enabled) as $k) $enabled[$k] = (bool)$enabled[$k]; + $desc->setFinalValues($enabled,$props[3],$props[4]); + $desc->releaseRemote(); + $m->releaseRemote(); + } + + /* @var $progress IProgress */ + $progress = $app->write($args['format'],($args['manifest'] ? array('CreateManifest') : array()),$args['file']); + $app->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + // Save progress + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + /** + * Get nat network info + * + * @param unused $args + * @param array $response response data passed byref populated by the function + * @return array networking info data + */ + public function remote_vboxNATNetworksGet($args) { + + $this->connect(); + + $props = array('networkName','enabled','network','IPv6Enabled', + 'advertiseDefaultIPv6RouteEnabled','needDhcpServer','portForwardRules4', + 'portForwardRules6'); + + $natNetworks = array(); + + foreach($this->vbox->NATNetworks as $n) { + + + $netDetails = array(); + foreach($props as $p) { + $netDetails[$p] = $n->$p; + } + + $natNetworks[] = $netDetails; + } + + return $natNetworks; + + } + + /** + * Get nat network details + * + * @param array $args contains network name + * @param array $response response data passed byref populated by the function + * @return array networking info data + */ + public function remote_vboxNATNetworksSave($args) { + + $this->connect(); + + $props = array('networkName','enabled','network','IPv6Enabled', + 'advertiseDefaultIPv6RouteEnabled','needDhcpServer'); + + $exNetworks = array(); + foreach($this->vbox->NATNetworks as $n) { $exNetworks[$n->networkName] = false; } + + /* Incoming network list */ + foreach($args['networks'] as $net) { + + /* Existing network */ + if($net['orig_networkName']) { + + $network = $this->vbox->findNATNetworkByName($net['orig_networkName']); + + + $exNetworks[$net['orig_networkName']] = true; + + foreach($props as $p) { + $network->$p = $net[$p]; + } + + foreach(array('portForwardRules4','portForwardRules6') as $rules) { + + if(!$net[$rules] || !is_array($net[$rules])) $net[$rules] = array(); + + $rules_remove = array_diff($network->$rules, $net[$rules]); + $rules_add = array_diff($net[$rules], $network->$rules); + + foreach($rules_remove as $rule) { + $network->removePortForwardRule((strpos($rules,'6')>-1), array_shift(preg_split('/:/',$rule))); + } + foreach($rules_add as $r) { + preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); + array_shift($rule); + $network->addPortForwardRule((strpos($rules,'6')>-1), $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); + } + } + + /* New network */ + } else { + + $network = $this->vbox->createNATNetwork($net['networkName']); + + foreach($props as $p) { + if($p == 'network' && $net[$p] == '') continue; + $network->$p = $net[$p]; + } + + foreach($net['portForwardRules4'] as $r) { + preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); + array_shift($rule); + $network->addPortForwardRule(false, $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); + } + foreach($net['portForwardRules6'] as $r) { + preg_match('/(.*?):(.+?):\[(.*?)\]:(\d+):\[(.*?)\]:(\d+)/', $r, $rule); + array_shift($rule); + $network->addPortForwardRule(true, $rule[0],strtoupper($rule[1]),$rule[2],$rule[3],$rule[4],$rule[5]); + } + + } + + } + + /* Remove networks not in list */ + foreach($exNetworks as $n=>$v) { + if($v) continue; + $n = $this->vbox->findNATNetworkByName($n); + $this->vbox->removeNATNetwork($n); + } + + return true; + + } + + /** + * Get networking info + * + * @param unused $args + * @param array $response response data passed byref populated by the function + * @return array networking info data + */ + public function remote_getNetworking($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $response = array(); + $networks = array(); + $nics = array(); + $genericDrivers = array(); + $vdenetworks = array(); + + /* Get host nics */ + foreach($this->vbox->host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ + $nics[] = $d->name; + $d->releaseRemote(); + } + + /* Get internal Networks */ + $networks = $this->vbox->internalNetworks; + /* Generic Drivers */ + $genericDrivers = $this->vbox->genericNetworkDrivers; + + $natNetworks = array(); + foreach($this->vbox->NATNetworks as $n) { + $natNetworks[] = $n->networkName; + } + + return array( + 'nics' => $nics, + 'networks' => $networks, + 'genericDrivers' => $genericDrivers, + 'vdenetworks' => $vdenetworks, + 'natNetworks' => $natNetworks + ); + + } + + /** + * Get host-only interface information + * + * @param unused $args + * @return array host only interface data + */ + public function remote_hostOnlyInterfacesGet($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* + * NICs + */ + $response = array('networkInterfaces' => array()); + foreach($this->vbox->host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ + + if((string)$d->interfaceType != 'HostOnly') { + $d->releaseRemote(); + continue; + } + + + // Get DHCP Info + try { + /* @var $dhcp IDHCPServer */ + $dhcp = $this->vbox->findDHCPServerByNetworkName($d->networkName); + if($dhcp->handle) { + $dhcpserver = array( + 'enabled' => $dhcp->enabled, + 'IPAddress' => $dhcp->IPAddress, + 'networkMask' => $dhcp->networkMask, + 'networkName' => $dhcp->networkName, + 'lowerIP' => $dhcp->lowerIP, + 'upperIP' => $dhcp->upperIP + ); + $dhcp->releaseRemote(); + } else { + $dhcpserver = array(); + } + } catch (Exception $e) { + $dhcpserver = array(); + } + + $response['networkInterfaces'][] = array( + 'id' => $d->id, + 'IPV6Supported' => $d->IPV6Supported, + 'name' => $d->name, + 'IPAddress' => $d->IPAddress, + 'networkMask' => $d->networkMask, + 'IPV6Address' => $d->IPV6Address, + 'IPV6NetworkMaskPrefixLength' => $d->IPV6NetworkMaskPrefixLength, + 'DHCPEnabled' => $d->DHCPEnabled, + 'networkName' => $d->networkName, + 'dhcpServer' => $dhcpserver + ); + $d->releaseRemote(); + } + + return $response; + } + + + /** + * Save host-only interface information + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_hostOnlyInterfacesSave($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $nics = $args['networkInterfaces']; + + for($i = 0; $i < count($nics); $i++) { + + /* @var $nic IHostNetworkInterface */ + $nic = $this->vbox->host->findHostNetworkInterfaceById($nics[$i]['id']); + + // Common settings + if($nic->IPAddress != $nics[$i]['IPAddress'] || $nic->networkMask != $nics[$i]['networkMask']) { + $nic->enableStaticIPConfig($nics[$i]['IPAddress'],$nics[$i]['networkMask']); + } + if($nics[$i]['IPV6Supported'] && + ($nic->IPV6Address != $nics[$i]['IPV6Address'] || $nic->IPV6NetworkMaskPrefixLength != $nics[$i]['IPV6NetworkMaskPrefixLength'])) { + $nic->enableStaticIPConfigV6($nics[$i]['IPV6Address'],intval($nics[$i]['IPV6NetworkMaskPrefixLength'])); + } + + // Get DHCP Info + try { + $dhcp = $this->vbox->findDHCPServerByNetworkName($nic->networkName); + } catch (Exception $e) {$dhcp = null;}; + + // Create DHCP server? + if((bool)@$nics[$i]['dhcpServer']['enabled'] && !$dhcp) { + $dhcp = $this->vbox->createDHCPServer($nic->networkName); + } + if($dhcp->handle) { + $dhcp->enabled = @$nics[$i]['dhcpServer']['enabled']; + $dhcp->setConfiguration($nics[$i]['dhcpServer']['IPAddress'],$nics[$i]['dhcpServer']['networkMask'],$nics[$i]['dhcpServer']['lowerIP'],$nics[$i]['dhcpServer']['upperIP']); + $dhcp->releaseRemote(); + } + $nic->releaseRemote(); + + } + + return true; + + } + + /** + * Add Host-only interface + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_hostOnlyInterfaceCreate($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $progress IProgress */ + list($int,$progress) = $this->vbox->host->createHostOnlyNetworkInterface(); + $int->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + // Save progress + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + + } + + + /** + * Remove a host-only interface + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_hostOnlyInterfaceRemove($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $progress IProgress */ + $progress = $this->vbox->host->removeHostOnlyNetworkInterface($args['id']); + + if(!$progress->handle) return false; + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + // Save progress + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + /** + * Get a list of Guest OS Types supported by this VirtualBox installation + * + * @param unused $args + * @return array of os types + */ + public function remote_vboxGetGuestOSTypes($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $response = array(); + + $ts = $this->vbox->getGuestOSTypes(); + + $supp64 = ($this->vbox->host->getProcessorFeature('LongMode') && $this->vbox->host->getProcessorFeature('HWVirtEx')); + + foreach($ts as $g) { /* @var $g IGuestOSType */ + + // Avoid multiple calls + $bit64 = $g->is64Bit; + $response[] = array( + 'familyId' => $g->familyId, + 'familyDescription' => $g->familyDescription, + 'id' => $g->id, + 'subtype' => $g->subtype, + 'description' => $g->description, + 'is64Bit' => $bit64, + 'recommendedRAM' => $g->recommendedRAM, + 'recommendedHDD' => ($g->recommendedHDD/1024)/1024, + 'supported' => (bool)(!$bit64 || $supp64) + ); + } + + return $response; + } + + /** + * Set virtual machine state. Running, power off, save state, pause, etc.. + * + * @param array $args array of arguments. See function body for details. + * @return array response data or boolean true on success + */ + public function remote_machineSetState($args) { + + $vm = $args['vm']; + $state = $args['state']; + + $states = array( + 'powerDown' => array('result'=>'PoweredOff','progress'=>2), + 'reset' => array(), + 'saveState' => array('result'=>'Saved','progress'=>2), + 'powerButton' => array('acpi'=>true), + 'sleepButton' => array('acpi'=>true), + 'pause' => array('result'=>'Paused','progress'=>false), + 'resume' => array('result'=>'Running','progress'=>false), + 'powerUp' => array('result'=>'Running'), + 'discardSavedState' => array('result'=>'poweredOff','lock'=>'shared','force'=>true) + ); + + // Check for valid state + if(!is_array($states[$state])) { + throw new Exception('Invalid state: ' . $state); + } + + // Connect to vboxwebsrv + $this->connect(); + + // Machine state + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($vm); + $mstate = (string)$machine->state; + + if (@$this->settings->enforceVMOwnership && !$this->skipSessionCheck && ($owner = $machine->getExtraData("phpvb/sso/owner")) && $owner !== $_SESSION['user'] && !$_SESSION['admin'] ) + { + // skip this VM as it is not owned by the user we're logged in as + throw new Exception("Not authorized to change state of this VM"); + } + + // If state has an expected result, check + // that we are not already in it + if($states[$state]['result']) { + if($mstate == $states[$state]['result']) { + $machine->releaseRemote(); + return false; + } + } + + // Special case for power up + if($state == 'powerUp' && $mstate == 'Paused') + $state = 'resume'; + + if($state == 'powerUp') { + + + # Try opening session for VM + try { + + // create session + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // set first run + if($machine->getExtraData('GUI/FirstRun') == 'yes') { + $machine->lockMachine($this->session->handle, 'Write'); + $this->session->machine->setExtraData('GUI/FirstRun', 'no'); + $this->session->unlockMachine(); + } + + /* @var $progress IProgress */ + $progress = $machine->launchVMProcess($this->session->handle, "headless", NULL); + + } catch (Exception $e) { + // Error opening session + $this->errors[] = $e; + return false; + } + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) { + } + + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + + } + + // Open session to machine + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Lock machine + $machine->lockMachine($this->session->handle,($states[$state]['lock'] == 'write' ? 'Write' : 'Shared')); + + // If this operation returns a progress object save progress + $progress = null; + if($states[$state]['progress']) { + + /* @var $progress IProgress */ + if($state == 'saveState') { + $progress = $this->session->machine->saveState(); + } else { + $progress = $this->session->console->$state(); + } + + if(!$progress->handle) { + + // should never get here + try { + $this->session->unlockMachine(); + $this->session = null; + } catch (Exception $e) {}; + + $machine->releaseRemote(); + + throw new Exception('Unknown error settings machine to requested state.'); + } + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + // Save progress + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + // Operation does not return a progress object + // Just call the function + } else { + + if($state == 'discardSavedState') { + $this->session->machine->$state(($states[$state]['force'] ? true : null)); + } else { + $this->session->console->$state(($states[$state]['force'] ? true : null)); + } + + } + + $vmname = $machine->name; + $machine->releaseRemote(); + + // Check for ACPI button + if($states[$state]['acpi'] && !$this->session->console->getPowerButtonHandled()) { + $this->session->console->releaseRemote(); + $this->session->unlockMachine(); + $this->session = null; + return false; + } + + + if(!$progress->handle) { + $this->session->console->releaseRemote(); + $this->session->unlockMachine(); + unset($this->session); + } + + return true; + + } + + + /** + * Get VirtualBox host memory usage information + * + * @param unused $args + * @return array response data + */ + public function remote_hostGetMeminfo($args) { + + // Connect to vboxwebsrv + $this->connect(); + + return $this->vbox->host->memoryAvailable; + + } + + /** + * Get VirtualBox host details + * + * @param unused $args + * @return array response data + */ + public function remote_hostGetDetails($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $host IHost */ + $host = &$this->vbox->host; + $response = array( + 'id' => 'host', + 'operatingSystem' => $host->operatingSystem, + 'OSVersion' => $host->OSVersion, + 'memorySize' => $host->memorySize, + //'acceleration3DAvailable' => $host->acceleration3DAvailable, + // changes in 7.1 + // hardcode true so the checkbox would always be enabled in the UI + // when selected, should fail with an error message if actually not available + 'acceleration3DAvailable' => true, + 'cpus' => array(), + 'networkInterfaces' => array(), + 'DVDDrives' => array(), + 'floppyDrives' => array() + ); + + /* + * Processors + */ + // TODO https://github.com/phpvirtualbox/phpvirtualbox/issues/53 + $response['cpus'][0] = $host->getProcessorDescription(0); + for($i = 1; $i < $host->processorCount; $i++) { + $response['cpus'][$i] = $response['cpus'][0]; + } + + /* + * Supported CPU features? + */ + $response['cpuFeatures'] = array(); + foreach(array('HWVirtEx'=>'HWVirtEx','PAE'=>'PAE','NestedPaging'=>'Nested Paging','LongMode'=>'Long Mode (64-bit)' + ,'UnrestrictedGuest'=>'Unrestricted Guest','NestedHWVirt'=>'Nested Virtualization') as $k=>$v) { + $response['cpuFeatures'][$v] = $host->getProcessorFeature($k); + } + + /* + * NICs + */ + foreach($host->networkInterfaces as $d) { /* @var $d IHostNetworkInterface */ + $response['networkInterfaces'][] = array( + 'name' => $d->name, + 'IPAddress' => $d->IPAddress, + 'networkMask' => $d->networkMask, + 'IPV6Supported' => $d->IPV6Supported, + 'IPV6Address' => $d->IPV6Address, + 'IPV6NetworkMaskPrefixLength' => $d->IPV6NetworkMaskPrefixLength, + 'status' => (string)$d->status, + 'mediumType' => (string)$d->mediumType, + 'interfaceType' => (string)$d->interfaceType, + 'hardwareAddress' => $d->hardwareAddress, + 'networkName' => $d->networkName, + ); + $d->releaseRemote(); + } + + /* + * Medium types (DVD and Floppy) + */ + foreach($host->DVDDrives as $d) { /* @var $d IMedium */ + + $response['DVDDrives'][] = array( + 'id' => $d->id, + 'name' => $d->name, + 'location' => $d->location, + 'description' => $d->description, + 'deviceType' => 'DVD', + 'hostDrive' => true + ); + $d->releaseRemote(); + } + + foreach($host->floppyDrives as $d) { /* @var $d IMedium */ + + $response['floppyDrives'][] = array( + 'id' => $d->id, + 'name' => $d->name, + 'location' => $d->location, + 'description' => $d->description, + 'deviceType' => 'Floppy', + 'hostDrive' => true, + ); + $d->releaseRemote(); + } + $host->releaseRemote(); + + return $response; + } + + /** + * Get a list of USB devices attached to the VirtualBox host + * + * @param unused $args + * @return array of USB devices + */ + public function remote_hostGetUSBDevices($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $response = array(); + + foreach($this->vbox->host->USBDevices as $d) { /* @var $d IUSBDevice */ + + $response[] = array( + 'id' => $d->id, + 'vendorId' => sprintf('%04s',dechex($d->vendorId)), + 'productId' => sprintf('%04s',dechex($d->productId)), + 'revision' => sprintf('%04s',dechex($d->revision)), + 'manufacturer' => $d->manufacturer, + 'product' => $d->product, + 'serialNumber' => $d->serialNumber, + 'address' => $d->address, + 'port' => $d->port, + 'portPath' => $d->portPath, + 'version' => $d->version, + 'speed' => $d->speed, + 'remote' => $d->remote, + 'deviceInfo' => $d->deviceInfo, + 'backend' => $d->backend, + ); + $d->releaseRemote(); + } + + return $response; + } + + + /** + * Get virtual machine or virtualbox host details + * + * @param array $args array of arguments. See function body for details. + * @param ISnapshot $snapshot snapshot instance to use if obtaining snapshot details. + * @see hostGetDetails() + * @return array machine details + */ + public function remote_machineGetDetails($args, $snapshot=null) { + + // Host instead of vm info + if($args['vm'] == 'host') { + + $response = $this->remote_hostGetDetails($args); + + return $response; + } + + + // Connect to vboxwebsrv + $this->connect(); + + //Get registered machine or snapshot machine + if($snapshot) { + + /* @var $machine ISnapshot */ + $machine = &$snapshot; + + } else { + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + + // For correct caching, always use id even if a name was passed + $args['vm'] = $machine->id; + + // Check for accessibility + if(!$machine->accessible) { + + return array( + 'name' => $machine->id, + 'state' => 'Inaccessible', + 'OSTypeId' => 'Other', + 'id' => $machine->id, + 'sessionState' => 'Inaccessible', + 'accessible' => 0, + 'accessError' => array( + 'resultCode' => $this->_util_resultCodeText($machine->accessError->resultCode), + 'component' => $machine->accessError->component, + 'text' => $machine->accessError->text) + ); + } + + } + + // Basic data + $data = $this->_machineGetDetails($machine); + + // Network Adapters + $data['networkAdapters'] = $this->_machineGetNetworkAdapters($machine); + + // Storage Controllers + $data['storageControllers'] = $this->_machineGetStorageControllers($machine); + + // Serial Ports + $data['serialPorts'] = $this->_machineGetSerialPorts($machine); + + // LPT Ports + $data['parallelPorts'] = $this->_machineGetParallelPorts($machine); + + // Shared Folders + $data['sharedFolders'] = $this->_machineGetSharedFolders($machine); + + // USB Controllers + $data['USBControllers'] = $this->_machineGetUSBControllers($machine); + $data['USBDeviceFilters'] = $this->_machineGetUSBDeviceFilters($machine); + + + if (@$this->settings->enforceVMOwnership ) + { + $data['name'] = preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $data['name']); + } + + // Items when not obtaining snapshot machine info + if(!$snapshot) { + + $data['currentSnapshot'] = ($machine->currentSnapshot->handle ? array('id'=>$machine->currentSnapshot->id,'name'=>$machine->currentSnapshot->name) : null); + $data['snapshotCount'] = $machine->snapshotCount; + + // Start / stop config + if(@$this->settings->startStopConfig) { + $data['startupMode'] = $machine->getExtraData('pvbx/startupMode'); + } + + + } + + $machine->releaseRemote(); + + $data['accessible'] = 1; + return $data; + } + + /** + * Get runtime data of machine. + * + * @param array $args array of arguments. See function body for details. + * @return array of machine runtime data + */ + public function remote_machineGetRuntimeData($args) { + + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $data = array( + 'id' => $args['vm'], + 'state' => (string)$machine->state + ); + + /* + * TODO: + * + * 5.13.13 getGuestEnteredACPIMode + boolean IConsole::getGuestEnteredACPIMode() + Checks if the guest entered the ACPI mode G0 (working) or G1 (sleeping). If this method + returns false, the guest will most likely not respond to external ACPI events. + If this method fails, the following error codes may be reported: +  VBOX_E_INVALID_VM_STATE: Virtual machine not in Running state. + */ + + // Get current console port + if($data['state'] == 'Running' || $data['state'] == 'Paused') { + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + $console = $this->session->console; + + // Get guest additions version + if(@$this->settings->enableGuestAdditionsVersionDisplay) { + $data['guestAdditionsVersion'] = $console->guest->additionsVersion; + } + + $smachine = $this->session->machine; + + $data['CPUExecutionCap'] = $smachine->CPUExecutionCap; + $data['VRDEServerInfo'] = array('port' => $console->VRDEServerInfo->port); + + $vrde = $smachine->VRDEServer; + + $data['VRDEServer'] = (!$vrde ? null : array( + 'enabled' => $vrde->enabled, + 'ports' => $vrde->getVRDEProperty('TCP/Ports'), + 'netAddress' => $vrde->getVRDEProperty('TCP/Address'), + 'SecurityMethod' => $vrde->getVRDEProperty('Security/Method'), + 'VNCPassword' => $vrde->getVRDEProperty('VNCPassword'), + 'authType' => (string)$vrde->authType, + 'authTimeout' => $vrde->authTimeout, + 'VRDEExtPack' => (string)$vrde->VRDEExtPack + )); + + // Get removable media + $data['storageControllers'] = $this->_machineGetStorageControllers($smachine); + + // Get network adapters + $data['networkAdapters'] = $this->_machineGetNetworkAdapters($smachine); + + $machine->releaseRemote(); + + // Close session and unlock machine + $this->session->unlockMachine(); + unset($this->session); + + } + + + return $data; + + } + + /** + * Remove a virtual machine + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success or array of response data + */ + public function remote_machineRemove($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + // Only unregister or delete? + if(!$args['delete']) { + + $machine->unregister('DetachAllReturnNone'); + $machine->releaseRemote(); + + } else { + + $hds = array(); + $delete = $machine->unregister('DetachAllReturnHardDisksOnly'); + foreach($delete as $hd) { + $hds[] = $this->vbox->openMedium($hd->location,'HardDisk','ReadWrite',false)->handle; + } + + /* @var $progress IProgress */ + $progress = $machine->deleteConfig($hds); + + $machine->releaseRemote(); + + // Does an exception exist? + if($progress) { + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + + } + + return true; + + + } + + + /** + * Create a new Virtual Machine + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_machineCreate($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $response = array(); + + // quota enforcement + if ( isset($_SESSION['user']) ) + { + if ( @isset($this->settings->vmQuotaPerUser) && @$this->settings->vmQuotaPerUser > 0 && !$_SESSION['admin'] ) + { + $newresp = array('data' => array()); + $this->vboxGetMachines(array(), array(&$newresp)); + if ( count($newresp['data']['responseData']) >= $this->settings->vmQuotaPerUser ) + { + // we're over quota! + // delete the disk we just created + if ( isset($args['disk']) ) + { + $this->mediumRemove(array( + 'medium' => $args['disk'], + 'type' => 'HardDisk', + 'delete' => true + ), $newresp); + } + throw new Exception("Sorry, you're over quota. You can only create up to {$this->settings->vmQuotaPerUser} VMs."); + } + } + } + + // create machine + if (@$this->settings->enforceVMOwnership ) + $args['name'] = $_SESSION['user'] . '_' . $args['name']; + + /* Check if file exists */ + $filename = $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); + + if($this->remote_fileExists(array('file'=>$filename))) { + return array('exists' => $filename); + } + + + /* @var $m IMachine */ + $m = $this->vbox->createMachine(null,$args['name'],"x86",($this->settings->phpVboxGroups ? '' : $args['group']),$args['ostype'],null,null,null,null); + + /* Check for phpVirtualBox groups */ + if($this->settings->phpVboxGroups && $args['group']) { + $m->setExtraData(vboxconnector::phpVboxGroupKey, $args['group']); + } + + // Set memory + $m->memorySize = intval($args['memory']); + + + // Save and register + $m->saveSettings(); + if((string)$m->FirmwareSettings->firmwareType == 'EFI') { + $m->nonVolatileStore->initUefiVariableStore(0); + } + $this->vbox->registerMachine($m->handle); + $vm = $m->id; + $m->releaseRemote(); + + try { + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Lock VM + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($vm); + $machine->lockMachine($this->session->handle,'Write'); + + // OS defaults + $defaults = $this->vbox->getGuestOSType($args['ostype']); + + // Ownership enforcement + if ( isset($_SESSION['user']) ) + { + $this->session->machine->setExtraData('phpvb/sso/owner', $_SESSION['user']); + } + + // set the vboxauthsimple in VM config + $this->session->machine->setExtraData('VBoxAuthSimple/users/'.$_SESSION['user'].'', $_SESSION['uHash']); + + // Always set + $this->session->machine->setExtraData('GUI/FirstRun', 'yes'); + + try { + if($this->session->machine->VRDEServer && $this->vbox->systemProperties->defaultVRDEExtPack) { + $this->session->machine->VRDEServer->enabled = 1; + $this->session->machine->VRDEServer->authTimeout = 5000; + $this->session->machine->VRDEServer->setVRDEProperty('TCP/Ports',($this->settings->vrdeports ? $this->settings->vrdeports : '3390-5000')); + $this->session->machine->VRDEServer->setVRDEProperty('TCP/Address',($this->settings->vrdeaddress ? $this->settings->vrdeaddress : '127.0.0.1')); + } + } catch (Exception $e) { + //Ignore + } + + // Other defaults + $this->session->machine->FirmwareSettings->IOAPICEnabled = $defaults->recommendedIOAPIC; + $this->session->machine->Platform->RTCUseUTC = $defaults->recommendedRTCUseUTC; + $this->session->machine->FirmwareSettings->firmwareType = (string)$defaults->recommendedFirmware; + $this->session->machine->Platform->chipsetType = (string)$defaults->recommendedChipset; + $this->session->machine->ClipboardMode = 'Disabled'; + if(intval($defaults->recommendedVRAM) > 0) $this->session->machine->GraphicsAdapter->setVRAMSize(intval($defaults->recommendedVRAM)); + $this->session->machine->GraphicsAdapter->setGraphicsControllerType((string)$defaults->recommendedGraphicsController); + $this->session->machine->Platform->X86->setCpuProperty('PAE',$defaults->recommendedPAE); + + // USB input devices + if($defaults->recommendedUSBHid) { + $this->session->machine->pointingHIDType = 'USBMouse'; + $this->session->machine->keyboardHIDType = 'USBKeyboard'; + } + + /* Only if acceleration configuration is available */ + if($this->vbox->host->getProcessorFeature('HWVirtEx')) { + $this->session->machine->Platform->X86->setHWVirtExProperty('Enabled',$defaults->recommendedVirtEx); + } + + /* + * Hard Disk and DVD/CD Drive + */ + $DVDbusType = (string)$defaults->recommendedDVDStorageBus; + $DVDconType = (string)$defaults->recommendedDVDStorageController; + + // Attach harddisk? + if($args['disk']) { + + $HDbusType = (string)$defaults->recommendedHDStorageBus; + $HDconType = (string)$defaults->recommendedHDStorageController; + + $bus = new StorageBus(null,$HDbusType); + $sc = $this->session->machine->addStorageController(trans($HDbusType,'UIMachineSettingsStorage'),(string)$bus); + $sc->controllerType = $HDconType; + $sc->useHostIOCache = (bool)$this->vbox->systemProperties->getDefaultIoCacheSettingForStorageController($HDconType); + + // Set port count? + if($HDbusType == 'SATA') { + $sc->portCount = (($HDbusType == $DVDbusType) ? 2 : 1); + } + + $sc->releaseRemote(); + + $m = $this->vbox->openMedium($args['disk'],'HardDisk','ReadWrite',false); + + $this->session->machine->attachDevice(trans($HDbusType,'UIMachineSettingsStorage'),0,0,'HardDisk',$m->handle); + + $m->releaseRemote(); + + } + + // Attach DVD/CDROM + if($DVDbusType) { + + if(!$args['disk'] || ($HDbusType != $DVDbusType)) { + + $bus = new StorageBus(null,$DVDbusType); + $sc = $this->session->machine->addStorageController(trans($DVDbusType,'UIMachineSettingsStorage'),(string)$bus); + $sc->controllerType = $DVDconType; + $sc->useHostIOCache = (bool)$this->vbox->systemProperties->getDefaultIoCacheSettingForStorageController($DVDconType); + + // Set port count? + if($DVDbusType == 'SATA') { + $sc->portCount = ($args['disk'] ? 1 : 2); + } + + $sc->releaseRemote(); + } + + $this->session->machine->attachDevice(trans($DVDbusType,'UIMachineSettingsStorage'),1,0,'DVD',null); + + } + + $this->session->machine->saveSettings(); + $this->session->unlockMachine(); + $this->session = null; + + $machine->releaseRemote(); + + } catch (Exception $e) { + $this->errors[] = $e; + return false; + } + + return true; + + } + + + /** + * Return a list of network adapters attached to machine $m + * + * @param IMachine $m virtual machine instance + * @param int $slot optional slot of single network adapter to get + * @return array of network adapter information + */ + private function _machineGetNetworkAdapters(&$m, $slot=false) { + + $adapters = array(); + + for($i = ($slot === false ? 0 : $slot); $i < ($slot === false ? $this->settings->nicMax : ($slot+1)); $i++) { + + /* @var $n INetworkAdapter */ + $n = $m->getNetworkAdapter($i); + + // Avoid duplicate calls + $at = (string)$n->attachmentType; + if($at == 'NAT') $nd = $n->NATEngine; /* @var $nd INATEngine */ + else $nd = null; + + $props = $n->getProperties(null); + $props = implode("\n",array_map(function($a,$b){return "$a=$b";},$props[1],$props[0])); + + $adapters[] = array( + 'adapterType' => (string)$n->adapterType, + 'slot' => $n->slot, + 'enabled' => $n->enabled, + 'MACAddress' => $n->MACAddress, + 'attachmentType' => $at, + 'genericDriver' => $n->genericDriver, + 'hostOnlyInterface' => $n->hostOnlyInterface, + 'bridgedInterface' => $n->bridgedInterface, + 'properties' => $props, + 'internalNetwork' => $n->internalNetwork, + 'NATNetwork' => $n->NATNetwork, + 'promiscModePolicy' => (string)$n->promiscModePolicy, + 'VDENetwork' => ($this->settings->enableVDE ? $n->VDENetwork : ''), + 'cableConnected' => $n->cableConnected, + 'NATEngine' => ($at == 'NAT' ? + array('aliasMode' => intval($nd->aliasMode),'DNSPassDomain' => $nd->DNSPassDomain, 'DNSProxy' => $nd->DNSProxy, 'DNSUseHostResolver' => $nd->DNSUseHostResolver, 'hostIP' => $nd->hostIP) + : array('aliasMode' => 0,'DNSPassDomain' => 0, 'DNSProxy' => 0, 'DNSUseHostResolver' => 0, 'hostIP' => '')), + 'lineSpeed' => $n->lineSpeed, + 'redirects' => ( + $at == 'NAT' ? + $nd->getRedirects() + : array() + ) + ); + + $n->releaseRemote(); + } + + return $adapters; + + } + + + /** + * Return a list of virtual machines along with their states and other basic info + * + * @param array $args array of arguments. See function body for details. + * @return array list of machines + */ + public function remote_vboxGetMachines($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $vmlist = array(); + + // Look for a request for a single vm + if($args['vm']) { + + $machines = array($this->vbox->findMachine($args['vm'])); + + // Full list + } else { + //Get a list of registered machines + $machines = $this->vbox->machines; + + } + + + + foreach ($machines as $machine) { /* @var $machine IMachine */ + + + try { + + if(!$machine->accessible) { + + $vmlist[] = array( + 'name' => $machine->id, + 'state' => 'Inaccessible', + 'OSTypeId' => 'Other', + 'id' => $machine->id, + 'sessionState' => 'Inaccessible', + 'accessible' => 0, + 'accessError' => array( + 'resultCode' => $this->_util_resultCodeText($machine->accessError->resultCode), + 'component' => $machine->accessError->component, + 'text' => $machine->accessError->text), + 'lastStateChange' => 0, + 'groups' => array(), + 'currentSnapshot' => '' + + ); + + continue; + } + + if($this->settings->phpVboxGroups) { + $groups = explode(',',$machine->getExtraData(vboxconnector::phpVboxGroupKey)); + if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); + } else { + $groups = $machine->groups; + } + + usort($groups, 'strnatcasecmp'); + + $vmlist[] = array( + 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $machine->name) : $machine->name, + 'state' => (string)$machine->state, + 'OSTypeId' => $machine->getOSTypeId(), + 'owner' => (@$this->settings->enforceVMOwnership ? $machine->getExtraData("phpvb/sso/owner") : ''), + 'groups' => $groups, + 'lastStateChange' => (string)($machine->lastStateChange/1000), + 'id' => $machine->id, + 'currentStateModified' => $machine->currentStateModified, + 'sessionState' => (string)$machine->sessionState, + 'currentSnapshotName' => ($machine->currentSnapshot->handle ? $machine->currentSnapshot->name : ''), + 'customIcon' => (@$this->settings->enableCustomIcons ? $machine->getExtraData('phpvb/icon') : '') + ); + if($machine->currentSnapshot->handle) $machine->currentSnapshot->releaseRemote(); + + + } catch (Exception $e) { + + if($machine) { + + $vmlist[] = array( + 'name' => $machine->id, + 'state' => 'Inaccessible', + 'OSTypeId' => 'Other', + 'id' => $machine->id, + 'sessionState' => 'Inaccessible', + 'lastStateChange' => 0, + 'groups' => array(), + 'currentSnapshot' => '' + ); + + } else { + $this->errors[] = $e; + } + } + + try { + $machine->releaseRemote(); + } catch (Exception $e) { } + } + + return $vmlist; + + } + + /** + * Creates a new exception so that input can be debugged. + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function debugInput($args) { + $this->errors[] = new Exception('debug'); + return true; + } + + /** + * Get a list of media registered with VirtualBox + * + * @param unused $args + * @param array $response response data passed byref populated by the function + * @return array of media + */ + public function remote_vboxGetMedia($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $response = array(); + $mds = array($this->vbox->hardDisks,$this->vbox->DVDImages,$this->vbox->floppyImages); + for($i=0;$i<3;$i++) { + foreach($mds[$i] as $m) { + /* @var $m IMedium */ + $response[] = $this->_mediumGetDetails($m); + $m->releaseRemote(); + } + } + return $response; + } + + /** + * Get USB controller information + * + * @param IMachine $m virtual machine instance + * @return array USB controller info + */ + private function _machineGetUSBControllers(&$m) { + + /* @var $u IUSBController */ + $controllers = &$m->USBControllers; + + $rcons = array(); + foreach($controllers as $c) { + $rcons[] = array( + 'name' => $c->name, + 'type' => (string)$c->type + ); + $c->releaseRemote(); + } + + return $rcons; + } + + /** + * Get USB device filters + * + * @param IMachine $m virtual machine instance + * @return array USB device filters + */ + private function _machineGetUSBDeviceFilters(&$m) { + + $deviceFilters = array(); + foreach($m->USBDeviceFilters->deviceFilters as $df) { /* @var $df IUSBDeviceFilter */ + + $deviceFilters[] = array( + 'name' => $df->name, + 'active' => $df->active, + 'vendorId' => $df->vendorId, + 'productId' => $df->productId, + 'revision' => $df->revision, + 'manufacturer' => $df->manufacturer, + 'product' => $df->product, + 'serialNumber' => $df->serialNumber, + 'port' => $df->port, + 'remote' => $df->remote + ); + $df->releaseRemote(); + } + return $deviceFilters; + } + + /** + * Return top-level virtual machine or snapshot information + * + * @param IMachine $m virtual machine instance + * @return array vm or snapshot data + */ + private function _machineGetDetails(&$m) { + + if($this->settings->phpVboxGroups) { + $groups = explode(',',$m->getExtraData(vboxconnector::phpVboxGroupKey)); + if(!is_array($groups) || (count($groups) == 1 && !$groups[0])) $groups = array("/"); + } else { + $groups = $m->groups; + } + + usort($groups, 'strnatcasecmp'); + + return array( + 'name' => @$this->settings->enforceVMOwnership ? preg_replace('/^' . preg_quote($_SESSION['user']) . '_/', '', $m->name) : $m->name, + 'description' => $m->description, + 'groups' => $groups, + 'id' => $m->id, + 'autostopType' => ($this->settings->vboxAutostartConfig ? (string)$m->autostopType : ''), + 'autostartEnabled' => ($this->settings->vboxAutostartConfig && $m->autostartEnabled), + 'autostartDelay' => ($this->settings->vboxAutostartConfig ? intval($m->autostartDelay) : '0'), + 'settingsFilePath' => $m->settingsFilePath, + 'paravirtProvider' => (string)$m->paravirtProvider, + 'OSTypeId' => $m->OSTypeId, + 'OSTypeDesc' => $this->vbox->getGuestOSType($m->OSTypeId)->description, + 'CPUCount' => $m->CPUCount, + 'HPETEnabled' => $m->Platform->X86->HPETEnabled, + 'memorySize' => $m->memorySize, + 'VRAMSize' => $m->GraphicsAdapter->VRAMSize, + 'graphicsControllerType' => (string)$m->GraphicsAdapter->graphicsControllerType, + 'pointingHIDType' => (string)$m->pointingHIDType, + 'keyboardHIDType' => (string)$m->keyboardHIDType, + 'accelerate3DEnabled' => $m->GraphicsAdapter->isFeatureEnabled("Acceleration3D"), + 'BIOSSettings' => array( + 'ACPIEnabled' => $m->FirmwareSettings->ACPIEnabled, + 'IOAPICEnabled' => $m->FirmwareSettings->IOAPICEnabled, + 'timeOffset' => $m->FirmwareSettings->timeOffset + ), + 'trustedPlatformModule' => array( + 'type' => (string)$m->trustedPlatformModule->type + ), + 'secureBootEnabled' => (((string)$m->FirmwareSettings->firmwareType != 'BIOS' && $m->nonVolatileStore->uefiVariableStore != null) ? (bool)$m->nonVolatileStore->uefiVariableStore->secureBootEnabled : false), + 'firmwareType' => (string)$m->FirmwareSettings->firmwareType, + 'snapshotFolder' => $m->snapshotFolder, + 'ClipboardMode' => (string)$m->ClipboardMode, + 'monitorCount' => $m->GraphicsAdapter->monitorCount, + // Page Fusion does not work properly in 7.2 + //'pageFusionEnabled' => $m->pageFusionEnabled, + 'VRDEServer' => (!$m->VRDEServer ? null : array( + 'enabled' => $m->VRDEServer->enabled, + 'ports' => $m->VRDEServer->getVRDEProperty('TCP/Ports'), + 'netAddress' => $m->VRDEServer->getVRDEProperty('TCP/Address'), + 'SecurityMethod' => $m->VRDEServer->getVRDEProperty('Security/Method'), + 'VNCPassword' => $m->VRDEServer->getVRDEProperty('VNCPassword'), + 'authType' => (string)$m->VRDEServer->authType, + 'authTimeout' => $m->VRDEServer->authTimeout, + 'allowMultiConnection' => $m->VRDEServer->allowMultiConnection, + 'VRDEExtPack' => (string)$m->VRDEServer->VRDEExtPack + )), + 'audioAdapter' => array( + 'enabled' => $m->audioSettings->Adapter->enabled, + 'audioController' => (string)$m->audioSettings->Adapter->audioController, + 'audioDriver' => (string)$m->audioSettings->Adapter->audioDriver, + ), + 'RTCUseUTC' => $m->Platform->RTCUseUTC, + 'EffectiveParavirtProvider' => (string)$m->getEffectiveParavirtProvider(), + 'HWVirtExProperties' => array( + 'Enabled' => $m->Platform->X86->getHWVirtExProperty('Enabled'), + 'NestedPaging' => $m->Platform->X86->getHWVirtExProperty('NestedPaging'), + 'LargePages' => $m->Platform->X86->getHWVirtExProperty('LargePages'), + 'UnrestrictedExecution' => $m->Platform->X86->getHWVirtExProperty('UnrestrictedExecution'), + 'VPID' => $m->Platform->X86->getHWVirtExProperty('VPID') + ), + 'CpuProperties' => array( + 'PAE' => $m->Platform->X86->getCpuProperty('PAE'), + 'HWVirt' => $m->Platform->X86->getCpuProperty('HWVirt') + ), + 'bootOrder' => $this->_machineGetBootOrder($m), + 'chipsetType' => (string)$m->Platform->chipsetType, + 'GUI' => array( + 'FirstRun' => $m->getExtraData('GUI/FirstRun'), + ), + 'customIcon' => (@$this->settings->enableCustomIcons ? $m->getExtraData('phpvb/icon') : ''), + 'disableHostTimeSync' => intval($m->getExtraData("VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled")), + 'CPUExecutionCap' => $m->CPUExecutionCap + ); + + } + + /** + * Get virtual machine boot order + * + * @param IMachine $m virtual machine instance + * @return array boot order + */ + private function _machineGetBootOrder(&$m) { + $return = array(); + $mbp = $this->vbox->systemProperties->platform->maxBootPosition; + for($i = 0; $i < $mbp; $i ++) { + if(($b = (string)$m->getBootOrder($i + 1)) == 'Null') continue; + $return[] = $b; + } + return $return; + } + + /** + * Get serial port configuration for a virtual machine or snapshot + * + * @param IMachine $m virtual machine instance + * @return array serial port info + */ + private function _machineGetSerialPorts(&$m) { + $ports = array(); + $max = $this->vbox->systemProperties->platform->serialPortCount; + for($i = 0; $i < $max; $i++) { + try { + /* @var $p ISerialPort */ + $p = $m->getSerialPort($i); + $ports[] = array( + 'slot' => $p->slot, + 'enabled' => $p->enabled, + // change in 7.1 - IOBase IOAddress + 'IOBase' => '0x'.strtoupper(sprintf('%3s',dechex($p->IOAddress))), + 'IRQ' => $p->IRQ, + 'hostMode' => (string)$p->hostMode, + 'server' => $p->server, + 'path' => $p->path + ); + $p->releaseRemote(); + } catch (Exception $e) { + // Ignore + } + } + return $ports; + } + + /** + * Get parallel port configuration for a virtual machine or snapshot + * + * @param IMachine $m virtual machine instance + * @return array parallel port info + */ + private function _machineGetParallelPorts(&$m) { + if(!@$this->settings->enableLPTConfig) return array(); + $ports = array(); + $max = $this->vbox->systemProperties->platform->parallelPortCount; + for($i = 0; $i < $max; $i++) { + try { + /* @var $p IParallelPort */ + $p = $m->getParallelPort($i); + $ports[] = array( + 'slot' => $p->slot, + 'enabled' => $p->enabled, + 'IOBase' => '0x'.strtoupper(sprintf('%3s',dechex($p->IOBase))), + 'IRQ' => $p->IRQ, + 'path' => $p->path + ); + $p->releaseRemote(); + } catch (Exception $e) { + // Ignore + } + } + return $ports; + } + + /** + * Get shared folder configuration for a virtual machine or snapshot + * + * @param IMachine $m virtual machine instance + * @return array shared folder info + */ + private function _machineGetSharedFolders(&$m) { + $sfs = &$m->sharedFolders; + $return = array(); + foreach($sfs as $sf) { /* @var $sf ISharedFolder */ + $return[] = array( + 'name' => $sf->name, + 'hostPath' => $sf->hostPath, + 'accessible' => $sf->accessible, + 'writable' => $sf->writable, + 'autoMount' => $sf->autoMount, + 'autoMountPoint' => $sf->autoMountPoint, + 'lastAccessError' => $sf->lastAccessError, + 'type' => 'machine' + ); + } + return $return; + } + + /** + * Add encryption password to VM console + * + * @param array $args array of arguments. See function body for details. + * @return true on success + */ + public function remote_consoleAddDiskEncryptionPasswords($args) { + + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle,'Shared'); + + $response = array('accepted'=>array(),'failed'=>array(),'errors'=>array()); + + foreach($args['passwords'] as $creds) { + try { + $this->session->console->removeEncryptionPassword($creds['id']); + } catch(Exception $e) { + // It may not exist yet + } + + try { + $this->session->console->addEncryptionPassword($creds['id'], $creds['password'], (bool)@$args['clearOnSuspend']); + $response['accepted'][] = $creds['id']; + } catch (Exception $e) { + $response['failed'][] = $creds['id']; + $response['errors'][] = $e->getMessage(); + } + } + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return $response; + } + + /** + * Get a list of transient (temporary) shared folders + * + * @param array $args array of arguments. See function body for details. + * @return array of shared folders + */ + public function remote_consoleGetSharedFolders($args) { + + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + // No need to continue if machine is not running + if((string)$machine->state != 'Running') { + $machine->releaseRemote(); + return true; + } + + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle,'Shared'); + + $sfs = $this->session->console->sharedFolders; + + $response = array(); + + foreach($sfs as $sf) { /* @var $sf ISharedFolder */ + + $response[] = array( + 'name' => $sf->name, + 'hostPath' => $sf->hostPath, + 'accessible' => $sf->accessible, + 'writable' => $sf->writable, + 'autoMount' => $sf->autoMount, + 'autoMountPoint' => $sf->autoMountPoint, + 'lastAccessError' => $sf->lastAccessError, + 'type' => 'transient' + ); + } + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return $response; + } + + /** + * Get VirtualBox Host OS specific directory separator + * + * @return string directory separator string + */ + public function getDsep() { + + if(!$this->dsep) { + + /* No need to go through vbox if local browser is true */ + if($this->settings->browserLocal) { + + $this->dsep = DIRECTORY_SEPARATOR; + + } else { + + $this->connect(); + + if(stripos($this->vbox->host->operatingSystem,'windows') !== false) { + $this->dsep = '\\'; + } else { + $this->dsep = '/'; + } + } + + + } + + return $this->dsep; + } + + /** + * Get medium attachment information for all medium attachments in $mas + * + * @param IMediumAttachment[] $mas list of IMediumAttachment instances + * @return array medium attachment info + */ + private function _machineGetMediumAttachments(&$mas) { + + $return = array(); + + foreach($mas as $ma) { /** @var $ma IMediumAttachment */ + $return[] = array( + 'medium' => ($ma->medium->handle ? array('id'=>$ma->medium->id) : null), + 'controller' => $ma->controller, + 'port' => $ma->port, + 'device' => $ma->device, + 'type' => (string)$ma->type, + 'passthrough' => $ma->passthrough, + 'temporaryEject' => $ma->temporaryEject, + 'nonRotational' => $ma->nonRotational, + 'hotPluggable' => $ma->hotPluggable, + 'discard' => $ma->discard, + ); + } + + // sort by port then device + usort($return,function($a,$b){if($a["port"] == $b["port"]) { if($a["device"] < $b["device"]) { return -1; } if($a["device"] > $b["device"]) { return 1; } return 0; } if($a["port"] < $b["port"]) { return -1; } return 1;}); + + return $return; + } + + /** + * Save snapshot details ( description or name) + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_snapshotSave($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $vm IMachine */ + $vm = $this->vbox->findMachine($args['vm']); + + /* @var $snapshot ISnapshot */ + $snapshot = $vm->findSnapshot($args['snapshot']); + $snapshot->name = $args['name']; + $snapshot->description = $args['description']; + + // cleanup + $snapshot->releaseRemote(); + $vm->releaseRemote(); + + return true; + } + + /** + * Get snapshot details + * + * @param array $args array of arguments. See function body for details. + * @return array containing snapshot details + */ + public function remote_snapshotGetDetails($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $vm IMachine */ + $vm = $this->vbox->findMachine($args['vm']); + + /* @var $snapshot ISnapshot */ + $snapshot = $vm->findSnapshot($args['snapshot']); + + $response = $this->_snapshotGetDetails($snapshot,false); + $response['machine'] = $this->remote_machineGetDetails(array(),$snapshot->machine); + + // cleanup + $snapshot->releaseRemote(); + $vm->releaseRemote(); + + return $response; + + } + + /** + * Restore a snapshot + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress operation id + */ + public function remote_snapshotRestore($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $progress = $this->session = null; + + try { + + // Open session to machine + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $machine->lockMachine($this->session->handle, 'Write'); + + /* @var $snapshot ISnapshot */ + $snapshot = $this->session->machine->findSnapshot($args['snapshot']); + + /* @var $progress IProgress */ + $progress = $this->session->machine->restoreSnapshot($snapshot->handle); + + $snapshot->releaseRemote(); + $machine->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $this->_util_progressStore($progress); + + } catch (Exception $e) { + + $this->errors[] = $e; + + if($this->session->handle) { + try{$this->session->unlockMachine();}catch(Exception $e){} + } + return false; + } + + return array('progress' => $progress->handle); + + } + + /** + * Delete a snapshot + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress operation id + */ + public function remote_snapshotDelete($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $progress = $this->session = null; + + try { + + // Open session to machine + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $machine->lockMachine($this->session->handle, 'Shared'); + + /* @var $progress IProgress */ + $progress = $this->session->machine->deleteSnapshot($args['snapshot']); + + $machine->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $this->_util_progressStore($progress); + + + } catch (Exception $e) { + + $this->errors[] = $e; + + if($this->session->handle) { + try{$this->session->unlockMachine();$this->session=null;}catch(Exception $e){} + } + + return false; + } + + return array('progress' => $progress->handle); + + } + + /** + * Take a snapshot + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress operation id + */ + public function remote_snapshotTake($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + $progress = $this->session = null; + + try { + + // Open session to machine + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, ((string)$machine->sessionState == 'Unlocked' ? 'Write' : 'Shared')); + + /* @var $progress IProgress */ + list($progress, $snapshotId) = $this->session->machine->takeSnapshot($args['name'], $args['description'], true); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + try{$this->session->unlockMachine(); $this->session=null;}catch(Exception $ed){} + return false; + } + } catch (Exception $null) {} + + + $this->_util_progressStore($progress); + + } catch (Exception $e) { + + if(!$progress->handle && $this->session->handle) { + try{$this->session->unlockMachine();$this->session=null;}catch(Exception $e){} + } + + return false; + } + + return array('progress' => $progress->handle); + + } + + /** + * Get a list of snapshots for a machine + * + * @param array $args array of arguments. See function body for details. + * @return array list of snapshots + */ + public function remote_machineGetSnapshots($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + + $response = array('vm' => $args['vm'], + 'snapshot' => array(), + 'currentSnapshotId' => null); + + /* No snapshots? Empty array */ + if($machine->snapshotCount < 1) { + return $response; + } else { + + /* @var $s ISnapshot */ + $s = $machine->findSnapshot(null); + $response['snapshot'] = $this->_snapshotGetDetails($s,true); + $s->releaseRemote(); + } + + $response['currentSnapshotId'] = ($machine->currentSnapshot->handle ? $machine->currentSnapshot->id : ''); + if($machine->currentSnapshot->handle) $machine->currentSnapshot->releaseRemote(); + $machine->releaseRemote(); + + return $response; + } + + + /** + * Return details about snapshot $s + * + * @param ISnapshot $s snapshot instance + * @param boolean $sninfo traverse child snapshots + * @return array snapshot info + */ + private function _snapshotGetDetails(&$s,$sninfo=false) { + + $children = array(); + + if($sninfo) + foreach($s->children as $c) { /* @var $c ISnapshot */ + $children[] = $this->_snapshotGetDetails($c, true); + $c->releaseRemote(); + } + + // Avoid multiple soap calls + $timestamp = (string)$s->timeStamp; + + return array( + 'id' => $s->id, + 'name' => $s->name, + 'description' => $s->description, + 'timeStamp' => floor($timestamp/1000), + 'timeStampSplit' => $this->_util_splitTime(time() - floor($timestamp/1000)), + 'online' => $s->online + ) + ( + ($sninfo ? array('children' => $children) : array()) + ); + } + + /** + * Return details about storage controllers for machine $m + * + * @param IMachine $m virtual machine instance + * @return array storage controllers' details + */ + private function _machineGetStorageControllers(&$m) { + + $sc = array(); + $scs = $m->storageControllers; + + foreach($scs as $c) { /* @var $c IStorageController */ + $sc[] = array( + 'name' => $c->name, + 'maxDevicesPerPortCount' => $c->maxDevicesPerPortCount, + 'useHostIOCache' => $c->useHostIOCache, + 'minPortCount' => $c->minPortCount, + 'maxPortCount' => $c->maxPortCount, + 'portCount' => $c->portCount, + 'bus' => (string)$c->bus, + 'controllerType' => (string)$c->controllerType, + 'mediumAttachments' => $this->_machineGetMediumAttachments($m->getMediumAttachmentsOfController($c->name), $m->id) + ); + $c->releaseRemote(); + } + + for($i = 0; $i < count($sc); $i++) { + + for($a = 0; $a < count($sc[$i]['mediumAttachments']); $a++) { + + // Value of '' means it is not applicable + $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = ''; + + // Only valid for HardDisks + if($sc[$i]['mediumAttachments'][$a]['type'] != 'HardDisk') continue; + + // Get appropriate key + $xtra = $this->_util_getIgnoreFlushKey($sc[$i]['mediumAttachments'][$a]['port'], $sc[$i]['mediumAttachments'][$a]['device'], $sc[$i]['controllerType']); + + // No such setting for this bus type + if(!$xtra) continue; + + $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = $m->getExtraData($xtra); + + if(trim($sc[$i]['mediumAttachments'][$a]['ignoreFlush']) === '') + $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = 1; + else + $sc[$i]['mediumAttachments'][$a]['ignoreFlush'] = $sc[$i]['mediumAttachments'][$a]['ignoreFlush']; + + } + } + + return $sc; + } + + /** + * Check medium encryption password + * + * @param array $args array of arguments. See function body for details. + * @return array response data + */ + public function remote_mediumCheckEncryptionPassword($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $m = $this->vbox->openMedium($args['medium'],'HardDisk','ReadWrite',false); + + $retval = $m->checkEncryptionPassword($args['password']); + + $m->releaseRemote(); + + return $retval; + + } + + /** + * Change medium encryption + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress id or true + */ + public function remote_mediumChangeEncryption($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); + + /* @var $progress IProgress */ + if(empty($args['password'])) $args['id'] = ""; + $progress = $m->changeEncryption($args['old_password'], + $args['cipher'], $args['password'], $args['id']); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + $m->releaseRemote(); + return false; + } + } catch (Exception $null) { + } + + if($args['waitForCompletion']) { + $progress->waitForCompletion(-1); + $progress->releaseRemote(); + $m->releaseRemote(); + return true; + } + + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + /** + * Resize a medium. Currently unimplemented in GUI. + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress id + */ + public function remote_mediumResize($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); + + /* @var $progress IProgress */ + $progress = $m->resize($args['bytes']); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) { + } + + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle); + + } + + /** + * Clone a medium + * + * @param array $args array of arguments. See function body for details. + * @return array response data containing progress id + */ + public function remote_mediumCloneTo($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $format = strtoupper($args['format']); + /* @var $target IMedium */ + $target = $this->vbox->createMedium($format, $args['location'], 'ReadWrite', 'HardDisk'); + $mid = $target->id; + + /* @var $src IMedium */ + $src = $this->vbox->openMedium($args['src'], 'HardDisk', 'ReadWrite', false); + + $type = array(($args['type'] == 'fixed' ? 'Fixed' : 'Standard')); + if($args['split']) $type[] = 'VmdkSplit2G'; + + /* @var $progress IProgress */ + $progress = $src->cloneTo($target->handle,$type,null); + + $src->releaseRemote(); + $target->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $this->_util_progressStore($progress); + + return array('progress' => $progress->handle, 'id' => $mid); + + } + + /** + * Set medium to a specific type + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_mediumSetType($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $m IMedium */ + $m = $this->vbox->openMedium($args['medium'], 'HardDisk', 'ReadWrite', false); + $m->type = $args['type']; + $m->releaseRemote(); + + return true; + } + + /** + * Add iSCSI medium + * + * @param array $args array of arguments. See function body for details. + * @return response data + */ + public function remote_mediumAddISCSI($args) { + + // Connect to vboxwebsrv + $this->connect(); + + // {'server':server,'port':port,'intnet':intnet,'target':target,'lun':lun,'enclun':enclun,'targetUser':user,'targetPass':pass} + + // Fix LUN + $args['lun'] = intval($args['lun']); + if($args['enclun']) $args['lun'] = 'enc'.$args['lun']; + + // Compose name + $name = $args['server'].'|'.$args['target']; + if($args['lun'] != 0 && $args['lun'] != 'enc0') + $name .= '|'.$args['lun']; + + // Create disk + /* @var $hd IMedium */ + $hd = $this->vbox->createMedium('iSCSI',$name, 'ReadWrite', 'HardDisk'); + + if($args['port']) $args['server'] .= ':'.intval($args['port']); + + $arrProps = array(); + + $arrProps["TargetAddress"] = $args['server']; + $arrProps["TargetName"] = $args['target']; + $arrProps["LUN"] = $args['lun']; + if($args['targetUser']) $arrProps["InitiatorUsername"] = $args['targetUser']; + if($args['targetPass']) $arrProps["InitiatorSecret"] = $args['targetPass']; + if($args['intnet']) $arrProps["HostIPStack"] = '0'; + + $hd->setProperties(array_keys($arrProps),array_values($arrProps)); + + $hdid = $hd->id; + $hd->releaseRemote(); + + return array('id' => $hdid); + } + + /** + * Add existing medium by file location + * + * @param array $args array of arguments. See function body for details. + * @return resposne data containing new medium's id + */ + public function remote_mediumAdd($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $m IMedium */ + $m = $this->vbox->openMedium($args['path'], $args['type'], 'ReadWrite', false); + + $mid = $m->id; + $m->releaseRemote(); + + return array('id'=>$mid); + } + + /** + * Get VirtualBox generated machine configuration file name + * + * @param array $args array of arguments. See function body for details. + * @return string filename + */ + public function remote_vboxGetComposedMachineFilename($args) { + + // Connect to vboxwebsrv + $this->connect(); + + return $this->vbox->composeMachineFilename($args['name'],($this->settings->phpVboxGroups ? '' : $args['group']),$this->vbox->systemProperties->defaultMachineFolder,null); + + } + + /** + * Create base storage medium (virtual hard disk) + * + * @param array $args array of arguments. See function body for details. + * @return response data containing progress id + */ + public function remote_mediumCreateBaseStorage($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $format = strtoupper($args['format']); + + $type = array(($args['type'] == 'fixed' ? 'Fixed' : 'Standard')); + if($args['split']) $type[] = 'VmdkSplit2G'; + + /* @var $hd IMedium */ + $hd = $this->vbox->createMedium($format, $args['file'], 'ReadWrite', 'HardDisk'); + + /* @var $progress IProgress */ + $progress = $hd->createBaseStorage(intval($args['size'])*1024*1024,$type); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) {} + + $this->_util_progressStore($progress); + + $hd->releaseRemote(); + + return array('progress' => $progress->handle); + + } + + /** + * Release medium from all attachments + * + * @param array $args array of arguments. See function body for details. + * @return boolean true + */ + public function remote_mediumRelease($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $m IMedium */ + $m = $this->vbox->openMedium($args['medium'],$args['type'], 'ReadWrite', false); + $mediumid = $m->id; + + // connected to... + $machines = $m->machineIds; + $released = array(); + foreach($machines as $uuid) { + + // Find medium attachment + try { + /* @var $mach IMachine */ + $mach = $this->vbox->findMachine($uuid); + } catch (Exception $e) { + $this->errors[] = $e; + continue; + } + $attach = $mach->mediumAttachments; + $remove = array(); + foreach($attach as $a) { + if($a->medium->handle && $a->medium->id == $mediumid) { + $remove[] = array( + 'controller' => $a->controller, + 'port' => $a->port, + 'device' => $a->device); + break; + } + } + // save state + $state = (string)$mach->sessionState; + + if(!count($remove)) continue; + + $released[] = $uuid; + + // create session + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + // Hard disk requires machine to be stopped + if($args['type'] == 'HardDisk' || $state == 'Unlocked') { + + $mach->lockMachine($this->session->handle, 'Write'); + + } else { + + $mach->lockMachine($this->session->handle, 'Shared'); + + } + + foreach($remove as $r) { + if($args['type'] == 'HardDisk') { + $this->session->machine->detachDevice($r['controller'],$r['port'],$r['device']); + } else { + $this->session->machine->mountMedium($r['controller'],$r['port'],$r['device'],null,true); + } + } + + $this->session->machine->saveSettings(); + $this->session->machine->releaseRemote(); + $this->session->unlockMachine(); + unset($this->session); + $mach->releaseRemote(); + + } + $m->releaseRemote(); + + return true; + } + + /** + * Remove a medium + * + * @param array $args array of arguments. See function body for details. + * @return response data possibly containing progress operation id + */ + public function remote_mediumRemove($args) { + + // Connect to vboxwebsrv + $this->connect(); + + if(!$args['type']) $args['type'] = 'HardDisk'; + + /* @var $m IMedium */ + $m = $this->vbox->openMedium($args['medium'],$args['type'], 'ReadWrite', false); + + if($args['delete'] && @$this->settings->deleteOnRemove && (string)$m->deviceType == 'HardDisk') { + + /* @var $progress IProgress */ + $progress = $m->deleteStorage(); + + $m->releaseRemote(); + + // Does an exception exist? + try { + if($progress->errorInfo->handle) { + $this->errors[] = new Exception($progress->errorInfo->text); + $progress->releaseRemote(); + return false; + } + } catch (Exception $null) { } + + $this->_util_progressStore($progress); + return array('progress' => $progress->handle); + + } else { + $m->close(); + $m->releaseRemote(); + } + + return true; + } + + /** + * Get a list of recent media + * + * @param array $args array of arguments. See function body for details. + * @return array of recent media + */ + public function remote_vboxRecentMediaGet($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $mlist = array(); + foreach(array( + array('type'=>'HardDisk','key'=>'GUI/RecentListHD'), + array('type'=>'DVD','key'=>'GUI/RecentListCD'), + array('type'=>'Floppy','key'=>'GUI/RecentListFD')) as $r) { + $list = $this->vbox->getExtraData($r['key']); + $mlist[$r['type']] = array_filter(explode(';', trim($list,';'))); + } + return $mlist; + } + + /** + * Get a list of recent media paths + * + * @param array $args array of arguments. See function body for details. + * @return array of recent media paths + */ + public function remote_vboxRecentMediaPathsGet($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $mlist = array(); + foreach(array( + array('type'=>'HardDisk','key'=>'GUI/RecentFolderHD'), + array('type'=>'DVD','key'=>'GUI/RecentFolderCD'), + array('type'=>'Floppy','key'=>'GUI/RecentFolderFD')) as $r) { + $mlist[$r['type']] = $this->vbox->getExtraData($r['key']); + } + return $mlist; + } + + + /** + * Update recent medium path list + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_vboxRecentMediaPathSave($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $types = array( + 'HardDisk'=>'GUI/RecentFolderHD', + 'DVD'=>'GUI/RecentFolderCD', + 'Floppy'=>'GUI/RecentFolderFD' + ); + + $this->vbox->setExtraData($types[$args['type']], $args['folder']); + + return true; + } + + /** + * Update recent media list + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_vboxRecentMediaSave($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $types = array( + 'HardDisk'=>'GUI/RecentListHD', + 'DVD'=>'GUI/RecentListCD', + 'Floppy'=>'GUI/RecentListFD' + ); + + $this->vbox->setExtraData($types[$args['type']], implode(';',array_unique($args['list'])).';'); + + return true; + + } + + /** + * Mount a medium on the VM + * + * @param array $args array of arguments. See function body for details. + * @return boolean true on success + */ + public function remote_mediumMount($args) { + + // Connect to vboxwebsrv + $this->connect(); + + // Find medium attachment + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $state = (string)$machine->sessionState; + + // create session + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + + if($state == 'Unlocked') { + $machine->lockMachine($this->session->handle,'Write'); + $save = true; // force save on closed session as it is not a "run-time" change + } else { + + $machine->lockMachine($this->session->handle, 'Shared'); + } + + // Empty medium / eject + if($args['medium'] == 0) { + $med = null; + } else { + // Host drive + if(strtolower($args['medium']['hostDrive']) == 'true' || $args['medium']['hostDrive'] === true) { + // CD / DVD Drive + if($args['medium']['deviceType'] == 'DVD') { + $drives = $this->vbox->host->DVDDrives; + // floppy drives + } else { + $drives = $this->vbox->host->floppyDrives; + } + foreach($drives as $m) { /* @var $m IMedium */ + if($m->id == $args['medium']['id']) { + /* @var $med IMedium */ + $med = &$m; + break; + } + $m->releaseRemote(); + } + // Normal medium + } else { + /* @var $med IMedium */ + $med = $this->vbox->openMedium($args['medium']['location'],$args['medium']['deviceType'],'ReadWrite',false); + } + } + + $this->session->machine->mountMedium($args['controller'],$args['port'],$args['device'],(is_object($med) ? $med->handle : null),true); + + if(is_object($med)) $med->releaseRemote(); + + if($save) $this->session->machine->saveSettings(); + + $this->session->unlockMachine(); + $machine->releaseRemote(); + unset($this->session); + + return true; + } + + /** + * Get medium details + * + * @param IMedium $m medium instance + * @return array medium details + */ + private function _mediumGetDetails(&$m) { + + $children = array(); + $attachedTo = array(); + $machines = $m->machineIds; + $hasSnapshots = 0; + + foreach($m->children as $c) { /* @var $c IMedium */ + $children[] = $this->_mediumGetDetails($c); + $c->releaseRemote(); + } + + foreach($machines as $mid) { + $sids = $m->getSnapshotIds($mid); + try { + /* @var $mid IMachine */ + $mid = $this->vbox->findMachine($mid); + } catch (Exception $e) { + $attachedTo[] = array('machine' => $mid .' ('.$e->getMessage().')', 'snapshots' => array()); + continue; + } + + $c = count($sids); + $hasSnapshots = max($hasSnapshots,$c); + for($i = 0; $i < $c; $i++) { + if($sids[$i] == $mid->id) { + unset($sids[$i]); + } else { + try { + /* @var $sn ISnapshot */ + $sn = $mid->findSnapshot($sids[$i]); + $sids[$i] = $sn->name; + $sn->releaseRemote(); + } catch(Exception $e) { } + } + } + $hasSnapshots = (count($sids) ? 1 : 0); + $attachedTo[] = array('machine'=>$mid->name,'snapshots'=>$sids); + $mid->releaseRemote(); + } + + // For $fixed value + $mvenum = new MediumVariant(null, null); + $variant = 0; + + foreach($m->variant as $mv) { + $variant += $mvenum->ValueMap[(string)$mv]; + } + + // Encryption settings + $encryptionSettings = null; + if((string)$m->deviceType == 'HardDisk') { + try { + list($id, $cipher) = $m->getEncryptionSettings(); + if($id) { + $encryptionSettings = array( + 'id' => $id, + 'cipher' => $cipher, + ); + } + } catch (Exception $e) { + // Pass. Encryption is not configured + } + + } + return array( + 'id' => $m->id, + 'description' => $m->description, + 'state' => (string)$m->refreshState(), + 'location' => $m->location, + 'name' => $m->name, + 'deviceType' => (string)$m->deviceType, + 'hostDrive' => $m->hostDrive, + 'size' => (string)$m->size, /* (string) to support large disks. Bypass integer limit */ + 'format' => $m->format, + 'type' => (string)$m->type, + 'parent' => (((string)$m->deviceType == 'HardDisk' && $m->parent->handle) ? $m->parent->id : null), + 'children' => $children, + 'base' => (((string)$m->deviceType == 'HardDisk' && $m->base->handle) ? $m->base->id : null), + 'readOnly' => $m->readOnly, + 'logicalSize' => ($m->logicalSize/1024)/1024, + 'autoReset' => $m->autoReset, + 'hasSnapshots' => $hasSnapshots, + 'lastAccessError' => $m->lastAccessError, + 'variant' => $variant, + 'machineIds' => array(), + 'attachedTo' => $attachedTo, + 'encryptionSettings' => $encryptionSettings + ); + + } + + /** + * Store a progress operation so that its status can be polled via progressGet() + * + * @param IProgress $progress progress operation instance + * @return string progress operation handle / id + */ + private function _util_progressStore(&$progress) { + + /* Store vbox and session handle */ + $this->persistentRequest['vboxHandle'] = $this->vbox->handle; + if($this->session->handle) { + $this->persistentRequest['sessionHandle'] = $this->session->handle; + } + + /* Store server if multiple servers are configured */ + if(@is_array($this->settings->servers) && count($this->settings->servers) > 1) + $this->persistentRequest['vboxServer'] = $this->settings->name; + + return $progress->handle; + } + + /** + * Get VirtualBox system properties + * @param array $args array of arguments. See function body for details. + * @return array of system properties + */ + public function remote_vboxSystemPropertiesGet($args) { + + // Connect to vboxwebsrv + $this->connect(); + + $mediumFormats = array(); + + // Shorthand + $sp = $this->vbox->systemProperties; + + // capabilities + $mfCap = new MediumFormatCapabilities(null,''); + foreach($sp->mediumFormats as $mf) { /* @var $mf IMediumFormat */ + $exts = $mf->describeFileExtensions(); + $dtypes = array(); + foreach($exts[1] as $t) $dtypes[] = (string)$t; + $caps = array(); + foreach($mf->capabilities as $c) { + $caps[] = (string)$c; + } + + $mediumFormats[] = array('id'=>$mf->id,'name'=>$mf->name,'extensions'=>array_map('strtolower',$exts[0]),'deviceTypes'=>$dtypes,'capabilities'=>$caps); + + } + + $scs = array(); + + $scts = array_map( + function($sc) { return (string)$sc; }, iterator_to_array($sp->platform->supportedStorageControllerTypes) + ); + + foreach($scts as $t) { + $scs[$t] = $this->vbox->systemProperties->platform->getStorageControllerHotplugCapable($t); + } + + return array( + 'minGuestRAM' => (string)$sp->minGuestRAM, + 'maxGuestRAM' => (string)$sp->maxGuestRAM, + 'minGuestVRAM' => (string)$sp->minGuestVRAM, + 'maxGuestVRAM' => (string)$sp->maxGuestVRAM, + 'minGuestCPUCount' => (string)$sp->minGuestCPUCount, + 'maxGuestCPUCount' => (string)$sp->maxGuestCPUCount, + 'autostartDatabasePath' => (@$this->settings->vboxAutostartConfig ? $sp->autostartDatabasePath : ''), + 'infoVDSize' => (string)$sp->infoVDSize, + 'networkAdapterCount' => 8, // static value for now + 'defaultMachineFolder' => (string)$sp->defaultMachineFolder, + 'defaultHardDiskFormat' => (string)$sp->defaultHardDiskFormat, + 'homeFolder' => $this->vbox->homeFolder, + 'VRDEAuthLibrary' => (string)$sp->VRDEAuthLibrary, + 'defaultAudioDriver' => (string)$sp->defaultAudioDriver, + 'defaultVRDEExtPack' => (string)$sp->defaultVRDEExtPack, + 'mediumFormats' => $mediumFormats, + 'scs' => $scs, + 'supportedPlatformArchitectures' => array_map( + function($arch) { return (string)$arch; }, iterator_to_array($sp->supportedPlatformArchitectures) + ), + 'platform' => array( + 'maxBootPosition' => $sp->platform->maxBootPosition, + 'serialPortCount' => $sp->platform->serialPortCount, + 'parallelPortCount' => $sp->platform->parallelPortCount, + 'supportedParavirtProviders' => array_map( + function($gfc) { return (string)$gfc; }, iterator_to_array($sp->platform->supportedParavirtProviders) + ), + 'supportedFirmwareTypes' => array_map( + function($gfc) { return (string)$gfc; }, iterator_to_array($sp->platform->supportedFirmwareTypes) + ), + 'supportedGuestOSTypes' => array_map( + function($os) { return $os->id; }, iterator_to_array($sp->platform->supportedGuestOSTypes) + ), + 'supportedGfxControllerTypes' => array_map( + function($gfc) { return (string)$gfc; }, iterator_to_array($sp->platform->supportedGfxControllerTypes) + ), + 'supportedNetworkAdapterTypes' => array_map( + function($n) { return (string)$n; }, iterator_to_array($sp->platform->supportedNetworkAdapterTypes) + ), + 'supportedUartTypes' => array_map( + function($u) { return (string)$u; }, iterator_to_array($sp->platform->supportedUartTypes) + ), + 'supportedUSBControllerTypes' => array_map( + function($u) { return (string)$u; }, iterator_to_array($sp->platform->supportedUSBControllerTypes) + ), + 'supportedAudioControllerTypes' => array_map( + function($a) { return (string)$a; }, iterator_to_array($sp->platform->supportedAudioControllerTypes) + ), + 'supportedBootDevices' => array_map( + function($b) { return (string)$b; }, iterator_to_array($sp->platform->supportedBootDevices) + ), + 'supportedStorageBuses' => array_map( + function($sb) { return (string)$sb; }, iterator_to_array($sp->platform->supportedStorageBuses) + ), + 'supportedStorageControllerTypes' => $scts, + 'supportedChipsetTypes' => array_map( + function($ct) { return (string)$ct; }, iterator_to_array($sp->platform->supportedChipsetTypes) + ), + 'supportedIommuTypes' => array_map( + function($i) { return (string)$i; }, iterator_to_array($sp->platform->supportedIommuTypes) + ), + 'supportedTpmTypes' => array_map( + function($t) { return (string)$t; }, iterator_to_array($sp->platform->supportedTpmTypes) + ) + ) + ); + } + + /** + * Get a list of VM log file names + * + * @param array $args array of arguments. See function body for details. + * @return array of log file names + */ + public function remote_machineGetLogFilesList($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + + $logs = array(); + + try { $i = 0; while($l = $m->queryLogFilename($i++)) $logs[] = $l; + } catch (Exception $null) {} + + $lf = $m->logFolder; + $m->releaseRemote(); + + return array('path' => $lf, 'logs' => $logs); + + } + + /** + * Get VM log file contents + * + * @param array $args array of arguments. See function body for details. + * @return string log file contents + */ + public function remote_machineGetLogFile($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $m IMachine */ + $m = $this->vbox->findMachine($args['vm']); + $log = ''; + try { + // Read in 8k chunks + while($l = $m->readLog(intval($args['log']),strlen($log),8192)) { + if(!count($l) || !strlen($l[0])) break; + $log .= base64_decode($l[0]); + } + } catch (Exception $null) {} + $m->releaseRemote(); + + // Attempt to UTF-8 encode string or json_encode may choke + // and return an empty string + if(function_exists('iconv')) + return iconv("ISO-8859-1", "UTF-8", $log); + + return $log; + } + + /** + * Get a list of USB devices attached to a given VM + * + * @param array $args array of arguments. See function body for details. + * @return array list of devices + */ + public function remote_consoleGetUSBDevices($args) { + + // Connect to vboxwebsrv + $this->connect(); + + /* @var $machine IMachine */ + $machine = $this->vbox->findMachine($args['vm']); + $this->session = $this->websessionManager->getSessionObject($this->vbox->handle); + $machine->lockMachine($this->session->handle, 'Shared'); + + $response = array(); + foreach($this->session->console->USBDevices as $u) { /* @var $u IUSBDevice */ + $response[$u->id] = array('id'=>$u->id,'remote'=>$u->remote); + $u->releaseRemote(); + } + + $this->session->unlockMachine(); + unset($this->session); + $machine->releaseRemote(); + + return $response; + + } + + /** + * Return a string representing the VirtualBox ExtraData key + * for this port + device + bus type IgnoreFlush setting + * + * @param integer port medium attachment port number + * @param integer device medium attachment device number + * @param string cType controller type + * @return string extra data setting string + */ + private function _util_getIgnoreFlushKey($port,$device,$cType) { + + $cTypes = array( + 'piix3' => 'piix3ide', + 'piix4' => 'piix3ide', + 'ich6' => 'piix3ide', + 'intelahci' => 'ahci', + 'lsilogic' => 'lsilogicscsi', + 'buslogic' => 'buslogic', + 'lsilogicsas' => 'lsilogicsas', + 'usb' => 'usb', + 'nvme' => 'nvme', + 'virtioscsi' => 'virtioscsi' + ); + + if(!isset($cTypes[strtolower($cType)])) { + $this->errors[] = new Exception('Invalid controller type: ' . $cType); + return ''; + } + + $lun = ((intval($device)*2) + intval($port)); + + return str_replace('[b]',$lun,str_replace('[a]',$cTypes[strtolower($cType)],"VBoxInternal/Devices/[a]/0/LUN#[b]/Config/IgnoreFlush")); + + } + + /** + * Get a newly generated MAC address from VirtualBox + * + * @param array $args array of arguments. See function body for details + * @return string mac address + */ + public function remote_vboxGenerateMacAddress($args) { + + // Connect to vboxwebsrv + $this->connect(); + + return $this->vbox->host->generateMACAddress(); + + } + + /** + * Set group definition + * + * @param array $args array of arguments. See function body for details + * @return boolean true on success + */ + public function remote_vboxGroupDefinitionsSet($args) { + + $this->connect(); + + // Save a list of valid paths + $validGroupPaths = array(); + + $groupKey = ($this->settings->phpVboxGroups ? vboxconnector::phpVboxGroupKey : 'GUI/GroupDefinitions'); + + // Write out each group definition + foreach($args['groupDefinitions'] as $groupDef) { + + $this->vbox->setExtraData($groupKey.$groupDef['path'], $groupDef['order']); + $validGroupPaths[] = $groupDef['path']; + + } + + // Remove any unused group definitions + $keys = $this->vbox->getExtraDataKeys(); + foreach($keys as $k) { + if(strpos($k,$groupKey) !== 0) continue; + if(array_search(substr($k,strlen($groupKey)), $validGroupPaths) === false) + $this->vbox->setExtraData($k,''); + } + + return true; + } + + /** + * Return group definitions + * + * @param array $args array of arguments. See function body for details + * @return array group definitions + */ + public function remote_vboxGroupDefinitionsGet($args) { + + $this->connect(); + + $response = array(); + + $keys = $this->vbox->getExtraDataKeys(); + + $groupKey = ($this->settings->phpVboxGroups ? vboxconnector::phpVboxGroupKey : 'GUI/GroupDefinitions'); + foreach($keys as $grouppath) { + + if(strpos($grouppath,$groupKey) !== 0) continue; + + $subgroups = array(); + $machines = array(); + + $response[] = array( + 'name' => substr($grouppath,strrpos($grouppath,'/')+1), + 'path' => substr($grouppath,strlen($groupKey)), + 'order' => $this->vbox->getExtraData($grouppath) + ); + } + + return $response; + + } + + /** + * Format a time span in seconds into days / hours / minutes / seconds + * @param integer $t number of seconds + * @return array containing number of days / hours / minutes / seconds + */ + private function _util_splitTime($t) { + + $spans = array( + 'days' => 86400, + 'hours' => 3600, + 'minutes' => 60, + 'seconds' => 1); + + $time = array(); + + foreach($spans as $k => $v) { + if(!(floor($t / $v) > 0)) continue; + $time[$k] = floor($t / $v); + $t -= floor($time[$k] * $v); + } + + return $time; + } + + + /** + * Return VBOX result code text for result code + * + * @param integer result code number + * @return string result code text + */ + private function _util_resultCodeText($c) { + + $rcodes = new ReflectionClass('VirtualBox_COM_result_codes'); + $rcodes = array_flip($rcodes->getConstants()); + $rcodes['0x80004005'] = 'NS_ERROR_FAILURE'; + + return @$rcodes['0x'.strtoupper(dechex($c))] . ' (0x'.strtoupper(dechex($c)).')'; + } +} diff --git a/endpoints/lib/vboxweb-5.2.wsdl b/endpoints/lib/vboxweb-7.2.wsdl similarity index 68% rename from endpoints/lib/vboxweb-5.2.wsdl rename to endpoints/lib/vboxweb-7.2.wsdl index 20878fd9..3bacb649 100644 --- a/endpoints/lib/vboxweb-5.2.wsdl +++ b/endpoints/lib/vboxweb-7.2.wsdl @@ -40,6 +40,10 @@ v1_15: 17 - v1_16: 18 - v1_17: 19 - + v1_18: 20 - + v1_19: 21 - + v1_20: 22 - + v1_21: 23 - Future: 99999 - --> @@ -64,6 +68,10 @@ + + + + @@ -83,18 +91,18 @@ Saved: 2 - Teleported: 3 - Aborted: 4 - - Running: 5 - - Paused: 6 - - Stuck: 7 - - Teleporting: 8 - - LiveSnapshotting: 9 - - Starting: 10 - - Stopping: 11 - - Saving: 12 - - Restoring: 13 - - TeleportingPausedVM: 14 - - TeleportingIn: 15 - - FaultTolerantSyncing: 16 - + AbortedSaved: 5 - + Running: 6 - + Paused: 7 - + Stuck: 8 - + Teleporting: 9 - + LiveSnapshotting: 10 - + Starting: 11 - + Stopping: 12 - + Saving: 13 - + Restoring: 14 - + TeleportingPausedVM: 15 - + TeleportingIn: 16 - DeletingSnapshotOnline: 17 - DeletingSnapshotPaused: 18 - OnlineSnapshotting: 19 - @@ -102,9 +110,9 @@ DeletingSnapshot: 21 - SettingUp: 22 - Snapshotting: 23 - - FirstOnline: 5 - + FirstOnline: 6 - LastOnline: 19 - - FirstTransient: 8 - + FirstTransient: 9 - LastTransient: 23 - --> @@ -114,6 +122,7 @@ + @@ -125,7 +134,6 @@ - @@ -155,15 +163,52 @@ - + + + + + + + + + + + + + + + + + + - + @@ -171,6 +216,27 @@ + + + + + + + + + + + + + + + + + @@ -191,6 +259,8 @@ + + - - - - - - - @@ -271,6 +330,7 @@ + - + @@ -356,6 +416,9 @@ PAE: 1 - LongMode: 2 - NestedPaging: 3 - + UnrestrictedGuest: 4 - + NestedHWVirt: 5 - + VirtVmsaveVmload: 6 - --> @@ -363,6 +426,9 @@ + + + @@ -397,6 +464,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + + + @@ -518,63 +924,99 @@ - - + + - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + @@ -681,6 +1158,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -721,6 +1428,7 @@ + @@ -747,6 +1456,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1101,14 +1949,18 @@ - - + + + + + + + + + + + + + - + @@ -1370,11 +2240,15 @@ + + @@ -1436,6 +2311,7 @@ + @@ -1499,6 +2375,16 @@ + + + + + + + + + + @@ -1601,6 +2495,8 @@ + + @@ -1621,6 +2525,14 @@ + + + + + + + + + + + + + + + + - + + + - @@ -1743,12 +2671,14 @@ AC97: 0 - SB16: 1 - HDA: 2 - + VirtioSound: 3 - --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1815,6 +2790,7 @@ + @@ -1843,18 +2820,21 @@ + + + + + + + + + + + + + + + + + + + @@ -2037,7 +3071,7 @@ - + @@ -2046,7 +3080,33 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -2132,6 +3310,7 @@ + @@ -2139,6 +3318,11 @@ + + + + + @@ -2154,6 +3338,7 @@ + @@ -2168,17 +3353,6 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2615,7 +3901,7 @@ - + @@ -2630,7 +3916,6 @@ - @@ -2652,38 +3937,51 @@ - - - + + + - + - - + + - + + + + + + + + + + + + + + - + @@ -2691,190 +3989,437 @@ - + - - + + - + - - + + - + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + - + - - + + + + + + + + + - + - + - - + - - + - + - - + + - - - - - + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + @@ -2903,7 +4448,6 @@ - @@ -2927,6 +4471,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3183,6 +5273,21 @@ + + + + + + + + + + + + + + + @@ -3194,7 +5299,7 @@ - + @@ -3274,6 +5379,21 @@ + + + + + + + + + + + + + + + @@ -3289,6 +5409,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3308,6 +5458,22 @@ + + + + + + + + + + + + + + + + @@ -3315,9 +5481,13 @@ + + + + @@ -3334,6 +5504,7 @@ + @@ -3490,6 +5661,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3499,6 +5702,7 @@ + @@ -3673,22 +5877,182 @@ - - + + - - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4382,6 +6746,22 @@ + + + + + + + + + + + + + + + + @@ -4437,6 +6817,20 @@ + + + + + + + + + + + + + + @@ -4571,30 +6965,58 @@ - - + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4711,6 +7133,21 @@ + + + + + + + + + + + + + + + @@ -4767,6 +7204,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4795,6 +7288,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5206,6 +7755,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5271,27888 +7893,38967 @@ - - - + + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + + + - + - - - + - + + - + - + - + + + - - + + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - - + - + - + - - - + + - + - + - - + + - + + + + + + + - + - + + + + + + + + - + - + - - + + - + - - + + - + - - - + - - + + + - + - + - + - + - + - - + + - + - + - + - + - - + + + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + + - - - - - - - - + - - + - - - - - - - + + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - - - - - - - - + - - + - - - - - - - + + - + - - - - - - - - - - - - - - - + + + - + - - + + - + - + - + + - - + - - + + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + + - + - + - - + + + - + - + - + - + - + - - + + + + + + - + - - - + - - + + + + - + - - - + - + + - + + - + - - + + + - + - + + + - - + + - + - + + - - + + - + - - - + - - + + + + - + - - - + - - + + + + + - + - - - + - - + + + + + - + - - - + - - + + + + + - + - - - + - - + + - + - - - + - - + + + + + - + - - - + - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + - + - - + + + - + - - - + - - + + + - + - - - - - - - - - - - - - - - - - + + + - + - + - + - + - + - - + + - + - + - + + - - - - - - - - + - + - + + - + - + - - + - - - - - - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + + - + - + - + - + - + - - + + + - + - + - + + - + + - + - - + + + - - - - - - - - + - - + + + + + + - - - - - - - + + + + - + - + + + + - + + - + + + + + + - + - - + + + + - + - - - + - + + - - + - - + + + - + - + - + + - + + - + - - + + + + - + - + + - + + - + - - + + + - - - - - - - - + - - + - - - - - - - + + - + - + - + - + - + - - + + - + - + - - + + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + + - - + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - - + + - + - - - + - + + - - + - + + + - - + + - + - - - + - + + - - + - + + + - - + + - + - - - + - + + - - + - + + + - - + - - + - + - - + + - - - - + - + - - + - - + - + - - + + - - + - + - - + - - - - - + - + - - + + - - - - - + - + + + - - + + - - - - + - + + + - - + + - - - - - + - + + + - - + + - - - - - + - + + + - - + + - - - - - + - + + + - - + + - - - - - + - + + + - - + + - - - - - + - + + + - - + - - - - + - + - - + + - - - - + - + + + - - + - - - - + - + - - + + - - - - - - + - + + + - - + - - - + - + - - - + - - + + - - + - + - - + + - - - - + - + - - + - - - + - + - - + + - - + - + + + - - + + - - + - + - - + + - - - + - - + + - - + - - + + - - - + - + - - + + - - + - + + + - - + + - - - + - + + + - - + + - - - + - + - - + + - - + - + + + - - + + - - + - - + + - - + - - + + - - + - + - - + + - - + - + - - + + - + - + - - + + - - + - - + + - - - + - + + + - - + + - - + - + - - + + - - - + - + + + - - + + - - + - - - - - - + - - + + - - - + - - - - + - - + - - - - - - + - + - - + + - - - + - + + + - - + + - + - - + + - - + - + - - + - - + - + - - + + - - + - + - - + + - + - - + + - + - + + + - - + - + - + - - - + - - + + - - + - - + - - + - + - - - + - - + + - - + - - + - - - - + - + - - + + - - + + + + + + + + + + + + + + + + - - + + - + - - + + - + - - - + - - + + - - + - - - + - - + - + - + - - - + - - + + - - + - + - - + + - - - - + - + + + - - + + - - - + - + + + - - + - + - + - - + + - - + - - - - + - - + - + - + - - - - - - - + - - + + - - - + - - - + - - + - + - + - - - - - + - - + + - - - + - - - + - - + - + - + - - + + - - + - + + + - - + - + - + - - - + - - + + - + - + - - + - + - + - - - + - - + + - - - - + - - + - - - + - + - - - + - - + + - + - + - - + + - - + - + + + - - + - + - + - - + + - - - - + - - + - - + - + - + - - - + - - + + - - + - - + - - + - + - - - + - - + + - - + - - + - + - + - - - + + - + - + - - + + - - - + - + + + - - + + - - + - + + + - - - + + - + - - + + - + - + - - + + + + - + - - - + - - + + + + + - + - - + + + + - + - - - + - - + + + - + - + - - + + + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + + - + - - - + - + + - + + + + - + - - + + + + + - + - - - + - - + + + + + + - + - - - + - - + + + + + + + - + - - - + - - + + + + + - + - - + + + - + - + + + - - + + + + + - + - + + + - - + + + + + - + - - + + + - + - - + + + - + - + + + - - + + + + - + - + - - + + + - + - + - - + + - + + - + - + - - + + - - + - + - - + + - + + - + - - - + - - + + + - + - - + + - + - + - - - + - - + + - - - - + - + + + - - + + - + - + - + + + - - + + - - - - + - + - - + + - - - + - + - + + + - - + + - - - - + - + + + - - + + - + - + - + + + - - + + + + - + - - - + + + - + - - + + - + - - - + - - + + - + - - - + - - + + + - + - + - - + + + - + - + - - + + + + - + - - + + + - + - - + + + + + + + - + - - - + - - + + + - + - - - + - - + + - + - + - - + + - + - + - - + + + - + - + + + - - + + + - + - + - - + + + - + - + - - + + + + + - + - - - + - - + + - - + + - + - - + + - - + - + - - + + + - - - - - - - + - + + + + - - - - - - - - + + + - + - + + + + + - - + + + + - + + + - - + + + - + - + + + - - - + + + + - + - + + + - - + + + - + - - - + - - + + + - + - - - + - - + + + - + - + - - + + - + - + - - + + + - + - + - - + + + + + - + - - + + + + + - + - + - - + + + + - + - + - - + + - + - + - - + + + - + - - - + - - + + + - + - - - + - - + + + + + - + - + + - - + + + - + - + - - + + + - + - - + + + + - + - - + + + - + - + - - + + + - + - - - + - - + + + + + + + - + - + - - + + - - + - + + - - + + - + - + - - - + - - + + - + + - + - - - + - - + + - - - + + - + - - - - - - + - - + + + - + - - - - + - - + + - - + - - - + - - + + + - - + - + - - + + - - + + - + - - + + - + - + - - + + + - - + - - + + - - + - + - - + + - - + - - + + - - + - - + + - - + - + - - + + - - + - - + + - - + - - + + - + - + - - + + - - - - - - + - + + + - - + + - - + - + + + - - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - - - + - - + + - + - - - + - - + + - + - - - + - + + - - + - - + + - + - + - + + - - + - + + + - - + + + - + - + - + + - + + - + - - + + + - + - + - - + + + - + - + + - + - + - + + + - - + + + + + + + - + - - - + - + + - + - + - - + + + + + + - + - + - + + - + + + - + - - + + + + + - + - - - + - + + - + - + - - + + - + - - - + - + + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - + + - + - - + + + + - + - - - + - - + + - - + + + + + + + - + - - + + + + + + + + - - - + - + - - + + - - + - + - - + + - - + - + - - + + + - - + - + - - + + - - - + - + - - + + - - + - + - - + + - - + - + - - + + - - + - + - - + + - - - + - + - - - + + - + - + - - + + - + - + - - + + - - + - - + - + - + - - + + - - + - + + + - - - + + - - + - - - + - - + + - - - + - + - - + + - + - - - + - - - + + - + - + - - - + - - - - - - + - + - - - + - - + + - - - - - - - + - + - - + - + - + - - + + - - - - - - - + - - + - - + + - - - - + - + - - + + - + - - - + + - + - + - - - + + - + - - + + - + - - + + - + - - + + - + - - - + - - + + + - + - + - + + + - - + - + + + - - + + - + - + - - + + - + - + - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - + - + - - + + + + + + - + - + + + + - - + + + - + - + - + + - - + - + + + - - + + - + - - + + - + - - + + - + - + - - + + - + - + + + - - + + - - - - + - + - - + + - - - - + - + - - + + - - - - + - + - - + + - - - - + - + + + - - + + - - - - - + - + - - + + - - - + - + - - + + - - - - + - + - - + + - - + - + + + - - + + - - - + - + - - + + - - - - - - - - - + - - + - - - - - - - + + - - + - + - - + + - - + - + - - + + - - - - + - - + + - - - - + - - + + - - - - + - + - - + + - - - - - + - + - - + + - - - + - + - - + + - - - - - + - - + + - - - - - - - + - - + + - - + - + - + - - + + - - + - + - - + + - - + - + - - + + - - + - + + + + - - + + - - - + - + - + + + - - + + - - - + - + - - + + - - - - + + - + - - + + - - - - - + - + - - - + - - + + - - - - - - - + - + - - + + - + - + - - + + - - - + - + - + + + - - + + - + - + - + - - + + - - + - + - + - - + + - - + - + - + - - + + - - + - + - + - - - + + - + - + - - + + - - + + + + + + + - + - - - + - - + + + - + - - - + - - + + + + - + - + - - + + + - + - + - - + + - + - - + + - + - + - - + + + - + - + - - + + - - - + - + - - + - - + - + - - - + - - + + - - - - + - + - - + + - - - - - + - - + + - - - - - + - - + + - + - + + + - - - + + - + - + - - - + + - + - + - - + + - + - + - - + + - + - + + + - - + + - + - + - - - + + - + - + - - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + + - + - + - - + + + + - + - + + + - - + + + - + - + - - + + + - + - + - - + + - - + - + - + - - + + - - - + + - + - + - - + + - - + + - + - + + + - - + + - - + - + - + + + - - + + - + - + - + + + - - + + - - + - + - + - - + + - - - + - + - + - - - + + + - + - - - + + + + - + - + - - + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - - + + - + - - - + - - + + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - - - - - - - - - - - - - + - - + - + - + + + + + + + - - + - - + + + + + + + + + - - + - + - - + - - - - + - + - - + + - - - - - + - - + - + - + - - - + - - + + - - - - + - - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - - + - + + + - - + + - - - + - + + + - - + + - - + - + + + - - + + - - - + - + + + - - + + - - + - + + + - - + + - + - + + + - - - + + - + - + - - + + - + - + - + + - - + - + + + - - + + - + - + - + - + - - + + + - + - + - - + + + + - + - + - - + + + - + - + - - + + + - + - + - - + + + - + - + - - + + + - + - - - + - - - + + + - + - - - + - - + + + + - + - + + + - + + - + + - + - + + + - - + + - + - + - - + + + - + - + - - + + + + + + + + + - + - + - - + + + + + + + + - + - + - - + + + - + - - - + - - + + + + + + + + - + - + + - - + + + + + - + - + - - + + - + - + - - + + + - + - + - - + + + - + - + - + + - - + - + + + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - + - + - + - + - - + + - + - + - - + + - + - - + + - - - - - + - + + + - - + + - + - + - - + - + - + - - - + - - + + - + - - + + - + - - + + - + - + + + - - + + - - + - + - - + + - - - + - + + + - - + + - - + - - + - - + + - - - + - - + + - - + + + + - + - - + + + + + + - + - - + + - - + + + - + - - + + - + + + - + - - + + - - - + + + - + - - + + - - + + + - + - - - + - - + + - + + + + - + - - + + + + - + - + - - + + - + + + - + - - + + + - + - - - + - - + + - - - - + + - + - - + + + + - + - - - - + - - + + - + - + - - - + + + - + - - + + + - + - + - - + + + + + - + - + - - + + + + + - + - - + - - + + + + + - + - - - - - + - - - + + + + + + - + - + + + - - + + + + - + - + + + - - - + + + + + + - + - + - - + + + + + + + + - + - - + + - + + - + - + + + - - + + - + + - + - + - - + + + + - + - + + + - - + + + - + - - - + + + - + - + - - + + + + + - + - - - + - - + + + + + - + - + - - + + + + + - + - + - - + + + + + - + - + - - + + + + + + - + - - - + - - + + + - + - + - - - + + + - + - + - - + + + + + + + + - + - + - - + + + + + + + + + + - + - + - - + + + - + - + - - + + + + + - + - - - + - - + + + - + - + - - + + - - - - - + + - + - + + + - - + + - - - - - + + - + - + + + - - + + - - - + + - + - + + + - - + + + - - - - + - + + + - - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - + - + - - - + + + + - + - + - - + + - - - - + + - + - + + + - - + + - - - - - + + + - + - + + + - - + + - - - - - + + + + - + - + + + - - + + - - - + + + + - + - + - - - - - - - - + + - - - + - - - + + + - + - + - - + + + - + - + - - + + - + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - - - + - - - + + + - + - + - - + + - + - + - - + + - + - - - + - - + + + - + - - + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + + - + - + - - + + - - + - - - - - - + - - + + - - - + - + - - + + - - - + - - + + - - + - - + + - - - - - - - - - + - + + + - - + + - + + - + - + + + - - - - + + - - - - + + + - + - - - - + + + + - + - + + + - - + + - + + - + - - - - + + - - - - - + - + - - - - + + - - - + + - + - + + + - - + + - + + + - + - + + + - - + + + - - - + - + + + - - + + + - - + - + + + - - - + + - + - + - + + - - + - + + + - - + + - + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - + - + + - - + - + + + - - + + + - + - + - + + + - - + - + + + - - + + + - - + - - + + - - - + - + + + - - + + - - + - - + - - - + + - + - - + + - + - + - + + - - - - - - - - + - + - + + - + - + - - + - - - - - - - + + - + - + - + + - - + - + + + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + + + + + + + + + + + + + - + + - + - + - + + + + - - - + + + - + - + - - + + + + + + - + - - - + - + + - + + + + - + - + + + - - + + + - + - + - + + - + - + - - + + + + + - + - + - + + + - - + - + + + - - + + - + - + + - - + - + + + - - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + - + - + - - + + - + - - + + + - + - - - + - - + + + + - + + + + + + + - + - - + + + + + + + + - + - - + + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - + + + - - + - + + + - - - + + - + - + - - + - - + - + - - + + - - - + - + + + - - + + - - - + - + - - + + - + - + + + - - + - + - + - - + + - - + - + + + - - + + - - + - + + + - - + + - - - + - + - - + + - - - - + - + + + - - + + - - - - + - - + + - - - - - + - + + + - - + + - - + - + - - + - + - + - - + + - + - + - - + + - - + - - + + - - - + - + - - + + - - + - - + - - + + - - - - + - + + + - - + + - - - - + - + + + - - + + - - + - + - - + - + - + - - + + - - + - + + + - - + + - - - + - + - - - + + + + + + - + - - - + - - + + - - + - + - - + + - - + - + - + + + - - + + - - + - - - + + - + - + + - - + - - + + + - + - + - + + - + + - + - - + + + - + - + + - - - + + + + - + - - - + - - + + - + + + - + - + - - + + - + - + - - + + + + - + - + - - + + + - + - - + + + + + - + - - + + + + - + - - + + + - + - - + + - + - + - - + + + - + - + - - + + - + - + - - + + + + + + - + - + - - + + - + - + + - - + + + - + - - - + - - + + + + - + - - - + + + + + + - + - + + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + + - + + - - + - + + + + + + + - - + + + - + - + - + + - + + - + - + + + - - + + + - + - + + - - + - + + + - - + + - + - + + - + + - + - + + + - - + + + + - + - + - + + - + - + - - + + + + - + - - - + - + + - + + + - + - + + + + - - + + - + - - - + - + + + - - + - - + + - + - - - + - + + + - - + - + + + - - + + - + - + - + + - + - + - - - + + + - + - + - - - + + - + - - - + - + + - - + - - - + + + + + - + - - - + - - + + + - + - + - - - + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - - + + + + + - + - - + + - + + + + + - + - - - + - - - + + + + + + - + - - - + - + + - + + + + - + - - + + + - + - + - + + - - + - + + + - - - + + + - + - + + - - + - + + + - - + + - + - + - + + - - + - + + + - - + + - + - + - + + + - - + - + + + - - + + + + + + - + + + + + + + - + + + + + + - + + + + + + + - + + + + + - + - - + + + + + - + - + - + + + + + + + + - + + - + - - + + + - + - + - - + + - - - + - + + + - - + + - - + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - + + - + + - + - - + + + - + - + - - + + - + - + - - + + - + - + + + - - - + + - + - + - + + - - + - + + + - - + + - + - + - - + + - + - - + + - + - - + + - + - + + - - + - + + + - - + + + - + - + - + + - + - + - + + + + + + + + - - + + + + - + - + - - + + + + - + + + + + + + - + + - + + + + + + + + + - + + + + + + + + + - + - - + + + - + - + + + + + + + - + + - + - + - - + + + + + + + + - + - + - - - + + + + - + - - - + - - + + + - + - - - + + - - + + + + + + - + - - - + - - + + + + - + + + + - + - - - + - - + + - + + - + - - - + + + + - + - - - + - - + + + - + - - - + - - + + + + + + + + + + + - + - - + + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - + - - + + - + - - - + - - - + + - + - + - - + - - + - + - - - + - - + + - - - - - + - + - - + - - + - + - - - + - - + + - - - + - + - - + - - + - + - - - - - - - - - - + - - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - + - + - + - - + + - + - + - - + - - - - - + - + - - + + - - - - - - - - - - - - - + - - - - - - - + - - - - - - - + - + - + - - - + + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - + - + - + - - - + + + - + - + - - + + - - - + + - + - - + + - + - + - + + + + - - + + + - - + - + - - + + - + - + - - - + + - + - - - + - - + + - - + - + - - + - - - + - + - - + + - - + - + + + - - + - - + - + - - - + - - + + - - - + - + - - + - - + - + - - - + + - - + - + + + - - - + + - + - - - + - - + + - + - - + + - + + + + + + + - + - - + + + + + + + + + - + - - + + + - - + - + - - - + + - + - + - - + + - + - - - + + - + - + - - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + + - + - + - - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + - + - - - + + - + - + - - - + + - + - + - - - + + - + - + - - - + + - + - + - - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - - - + + - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - - + + + + - + - - - + - - + + + + - + - - - + - - + + + + - + - + - - - + + - + - - - + - - - + + + - + - - - + - - - + + + - + - - - + - - - + + + - + - - - + - - - + + + + - + - - - + + + + + - + - - - + - - - + + + + + - + - + - - - + + + + + + - + - - - + - - - + + + - + - + - - - + + + - + - - - + - - - + + - + - + - - + + + - + - + - - - + + + + - + - + - - - + + + - + - + + - - - + + + + + - + - - - + - - + + + + + - + - - - + - - + + + - + - + - - + + + - + - - - + - - + + + - + - - - + - - + + + + - + - + - - - + + + - + - + + + + - - + + + + + - + - + - - + + + + + - + - + - - + + + - + - + - - + + + + - + - - - + - - + + + - + - + - - - + + + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + - + - + - - - + + + - + - - + + - + - + - - - + + - + - + - - - + + - + - + - - + + - + - - - + + - + - + - - + + - + - + - - - + + - + - + - - - + + - + - + - - - + + - + - - - + + - + - + - - - + + - + - + - - + + - + - + - - - + + - + - + - - + + - + - + - - - + + + - + - + - - - + + - + - - - + - - - + + - + - - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + - - + + - + - - + + - + - - - + - - - + + - + - - + + - + - - - + - - - + + - + - - + + - + - - - + - - + + - + - - - + - + - + - - + + - + - + - - + + - + - - - + - - + + + - - + - + + + - - + + + - + - + - - + + - + - - - + - - - + + + - + - - + + - + - - + + + - + - + - - - + + - + - - - + - - - + + - + - + - + - + - + - - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - + + - + - + - - + + - + - - - + - - - + + - + - + - - + + + + - + + + + + + + - + + - - + + + + + + + + + + - + - + - - + + - + - - - + + - + + + + + + + - + - - - + - + - + - + + - - - + + + + + + + - + - + - - + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + - + + - - - + + + + + + + + + + - + - - + + + - + - - + + + + - + + + + + + + + - + - - + + + + + + + + + - + + + + + + + - + - - - + + + + + + + + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + - - - + + - + + + + + + + + + + + + + + - - - + + - + + + + + + + - + - - - + - + - + - + + - - - + + + + + + + - + - + - - - + + + + - + + + + + + + - + + - - + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - - + + - + + + + + + + + + + + + + + - - + + - + + + + + + + - + - - + + + + + + + + + - + + + + + + + + + + + + + + - - + + - + - + - - + + - + + + + + + + + - + - - + + + + + + + + + - + - + - - + + - + - - + + - + - - - + - - - + + - + - + - - - + + - + - - - + + - + + + + + + + + - + - - - + + + + + + + + + - + + + + + + + - + - - + - + - + + - - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ************************************* + messages for interface IPCIDeviceAttachment + ************************************* + --> - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - + + + - - + + - - + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - + + - - + + + - - - + + - - + + - - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + + + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + + + + + + + + + + + + + + + - - + + - - + + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + + + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + + + + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + - - + + - - - + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - - + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - - - - - + + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - + + + - - + + - - - - - + + + - - + + - - - + + + - - + + - - - - - + + + + - - + + - - - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - - + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + - - + + - - + + + - - + + - - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + - - + + - - + + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - - - - - - - - + + + + + + + - - + + - - + + + - - + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - - - - - - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - + + + - - + + - - - + + + - - + + - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - + + + - - + + - - - - - - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + - - - - - - - - - - - - - - - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - - - - - - - - - - - - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + - - + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + - - - - + + - - + + + - - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + - - - + + - - + + + + + + - - - + + + - - + + - - - + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - - + + + - - + + - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + + - - + + - - - + + + + - - + + - - - + + + - - + + - - - + + + - - + + - - - + + + - - + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + + + + + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - - - + + + + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + - - - + + + - - - + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + - - - + + + + - - - + + + - - - + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - + @@ -42243,7 +68530,7 @@ - + @@ -42258,7 +68545,7 @@ - + @@ -42273,7 +68560,7 @@ - + @@ -42288,7 +68575,7 @@ - + @@ -42303,7 +68590,7 @@ - + @@ -42318,12 +68605,7 @@ - - + @@ -42338,7 +68620,7 @@ - + @@ -42353,7 +68635,7 @@ - + @@ -42368,7 +68650,7 @@ - + @@ -42383,7 +68665,7 @@ - + @@ -42398,7 +68680,7 @@ - + @@ -42413,7 +68695,7 @@ - + @@ -42428,7 +68710,7 @@ - + @@ -42443,7 +68725,7 @@ - + @@ -42458,7 +68740,7 @@ - + @@ -42473,7 +68755,7 @@ - + @@ -42488,7 +68770,7 @@ - + @@ -42503,7 +68785,7 @@ - + @@ -42518,7 +68800,7 @@ - + @@ -42533,7 +68815,7 @@ - + @@ -42548,7 +68830,7 @@ - + @@ -42563,7 +68845,7 @@ - + @@ -42578,7 +68860,7 @@ - + @@ -42593,7 +68875,7 @@ - + @@ -42608,7 +68890,7 @@ - + @@ -42623,7 +68905,7 @@ - + @@ -42638,7 +68920,7 @@ - + @@ -42653,7 +68935,7 @@ - + @@ -42668,7 +68950,7 @@ - + @@ -42683,7 +68965,7 @@ - + @@ -42698,7 +68980,7 @@ - + @@ -42713,12 +68995,7 @@ - - + @@ -42733,7 +69010,7 @@ - + @@ -42748,7 +69025,7 @@ - + @@ -42763,7 +69040,7 @@ - + @@ -42778,7 +69055,7 @@ - + @@ -42793,7 +69070,7 @@ - + @@ -42808,7 +69085,7 @@ - + @@ -42823,7 +69100,7 @@ - + @@ -42838,7 +69115,7 @@ - + @@ -42853,7 +69130,7 @@ - + @@ -42868,7 +69145,7 @@ - + @@ -42883,7 +69160,7 @@ - + @@ -42898,7 +69175,7 @@ - + @@ -42913,7 +69190,7 @@ - + @@ -42928,7 +69205,7 @@ - + @@ -42943,57 +69220,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -43008,7 +69235,7 @@ - + @@ -43023,7 +69250,7 @@ - + @@ -43038,7 +69265,7 @@ - + @@ -43053,7 +69280,7 @@ - + @@ -43068,7 +69295,7 @@ - + @@ -43083,7 +69310,7 @@ - + @@ -43098,7 +69325,7 @@ - + @@ -43113,7 +69340,7 @@ - + @@ -43128,7 +69355,7 @@ - + @@ -43143,7 +69370,7 @@ - + @@ -43158,7 +69385,7 @@ - + @@ -43173,7 +69400,7 @@ - + @@ -43188,7 +69415,7 @@ - + @@ -43203,7 +69430,7 @@ - + @@ -43218,7 +69445,7 @@ - + @@ -43233,7 +69460,12 @@ - + + @@ -43248,7 +69480,7 @@ - + @@ -43263,7 +69495,7 @@ - + @@ -43278,7 +69510,17 @@ - + + + @@ -43293,7 +69535,7 @@ - + @@ -43308,7 +69550,7 @@ - + @@ -43323,8 +69565,7 @@ - - + @@ -43339,7 +69580,7 @@ - + @@ -43354,7 +69595,7 @@ - + @@ -43369,7 +69610,7 @@ - + @@ -43384,7 +69625,7 @@ - + @@ -43399,7 +69640,7 @@ - + @@ -43414,7 +69655,7 @@ - + @@ -43429,7 +69670,7 @@ - + @@ -43444,7 +69685,7 @@ - + @@ -43459,7 +69700,7 @@ - + @@ -43474,7 +69715,7 @@ - + @@ -43489,7 +69730,7 @@ - + @@ -43504,7 +69745,7 @@ - + @@ -43519,7 +69760,7 @@ - + @@ -43534,7 +69775,7 @@ - + @@ -43549,7 +69790,7 @@ - + @@ -43564,7 +69805,7 @@ - + @@ -43579,7 +69820,7 @@ - + @@ -43594,7 +69835,7 @@ - + @@ -43609,7 +69850,7 @@ - + @@ -43624,7 +69865,7 @@ - + @@ -43639,7 +69880,7 @@ - + @@ -43654,7 +69895,7 @@ - + @@ -43669,7 +69910,7 @@ - + @@ -43684,7 +69925,7 @@ - + @@ -43699,7 +69940,7 @@ - + @@ -43714,7 +69955,7 @@ - + @@ -43729,12 +69970,7 @@ - - + @@ -43749,7 +69985,7 @@ - + @@ -43764,7 +70000,7 @@ - + @@ -43779,7 +70015,7 @@ - + @@ -43794,7 +70030,7 @@ - + @@ -43809,7 +70045,7 @@ - + @@ -43824,7 +70060,7 @@ - + @@ -43839,7 +70075,7 @@ - + @@ -43856,70 +70092,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -43934,7 +70110,7 @@ - + @@ -43949,7 +70125,7 @@ - + @@ -43964,7 +70140,7 @@ - + @@ -43979,7 +70155,7 @@ - + @@ -43994,7 +70170,7 @@ - + @@ -44009,7 +70185,7 @@ - + @@ -44024,7 +70200,7 @@ - + @@ -44039,7 +70215,7 @@ - + @@ -44054,7 +70230,7 @@ - + @@ -44069,7 +70245,7 @@ - + @@ -44084,7 +70260,7 @@ - + @@ -44099,7 +70275,7 @@ - + @@ -44114,7 +70290,7 @@ - + @@ -44129,7 +70305,7 @@ - + @@ -44144,7 +70320,7 @@ - + @@ -44159,7 +70335,7 @@ - + @@ -44174,7 +70350,7 @@ - + @@ -44189,7 +70365,7 @@ - + @@ -44206,175 +70382,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -44389,7 +70400,7 @@ - + @@ -44404,7 +70415,7 @@ - + @@ -44421,10 +70432,10 @@ - + @@ -44439,7 +70450,7 @@ - + @@ -44454,7 +70465,7 @@ - + @@ -44469,7 +70480,7 @@ - + @@ -44484,7 +70495,7 @@ - + @@ -44499,7 +70510,7 @@ - + @@ -44514,12 +70525,7 @@ - - + @@ -44534,7 +70540,7 @@ - + @@ -44549,7 +70555,7 @@ - + @@ -44564,7 +70570,7 @@ - + @@ -44579,22 +70585,7 @@ - - - - - - - - - - - - - - - - + @@ -44609,7 +70600,7 @@ - + @@ -44624,7 +70615,7 @@ - + @@ -44639,7 +70630,7 @@ - + @@ -44654,7 +70645,7 @@ - + @@ -44669,7 +70660,7 @@ - + @@ -44684,7 +70675,7 @@ - + @@ -44699,7 +70690,7 @@ - + @@ -44714,7 +70705,7 @@ - + @@ -44729,7 +70720,7 @@ - + @@ -44744,7 +70735,7 @@ - + @@ -44759,7 +70750,7 @@ - + @@ -44774,7 +70765,7 @@ - + @@ -44789,7 +70780,7 @@ - + @@ -44804,7 +70795,7 @@ - + @@ -44819,7 +70810,7 @@ - + @@ -44834,7 +70825,12 @@ - + + @@ -44849,7 +70845,17 @@ - + + + @@ -44864,7 +70870,7 @@ - + @@ -44879,7 +70885,7 @@ - + @@ -44894,7 +70900,7 @@ - + @@ -44909,7 +70915,7 @@ - + @@ -44924,7 +70930,7 @@ - + @@ -44939,7 +70945,7 @@ - + @@ -44954,7 +70960,12 @@ - + + @@ -44969,7 +70980,12 @@ - + + @@ -44984,7 +71000,7 @@ - + @@ -44999,7 +71015,7 @@ - + @@ -45014,7 +71030,7 @@ - + @@ -45029,7 +71045,7 @@ - + @@ -45044,7 +71060,7 @@ - + @@ -45059,7 +71075,7 @@ - + @@ -45074,7 +71090,7 @@ - + @@ -45089,7 +71105,7 @@ - + @@ -45104,7 +71120,7 @@ - + @@ -45119,7 +71135,7 @@ - + @@ -45134,7 +71150,7 @@ - + @@ -45149,7 +71165,7 @@ - + @@ -45164,7 +71180,7 @@ - + @@ -45179,7 +71195,7 @@ - + @@ -45194,7 +71210,7 @@ - + @@ -45209,7 +71225,7 @@ - + @@ -45224,7 +71240,7 @@ - + @@ -45239,7 +71255,7 @@ - + @@ -45254,7 +71270,7 @@ - + @@ -45269,7 +71285,7 @@ - + @@ -45284,7 +71300,7 @@ - + @@ -45299,7 +71315,7 @@ - + @@ -45314,7 +71330,7 @@ - + @@ -45329,7 +71345,7 @@ - + @@ -45344,7 +71360,7 @@ - + @@ -45359,17 +71375,7 @@ - - - + @@ -45384,7 +71390,7 @@ - + @@ -45399,7 +71405,7 @@ - + @@ -45414,7 +71420,7 @@ - + @@ -45429,7 +71435,7 @@ - + @@ -45444,7 +71450,7 @@ - + @@ -45459,7 +71465,7 @@ - + @@ -45474,7 +71480,7 @@ - + @@ -45489,7 +71495,7 @@ - + @@ -45504,7 +71510,7 @@ - + @@ -45519,7 +71525,7 @@ - + @@ -45534,7 +71540,7 @@ - + @@ -45549,7 +71555,7 @@ - + @@ -45564,7 +71570,7 @@ - + @@ -45579,7 +71585,7 @@ - + @@ -45594,7 +71600,7 @@ - + @@ -45609,7 +71615,7 @@ - + @@ -45624,7 +71630,7 @@ - + @@ -45639,7 +71645,12 @@ - + + @@ -45654,7 +71665,7 @@ - + @@ -45669,7 +71680,7 @@ - + @@ -45686,10 +71697,10 @@ - + @@ -45704,7 +71715,7 @@ - + @@ -45719,7 +71730,7 @@ - + @@ -45734,7 +71745,7 @@ - + @@ -45749,7 +71760,7 @@ - + @@ -45764,7 +71775,7 @@ - + @@ -45779,7 +71790,7 @@ - + @@ -45794,7 +71805,7 @@ - + @@ -45809,17 +71820,7 @@ - - - + @@ -45834,7 +71835,7 @@ - + @@ -45849,7 +71850,7 @@ - + @@ -45864,7 +71865,7 @@ - + @@ -45879,7 +71880,7 @@ - + @@ -45894,7 +71895,7 @@ - + @@ -45909,7 +71910,7 @@ - + @@ -45924,7 +71925,7 @@ - + @@ -45939,7 +71940,7 @@ - + @@ -45954,7 +71955,7 @@ - + @@ -45969,7 +71970,7 @@ - + @@ -45984,7 +71985,7 @@ - + @@ -45999,7 +72000,7 @@ - + @@ -46014,7 +72015,7 @@ - + @@ -46029,7 +72030,7 @@ - + @@ -46044,7 +72045,7 @@ - + @@ -46059,7 +72060,7 @@ - + @@ -46074,7 +72075,7 @@ - + @@ -46089,7 +72090,7 @@ - + @@ -46104,7 +72105,7 @@ - + @@ -46119,7 +72120,7 @@ - + @@ -46134,7 +72135,7 @@ - + @@ -46149,7 +72150,7 @@ - + @@ -46164,7 +72165,7 @@ - + @@ -46179,7 +72180,7 @@ - + @@ -46194,7 +72195,7 @@ - + @@ -46209,7 +72210,12 @@ - + + @@ -46224,7 +72230,7 @@ - + @@ -46239,7 +72245,7 @@ - + @@ -46254,7 +72260,7 @@ - + @@ -46269,7 +72275,7 @@ - + @@ -46284,7 +72290,7 @@ - + @@ -46299,7 +72305,7 @@ - + @@ -46314,7 +72320,7 @@ - + @@ -46329,7 +72335,7 @@ - + @@ -46344,7 +72350,7 @@ - + @@ -46359,7 +72365,7 @@ - + @@ -46374,7 +72380,7 @@ - + @@ -46389,7 +72395,7 @@ - + @@ -46404,7 +72410,7 @@ - + @@ -46419,7 +72425,7 @@ - + @@ -46434,7 +72440,7 @@ - + @@ -46449,7 +72455,7 @@ - + @@ -46464,7 +72470,7 @@ - + @@ -46479,7 +72485,7 @@ - + @@ -46494,7 +72500,7 @@ - + @@ -46509,7 +72515,7 @@ - + @@ -46524,7 +72530,7 @@ - + @@ -46539,7 +72545,7 @@ - + @@ -46554,7 +72560,7 @@ - + @@ -46569,7 +72575,7 @@ - + @@ -46584,7 +72590,7 @@ - + @@ -46599,7 +72605,7 @@ - + @@ -46614,7 +72620,7 @@ - + @@ -46629,7 +72635,7 @@ - + @@ -46644,7 +72650,7 @@ - + @@ -46659,7 +72665,7 @@ - + @@ -46674,7 +72680,7 @@ - + @@ -46689,7 +72695,7 @@ - + @@ -46704,7 +72710,7 @@ - + @@ -46719,7 +72725,7 @@ - + @@ -46734,7 +72740,7 @@ - + @@ -46749,7 +72755,7 @@ - + @@ -46764,7 +72770,7 @@ - + @@ -46779,7 +72785,7 @@ - + @@ -46794,7 +72800,7 @@ - + @@ -46809,7 +72815,7 @@ - + @@ -46824,7 +72830,7 @@ - + @@ -46839,7 +72845,7 @@ - + @@ -46854,7 +72860,7 @@ - + @@ -46869,7 +72875,7 @@ - + @@ -46884,7 +72890,7 @@ - + @@ -46899,7 +72905,7 @@ - + @@ -46914,7 +72920,7 @@ - + @@ -46929,7 +72935,7 @@ - + @@ -46944,7 +72950,7 @@ - + @@ -46959,7 +72965,7 @@ - + @@ -46974,7 +72980,7 @@ - + @@ -46989,7 +72995,7 @@ - + @@ -47004,7 +73010,7 @@ - + @@ -47019,7 +73025,52 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47034,7 +73085,7 @@ - + @@ -47049,7 +73100,7 @@ - + @@ -47064,7 +73115,7 @@ - + @@ -47079,7 +73130,7 @@ - + @@ -47094,7 +73145,7 @@ - + @@ -47109,7 +73160,7 @@ - + @@ -47124,7 +73175,7 @@ - + @@ -47139,7 +73190,7 @@ - + @@ -47154,7 +73205,7 @@ - + @@ -47169,7 +73220,7 @@ - + @@ -47184,7 +73235,7 @@ - + @@ -47199,7 +73250,7 @@ - + @@ -47214,7 +73265,7 @@ - + @@ -47229,7 +73280,7 @@ - + @@ -47244,7 +73295,22 @@ - + + + + @@ -47259,7 +73325,7 @@ - + @@ -47274,7 +73340,7 @@ - + @@ -47289,7 +73355,7 @@ - + @@ -47304,7 +73370,12 @@ - + + @@ -47319,7 +73390,7 @@ - + @@ -47334,7 +73405,7 @@ - + @@ -47349,7 +73420,12 @@ - + + @@ -47364,7 +73440,12 @@ - + + @@ -47379,7 +73460,7 @@ - + @@ -47394,7 +73475,7 @@ - + @@ -47409,7 +73490,7 @@ - + @@ -47424,7 +73505,7 @@ - + @@ -47439,7 +73520,7 @@ - + @@ -47454,7 +73535,12 @@ - + + @@ -47469,7 +73555,12 @@ - + + @@ -47484,7 +73575,7 @@ - + @@ -47499,7 +73590,7 @@ - + @@ -47514,7 +73605,7 @@ - + @@ -47529,7 +73620,7 @@ - + @@ -47544,7 +73635,7 @@ - + @@ -47559,7 +73650,7 @@ - + @@ -47574,7 +73665,7 @@ - + @@ -47589,7 +73680,7 @@ - + @@ -47604,7 +73695,7 @@ - + @@ -47619,7 +73710,7 @@ - + @@ -47634,7 +73725,7 @@ - + @@ -47649,7 +73740,7 @@ - + @@ -47664,7 +73755,7 @@ - + @@ -47679,7 +73770,7 @@ - + @@ -47694,7 +73785,7 @@ - + @@ -47709,7 +73800,7 @@ - + @@ -47724,7 +73815,7 @@ - + @@ -47739,7 +73830,7 @@ - + @@ -47754,7 +73845,7 @@ - + @@ -47769,7 +73860,7 @@ - + @@ -47784,7 +73875,7 @@ - + @@ -47799,7 +73890,7 @@ - + @@ -47814,7 +73905,7 @@ - + @@ -47829,7 +73920,7 @@ - + @@ -47844,7 +73935,7 @@ - + @@ -47859,7 +73950,7 @@ - + @@ -47874,7 +73965,7 @@ - + @@ -47889,7 +73980,7 @@ - + @@ -47904,7 +73995,7 @@ - + @@ -47919,7 +74010,7 @@ - + @@ -47934,7 +74025,7 @@ - + @@ -47949,7 +74040,7 @@ - + @@ -47964,7 +74055,7 @@ - + @@ -47979,7 +74070,7 @@ - + @@ -47994,7 +74085,7 @@ - + @@ -48009,7 +74100,7 @@ - + @@ -48024,7 +74115,7 @@ - + @@ -48039,7 +74130,7 @@ - + @@ -48054,7 +74145,7 @@ - + @@ -48069,7 +74160,7 @@ - + @@ -48084,7 +74175,7 @@ - + @@ -48099,7 +74190,7 @@ - + @@ -48114,7 +74205,7 @@ - + @@ -48129,7 +74220,7 @@ - + @@ -48144,7 +74235,7 @@ - + @@ -48159,7 +74250,7 @@ - + @@ -48174,7 +74265,7 @@ - + @@ -48189,7 +74280,7 @@ - + @@ -48204,7 +74295,7 @@ - + @@ -48219,7 +74310,7 @@ - + @@ -48234,7 +74325,7 @@ - + @@ -48249,7 +74340,7 @@ - + @@ -48264,7 +74355,7 @@ - + @@ -48279,7 +74370,7 @@ - + @@ -48294,7 +74385,7 @@ - + @@ -48309,7 +74400,7 @@ - + @@ -48324,7 +74415,7 @@ - + @@ -48339,7 +74430,7 @@ - + @@ -48354,7 +74445,7 @@ - + @@ -48369,7 +74460,7 @@ - + @@ -48384,7 +74475,7 @@ - + @@ -48399,7 +74490,7 @@ - + @@ -48414,7 +74505,7 @@ - + @@ -48429,7 +74520,12 @@ - + + @@ -48444,7 +74540,7 @@ - + @@ -48459,7 +74555,7 @@ - + @@ -48474,7 +74570,7 @@ - + @@ -48489,7 +74585,7 @@ - + @@ -48504,7 +74600,7 @@ - + @@ -48519,7 +74615,7 @@ - + @@ -48534,7 +74630,7 @@ - + @@ -48549,7 +74645,7 @@ - + @@ -48564,7 +74660,7 @@ - + @@ -48579,7 +74675,7 @@ - + @@ -48594,7 +74690,7 @@ - + @@ -48609,7 +74705,7 @@ - + @@ -48624,7 +74720,7 @@ - + @@ -48639,7 +74735,12 @@ - + + @@ -48654,7 +74755,12 @@ - + + @@ -48669,7 +74775,7 @@ - + @@ -48684,7 +74790,7 @@ - + @@ -48699,7 +74805,7 @@ - + @@ -48714,7 +74820,7 @@ - + @@ -48729,7 +74835,7 @@ - + @@ -48744,7 +74850,7 @@ - + @@ -48759,7 +74865,7 @@ - + @@ -48774,7 +74880,7 @@ - + @@ -48789,7 +74895,12 @@ - + + @@ -48804,7 +74915,12 @@ - + + @@ -48819,7 +74935,7 @@ - + @@ -48834,7 +74950,7 @@ - + @@ -48849,7 +74965,7 @@ - + @@ -48864,7 +74980,7 @@ - + @@ -48879,7 +74995,7 @@ - + @@ -48894,7 +75010,7 @@ - + @@ -48909,7 +75025,7 @@ - + @@ -48924,7 +75040,7 @@ - + @@ -48939,7 +75055,7 @@ - + @@ -48954,7 +75070,7 @@ - + @@ -48969,7 +75085,7 @@ - + @@ -48984,7 +75100,7 @@ - + @@ -48999,7 +75115,7 @@ - + @@ -49014,7 +75130,7 @@ - + @@ -49029,7 +75145,7 @@ - + @@ -49044,7 +75160,7 @@ - + @@ -49059,7 +75175,7 @@ - + @@ -49074,7 +75190,7 @@ - + @@ -49089,7 +75205,12 @@ - + + @@ -49104,7 +75225,12 @@ - + + @@ -49119,7 +75245,7 @@ - + @@ -49134,7 +75260,7 @@ - + @@ -49149,7 +75275,7 @@ - + @@ -49164,7 +75290,7 @@ - + @@ -49179,7 +75305,7 @@ - + @@ -49194,7 +75320,7 @@ - + @@ -49209,7 +75335,7 @@ - + @@ -49224,7 +75350,7 @@ - + @@ -49239,7 +75365,7 @@ - + @@ -49254,7 +75380,7 @@ - + @@ -49269,7 +75395,7 @@ - + @@ -49284,7 +75410,7 @@ - + @@ -49299,7 +75425,7 @@ - + @@ -49316,10 +75442,10 @@ - + @@ -49334,7 +75460,7 @@ - + @@ -49349,7 +75475,7 @@ - + @@ -49364,17 +75490,7 @@ - - - + @@ -49389,7 +75505,7 @@ - + @@ -49404,7 +75520,7 @@ - + @@ -49419,7 +75535,7 @@ - + @@ -49434,7 +75550,7 @@ - + @@ -49449,7 +75565,7 @@ - + @@ -49464,7 +75580,7 @@ - + @@ -49479,7 +75595,7 @@ - + @@ -49494,7 +75610,7 @@ - + @@ -49509,7 +75625,7 @@ - + @@ -49524,7 +75640,7 @@ - + @@ -49539,7 +75655,7 @@ - + @@ -49554,7 +75670,7 @@ - + @@ -49569,7 +75685,7 @@ - + @@ -49584,7 +75700,7 @@ - + @@ -49599,7 +75715,7 @@ - + @@ -49614,7 +75730,12 @@ - + + @@ -49629,7 +75750,12 @@ - + + @@ -49644,7 +75770,12 @@ - + + @@ -49659,7 +75790,7 @@ - + @@ -49674,7 +75805,7 @@ - + @@ -49689,7 +75820,7 @@ - + @@ -49704,7 +75835,7 @@ - + @@ -49719,7 +75850,7 @@ - + @@ -49734,7 +75865,7 @@ - + @@ -49749,7 +75880,7 @@ - + @@ -49764,7 +75895,7 @@ - + @@ -49779,7 +75910,7 @@ - + @@ -49794,7 +75925,7 @@ - + @@ -49809,7 +75940,7 @@ - + @@ -49824,7 +75955,7 @@ - + @@ -49839,7 +75970,7 @@ - + @@ -49854,7 +75985,7 @@ - + @@ -49869,7 +76000,7 @@ - + @@ -49884,7 +76015,7 @@ - + @@ -49899,7 +76030,7 @@ - + @@ -49914,7 +76045,7 @@ - + @@ -49929,7 +76060,7 @@ - + @@ -49944,12 +76075,7 @@ - - + @@ -49964,7 +76090,12 @@ - + + @@ -49979,7 +76110,7 @@ - + @@ -49994,7 +76125,7 @@ - + @@ -50009,7 +76140,7 @@ - + @@ -50024,7 +76155,7 @@ - + @@ -50039,7 +76170,7 @@ - + @@ -50054,7 +76185,7 @@ - + @@ -50069,7 +76200,7 @@ - + @@ -50084,7 +76215,7 @@ - + @@ -50099,7 +76230,7 @@ - + @@ -50114,7 +76245,7 @@ - + @@ -50129,7 +76260,7 @@ - + @@ -50144,7 +76275,7 @@ - + @@ -50159,7 +76290,7 @@ - + @@ -50174,7 +76305,7 @@ - + @@ -50189,7 +76320,7 @@ - + @@ -50204,7 +76335,7 @@ - + @@ -50219,7 +76350,7 @@ - + @@ -50234,12 +76365,7 @@ - - + @@ -50254,7 +76380,7 @@ - + @@ -50269,7 +76395,7 @@ - + @@ -50286,70 +76412,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -50364,7 +76435,7 @@ - + @@ -50379,7 +76450,7 @@ - + @@ -50394,7 +76465,7 @@ - + @@ -50409,7 +76480,7 @@ - + @@ -50424,7 +76495,7 @@ - + @@ -50439,7 +76510,7 @@ - + @@ -50454,7 +76525,7 @@ - + @@ -50469,7 +76540,7 @@ - + @@ -50484,7 +76555,7 @@ - + @@ -50499,7 +76570,7 @@ - + @@ -50514,7 +76585,17 @@ - + + + @@ -50529,7 +76610,7 @@ - + @@ -50544,7 +76625,7 @@ - + @@ -50559,7 +76640,7 @@ - + @@ -50574,7 +76655,7 @@ - + @@ -50589,7 +76670,7 @@ - + @@ -50604,7 +76685,7 @@ - + @@ -50619,7 +76700,7 @@ - + @@ -50634,7 +76715,7 @@ - + @@ -50649,7 +76730,7 @@ - + @@ -50664,7 +76745,7 @@ - + @@ -50679,7 +76760,7 @@ - + @@ -50694,7 +76775,7 @@ - + @@ -50709,7 +76790,7 @@ - + @@ -50724,7 +76805,7 @@ - + @@ -50739,7 +76820,7 @@ - + @@ -50754,7 +76835,7 @@ - + @@ -50769,7 +76850,7 @@ - + @@ -50784,7 +76865,7 @@ - + @@ -50799,7 +76880,7 @@ - + @@ -50814,7 +76895,7 @@ - + @@ -50829,7 +76910,7 @@ - + @@ -50844,7 +76925,7 @@ - + @@ -50859,12 +76940,7 @@ - - + @@ -50879,7 +76955,7 @@ - + @@ -50894,7 +76970,7 @@ - + @@ -50909,7 +76985,7 @@ - + @@ -50924,7 +77000,7 @@ - + @@ -50939,7 +77015,7 @@ - + @@ -50954,7 +77030,7 @@ - + @@ -50969,7 +77045,7 @@ - + @@ -50984,7 +77060,7 @@ - + @@ -50999,7 +77075,7 @@ - + @@ -51014,7 +77090,7 @@ - + @@ -51029,7 +77105,7 @@ - + @@ -51044,7 +77120,7 @@ - + @@ -51059,7 +77135,7 @@ - + @@ -51074,7 +77150,7 @@ - + @@ -51089,7 +77165,7 @@ - + @@ -51104,7 +77180,7 @@ - + @@ -51119,7 +77195,7 @@ - + @@ -51134,7 +77210,7 @@ - + @@ -51149,7 +77225,7 @@ - + @@ -51164,7 +77240,7 @@ - + @@ -51179,7 +77255,7 @@ - + @@ -51194,7 +77270,7 @@ - + @@ -51209,7 +77285,7 @@ - + @@ -51224,7 +77300,7 @@ - + @@ -51239,7 +77315,7 @@ - + @@ -51254,7 +77330,7 @@ - + @@ -51269,7 +77345,12 @@ - + + @@ -51284,7 +77365,7 @@ - + @@ -51299,7 +77380,7 @@ - + @@ -51314,7 +77395,7 @@ - + @@ -51329,7 +77410,7 @@ - + @@ -51344,7 +77425,12 @@ - + + @@ -51359,7 +77445,7 @@ - + @@ -51374,7 +77460,12 @@ - + + @@ -51389,7 +77480,7 @@ - + @@ -51404,7 +77495,7 @@ - + @@ -51419,7 +77510,7 @@ - + @@ -51434,7 +77525,7 @@ - + @@ -51449,7 +77540,7 @@ - + @@ -51464,7 +77555,7 @@ - + @@ -51479,7 +77570,7 @@ - + @@ -51494,7 +77585,7 @@ - + @@ -51509,7 +77600,12 @@ - + + @@ -51524,7 +77620,7 @@ - + @@ -51539,7 +77635,12 @@ - + + @@ -51554,7 +77655,7 @@ - + @@ -51569,7 +77670,7 @@ - + @@ -51584,7 +77685,7 @@ - + @@ -51599,7 +77700,7 @@ - + @@ -51614,7 +77715,7 @@ - + @@ -51629,7 +77730,7 @@ - + @@ -51644,7 +77745,12 @@ - + + @@ -51659,7 +77765,7 @@ - + @@ -51674,7 +77780,7 @@ - + @@ -51689,22 +77795,7 @@ - - - - + @@ -51719,7 +77810,7 @@ - + @@ -51734,7 +77825,7 @@ - + @@ -51749,7 +77840,7 @@ - + @@ -51764,7 +77855,12 @@ - + + @@ -51779,12 +77875,7 @@ - - + @@ -51799,7 +77890,7 @@ - + @@ -51814,7 +77905,7 @@ - + @@ -51829,12 +77920,7 @@ - - + @@ -51849,12 +77935,7 @@ - - + @@ -51869,7 +77950,7 @@ - + @@ -51884,7 +77965,7 @@ - + @@ -51899,7 +77980,7 @@ - + @@ -51914,7 +77995,7 @@ - + @@ -51929,7 +78010,7 @@ - + @@ -51946,10 +78027,15 @@ - + + @@ -51964,12 +78050,7 @@ - - + @@ -51984,7 +78065,7 @@ - + @@ -51999,7 +78080,7 @@ - + @@ -52014,7 +78095,7 @@ - + @@ -52029,7 +78110,7 @@ - + @@ -52044,7 +78125,7 @@ - + @@ -52059,7 +78140,8 @@ - + + @@ -52074,7 +78156,7 @@ - + @@ -52089,7 +78171,7 @@ - + @@ -52104,7 +78186,7 @@ - + @@ -52119,7 +78201,7 @@ - + @@ -52134,7 +78216,10 @@ - + + + + @@ -52149,7 +78234,12 @@ - + + @@ -52164,7 +78254,7 @@ - + @@ -52179,7 +78269,7 @@ - + @@ -52194,7 +78284,7 @@ - + @@ -52209,7 +78299,7 @@ - + @@ -52224,7 +78314,7 @@ - + @@ -52239,7 +78329,7 @@ - + @@ -52254,7 +78344,12 @@ - + + @@ -52269,7 +78364,7 @@ - + @@ -52284,7 +78379,7 @@ - + @@ -52299,7 +78394,7 @@ - + @@ -52314,7 +78409,7 @@ - + @@ -52329,7 +78424,7 @@ - + @@ -52344,7 +78439,7 @@ - + @@ -52359,7 +78454,7 @@ - + @@ -52374,7 +78469,7 @@ - + @@ -52389,7 +78484,7 @@ - + @@ -52404,7 +78499,12 @@ - + + @@ -52419,7 +78519,7 @@ - + @@ -52434,7 +78534,7 @@ - + @@ -52449,7 +78549,7 @@ - + @@ -52464,7 +78564,7 @@ - + @@ -52479,7 +78579,7 @@ - + @@ -52494,7 +78594,7 @@ - + @@ -52509,7 +78609,7 @@ - + @@ -52524,7 +78624,8 @@ - + + @@ -52539,7 +78640,8 @@ - + + @@ -52554,7 +78656,7 @@ - + @@ -52569,7 +78671,7 @@ - + @@ -52584,7 +78686,8 @@ - + + @@ -52599,7 +78702,7 @@ - + @@ -52614,7 +78717,7 @@ - + @@ -52629,7 +78732,7 @@ - + @@ -52644,7 +78747,7 @@ - + @@ -52659,7 +78762,12 @@ - + + @@ -52674,7 +78782,7 @@ - + @@ -52689,7 +78797,7 @@ - + @@ -52704,7 +78812,7 @@ - + @@ -52719,7 +78827,7 @@ - + @@ -52734,7 +78842,7 @@ - + @@ -52749,7 +78857,7 @@ - + @@ -52764,7 +78872,7 @@ - + @@ -52779,12 +78887,7 @@ - - + @@ -52799,7 +78902,7 @@ - + @@ -52814,7 +78917,7 @@ - + @@ -52829,7 +78932,7 @@ - + @@ -52844,7 +78947,7 @@ - + @@ -52859,7 +78962,7 @@ - + @@ -52874,7 +78977,7 @@ - + @@ -52889,7 +78992,7 @@ - + @@ -52904,7 +79007,7 @@ - + @@ -52919,7 +79022,7 @@ - + @@ -52934,7 +79037,7 @@ - + @@ -52949,7 +79052,7 @@ - + @@ -52964,7 +79067,7 @@ - + @@ -52979,7 +79082,7 @@ - + @@ -52994,12 +79097,7 @@ - - + @@ -53014,12 +79112,7 @@ - - + @@ -53034,7 +79127,7 @@ - + @@ -53049,7 +79142,7 @@ - + @@ -53064,7 +79157,7 @@ - + @@ -53079,12 +79172,7 @@ - - + @@ -53099,12 +79187,7 @@ - - + @@ -53119,7 +79202,7 @@ - + @@ -53134,7 +79217,7 @@ - + @@ -53149,7 +79232,7 @@ - + @@ -53164,7 +79247,7 @@ - + @@ -53179,7 +79262,7 @@ - + @@ -53194,7 +79277,7 @@ - + @@ -53209,7 +79292,7 @@ - + @@ -53224,7 +79307,7 @@ - + @@ -53239,7 +79322,7 @@ - + @@ -53254,7 +79337,7 @@ - + @@ -53269,7 +79352,7 @@ - + @@ -53284,7 +79367,7 @@ - + @@ -53299,7 +79382,12 @@ - + + @@ -53314,7 +79402,7 @@ - + @@ -53329,7 +79417,7 @@ - + @@ -53344,7 +79432,7 @@ - + @@ -53359,7 +79447,7 @@ - + @@ -53374,7 +79462,7 @@ - + @@ -53389,12 +79477,7 @@ - - + @@ -53409,12 +79492,7 @@ - - + @@ -53429,7 +79507,7 @@ - + @@ -53444,7 +79522,7 @@ - + @@ -53459,7 +79537,7 @@ - + @@ -53474,7 +79552,7 @@ - + @@ -53489,7 +79567,7 @@ - + @@ -53504,7 +79582,7 @@ - + @@ -53519,7 +79597,7 @@ - + @@ -53534,7 +79612,12 @@ - + + @@ -53549,7 +79632,7 @@ - + @@ -53564,7 +79647,7 @@ - + @@ -53579,7 +79662,7 @@ - + @@ -53594,7 +79677,7 @@ - + @@ -53609,7 +79692,7 @@ - + @@ -53624,7 +79707,7 @@ - + @@ -53639,7 +79722,7 @@ - + @@ -53654,7 +79737,7 @@ - + @@ -53669,7 +79752,12 @@ - + + @@ -53684,7 +79772,7 @@ - + @@ -53699,12 +79787,7 @@ - - + @@ -53719,12 +79802,7 @@ - - + @@ -53739,7 +79817,7 @@ - + @@ -53754,7 +79832,7 @@ - + @@ -53769,7 +79847,7 @@ - + @@ -53784,7 +79862,7 @@ - + @@ -53799,7 +79877,7 @@ - + @@ -53814,7 +79892,7 @@ - + @@ -53829,7 +79907,7 @@ - + @@ -53844,7 +79922,7 @@ - + @@ -53859,7 +79937,7 @@ - + @@ -53874,7 +79952,7 @@ - + @@ -53889,7 +79967,7 @@ - + @@ -53904,7 +79982,7 @@ - + @@ -53919,7 +79997,7 @@ - + @@ -53934,7 +80012,7 @@ - + @@ -53949,7 +80027,7 @@ - + @@ -53964,7 +80042,7 @@ - + @@ -53979,7 +80057,7 @@ - + @@ -53994,7 +80072,7 @@ - + @@ -54009,7 +80087,7 @@ - + @@ -54024,12 +80102,7 @@ - - + @@ -54044,7 +80117,7 @@ - + @@ -54059,7 +80132,7 @@ - + @@ -54074,7 +80147,7 @@ - + @@ -54089,7 +80162,7 @@ - + @@ -54104,7 +80177,7 @@ - + @@ -54119,7 +80192,7 @@ - + @@ -54134,7 +80207,7 @@ - + @@ -54149,7 +80222,7 @@ - + @@ -54164,7 +80237,7 @@ - + @@ -54179,7 +80252,7 @@ - + @@ -54194,7 +80267,7 @@ - + @@ -54209,7 +80282,7 @@ - + @@ -54224,7 +80297,7 @@ - + @@ -54239,7 +80312,7 @@ - + @@ -54254,7 +80327,7 @@ - + @@ -54269,7 +80342,7 @@ - + @@ -54284,7 +80357,7 @@ - + @@ -54299,7 +80372,7 @@ - + @@ -54314,7 +80387,7 @@ - + @@ -54329,7 +80402,7 @@ - + @@ -54344,7 +80417,7 @@ - + @@ -54359,7 +80432,7 @@ - + @@ -54374,7 +80447,7 @@ - + @@ -54389,42 +80462,13 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -54439,7 +80483,7 @@ - + @@ -54454,7 +80498,7 @@ - + @@ -54469,7 +80513,7 @@ - + @@ -54484,7 +80528,12 @@ - + + @@ -54499,7 +80548,7 @@ - + @@ -54514,7 +80563,7 @@ - + @@ -54529,7 +80578,7 @@ - + @@ -54544,7 +80593,7 @@ - + @@ -54561,60 +80610,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -54629,7 +80628,7 @@ - + @@ -54644,7 +80643,7 @@ - + @@ -54659,7 +80658,7 @@ - + @@ -54674,7 +80673,7 @@ - + @@ -54689,7 +80688,7 @@ - + @@ -54704,7 +80703,7 @@ - + @@ -54719,7 +80718,7 @@ - + @@ -54734,7 +80733,7 @@ - + @@ -54749,7 +80748,7 @@ - + @@ -54764,7 +80763,7 @@ - + @@ -54779,7 +80778,7 @@ - + @@ -54794,7 +80793,7 @@ - + @@ -54809,7 +80808,7 @@ - + @@ -54824,7 +80823,7 @@ - + @@ -54839,7 +80838,12 @@ - + + @@ -54854,7 +80858,7 @@ - + @@ -54869,7 +80873,7 @@ - + @@ -54884,7 +80888,7 @@ - + @@ -54899,7 +80903,7 @@ - + @@ -54914,7 +80918,7 @@ - + @@ -54929,7 +80933,7 @@ - + @@ -54944,7 +80948,7 @@ - + @@ -54959,7 +80963,7 @@ - + @@ -54974,7 +80978,7 @@ - + @@ -54989,7 +80993,7 @@ - + @@ -55004,7 +81008,7 @@ - + @@ -55019,7 +81023,7 @@ - + @@ -55034,7 +81038,7 @@ - + @@ -55049,7 +81053,7 @@ - + @@ -55064,7 +81068,7 @@ - + @@ -55079,7 +81083,7 @@ - + @@ -55094,7 +81098,7 @@ - + @@ -55109,7 +81113,7 @@ - + @@ -55124,7 +81128,7 @@ - + @@ -55139,7 +81143,7 @@ - + @@ -55154,7 +81158,7 @@ - + @@ -55169,7 +81173,12 @@ - + + @@ -55184,7 +81193,12 @@ - + + @@ -55199,7 +81213,7 @@ - + @@ -55214,7 +81228,12 @@ - + + @@ -55229,7 +81248,7 @@ - + @@ -55244,7 +81263,12 @@ - + + @@ -55259,7 +81283,7 @@ - + @@ -55274,12 +81298,7 @@ - - + @@ -55294,7 +81313,7 @@ - + @@ -55309,7 +81328,7 @@ - + @@ -55324,7 +81343,7 @@ - + @@ -55339,7 +81358,7 @@ - + @@ -55354,12 +81373,7 @@ - - + @@ -55374,7 +81388,7 @@ - + @@ -55389,12 +81403,7 @@ - - + @@ -55409,7 +81418,7 @@ - + @@ -55424,7 +81433,7 @@ - + @@ -55439,7 +81448,7 @@ - + @@ -55454,7 +81463,7 @@ - + @@ -55469,7 +81478,7 @@ - + @@ -55486,25 +81495,10 @@ - - - - - - - - - - - - - - - - + @@ -55519,7 +81513,7 @@ - + @@ -55534,7 +81528,7 @@ - + @@ -55549,7 +81543,7 @@ - + @@ -55564,7 +81558,7 @@ - + @@ -55579,7 +81573,7 @@ - + @@ -55594,12 +81588,7 @@ - - + @@ -55614,7 +81603,7 @@ - + @@ -55629,7 +81618,7 @@ - + @@ -55644,7 +81633,7 @@ - + @@ -55659,7 +81648,7 @@ - + @@ -55674,7 +81663,7 @@ - + @@ -55689,7 +81678,7 @@ - + @@ -55704,7 +81693,7 @@ - + @@ -55719,7 +81708,7 @@ - + @@ -55734,7 +81723,7 @@ - + @@ -55751,15 +81740,10 @@ - - + @@ -55774,7 +81758,7 @@ - + @@ -55789,7 +81773,7 @@ - + @@ -55804,83 +81788,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -55895,7 +81808,7 @@ - + @@ -55910,7 +81823,7 @@ - + @@ -55925,7 +81838,7 @@ - + @@ -55940,10 +81853,7 @@ - - - - + @@ -55958,12 +81868,7 @@ - - + @@ -55978,7 +81883,7 @@ - + @@ -55993,7 +81898,7 @@ - + @@ -56008,7 +81913,7 @@ - + @@ -56023,7 +81928,7 @@ - + @@ -56038,7 +81943,7 @@ - + @@ -56053,7 +81958,7 @@ - + @@ -56068,12 +81973,7 @@ - - + @@ -56088,7 +81988,7 @@ - + @@ -56103,7 +82003,7 @@ - + @@ -56118,7 +82018,7 @@ - + @@ -56133,7 +82033,7 @@ - + @@ -56148,7 +82048,12 @@ - + + @@ -56163,7 +82068,7 @@ - + @@ -56178,7 +82083,7 @@ - + @@ -56193,7 +82098,7 @@ - + @@ -56208,7 +82113,7 @@ - + @@ -56223,12 +82128,7 @@ - - + @@ -56243,7 +82143,7 @@ - + @@ -56258,7 +82158,7 @@ - + @@ -56273,7 +82173,7 @@ - + @@ -56288,7 +82188,7 @@ - + @@ -56303,7 +82203,7 @@ - + @@ -56318,7 +82218,7 @@ - + @@ -56333,8 +82233,17 @@ - - + + + @@ -56349,8 +82258,7 @@ - - + @@ -56365,7 +82273,7 @@ - + @@ -56380,8 +82288,7 @@ - - + @@ -56396,8 +82303,7 @@ - - + @@ -56412,7 +82318,7 @@ - + @@ -56427,7 +82333,7 @@ - + @@ -56442,7 +82348,12 @@ - + + @@ -56457,12 +82368,7 @@ - - + @@ -56477,7 +82383,7 @@ - + @@ -56492,7 +82398,7 @@ - + @@ -56507,7 +82413,7 @@ - + @@ -56522,7 +82428,7 @@ - + @@ -56537,7 +82443,7 @@ - + @@ -56552,7 +82458,7 @@ - + @@ -56567,7 +82473,7 @@ - + @@ -56582,7 +82488,7 @@ - + @@ -56597,7 +82503,7 @@ - + @@ -56612,7 +82518,7 @@ - + @@ -56627,7 +82533,7 @@ - + @@ -56642,7 +82548,7 @@ - + @@ -56657,7 +82563,7 @@ - + @@ -56672,7 +82578,12 @@ - + + @@ -56687,7 +82598,7 @@ - + @@ -56702,7 +82613,12 @@ - + + @@ -56717,7 +82633,7 @@ - + @@ -56732,7 +82648,7 @@ - + @@ -56747,7 +82663,12 @@ - + + @@ -56762,7 +82683,7 @@ - + @@ -56777,7 +82698,7 @@ - + @@ -56792,7 +82713,7 @@ - + @@ -56807,7 +82728,7 @@ - + @@ -56822,7 +82743,7 @@ - + @@ -56837,7 +82758,7 @@ - + @@ -56852,7 +82773,7 @@ - + @@ -56867,7 +82788,12 @@ - + + @@ -56882,7 +82808,7 @@ - + @@ -56897,7 +82823,7 @@ - + @@ -56912,7 +82838,7 @@ - + @@ -56927,7 +82853,7 @@ - + @@ -56942,7 +82868,7 @@ - + @@ -56957,7 +82883,12 @@ - + + @@ -56972,7 +82903,7 @@ - + @@ -56987,7 +82918,7 @@ - + @@ -57002,7 +82933,7 @@ - + @@ -57017,12 +82948,7 @@ - - + @@ -57037,7 +82963,7 @@ - + @@ -57052,7 +82978,7 @@ - + @@ -57067,7 +82993,7 @@ - + @@ -57082,7 +83008,7 @@ - + @@ -57097,7 +83023,7 @@ - + @@ -57112,7 +83038,7 @@ - + @@ -57127,7 +83053,7 @@ - + @@ -57142,7 +83068,7 @@ - + @@ -57157,7 +83083,7 @@ - + @@ -57172,7 +83098,7 @@ - + @@ -57187,7 +83113,7 @@ - + @@ -57202,7 +83128,7 @@ - + @@ -57217,12 +83143,7 @@ - - + @@ -57237,7 +83158,7 @@ - + @@ -57252,7 +83173,7 @@ - + @@ -57267,7 +83188,7 @@ - + @@ -57282,7 +83203,7 @@ - + @@ -57297,7 +83218,7 @@ - + @@ -57312,7 +83233,7 @@ - + @@ -57327,7 +83248,7 @@ - + @@ -57342,7 +83263,7 @@ - + @@ -57357,12 +83278,7 @@ - - + @@ -57377,7 +83293,7 @@ - + @@ -57392,7 +83308,7 @@ - + @@ -57407,7 +83323,7 @@ - + @@ -57422,7 +83338,7 @@ - + @@ -57437,7 +83353,7 @@ - + @@ -57452,7 +83368,7 @@ - + @@ -57467,7 +83383,7 @@ - + @@ -57482,7 +83398,7 @@ - + @@ -57497,7 +83413,37 @@ - + + + + + + + @@ -57512,7 +83458,7 @@ - + @@ -57527,7 +83473,7 @@ - + @@ -57542,7 +83488,7 @@ - + @@ -57557,7 +83503,7 @@ - + @@ -57572,7 +83518,12 @@ - + + @@ -57587,7 +83538,7 @@ - + @@ -57602,7 +83553,7 @@ - + @@ -57617,7 +83568,7 @@ - + @@ -57632,7 +83583,7 @@ - + @@ -57647,7 +83598,12 @@ - + + @@ -57662,7 +83618,7 @@ - + @@ -57677,7 +83633,7 @@ - + @@ -57692,7 +83648,7 @@ - + @@ -57707,7 +83663,7 @@ - + @@ -57722,7 +83678,7 @@ - + @@ -57737,7 +83693,7 @@ - + @@ -57752,7 +83708,7 @@ - + @@ -57767,7 +83723,17 @@ - + + + @@ -57782,7 +83748,7 @@ - + @@ -57797,8 +83763,7 @@ - - + @@ -57813,7 +83778,7 @@ - + @@ -57828,7 +83793,7 @@ - + @@ -57843,7 +83808,7 @@ - + @@ -57858,7 +83823,7 @@ - + @@ -57873,7 +83838,12 @@ - + + @@ -57888,7 +83858,12 @@ - + + @@ -57903,7 +83878,7 @@ - + @@ -57918,7 +83893,7 @@ - + @@ -57933,7 +83908,7 @@ - + @@ -57948,7 +83923,7 @@ - + @@ -57963,7 +83938,12 @@ - + + @@ -57978,7 +83958,7 @@ - + @@ -57993,7 +83973,12 @@ - + + @@ -58008,7 +83993,12 @@ - + + @@ -58023,7 +84013,12 @@ - + + @@ -58038,7 +84033,12 @@ - + + @@ -58053,7 +84053,12 @@ - + + @@ -58068,7 +84073,12 @@ - + + @@ -58083,7 +84093,7 @@ - + @@ -58098,7 +84108,7 @@ - + @@ -58113,7 +84123,12 @@ - + + @@ -58128,7 +84143,12 @@ - + + @@ -58143,7 +84163,12 @@ - + + @@ -58160,10 +84185,10 @@ - + @@ -58178,7 +84203,7 @@ - + @@ -58193,7 +84218,7 @@ - + @@ -58208,7 +84233,7 @@ - + @@ -58225,10 +84250,10 @@ - + @@ -58243,7 +84268,12 @@ - + + @@ -58258,7 +84288,12 @@ - + + @@ -58273,7 +84308,12 @@ - + + @@ -58288,7 +84328,12 @@ - + + @@ -58305,10 +84350,10 @@ - + @@ -58323,7 +84368,7 @@ - + @@ -58338,7 +84383,7 @@ - + @@ -58353,7 +84398,7 @@ - + @@ -58368,7 +84413,7 @@ - + @@ -58383,7 +84428,7 @@ - + @@ -58398,7 +84443,7 @@ - + @@ -58413,7 +84458,12 @@ - + + @@ -58428,7 +84478,7 @@ - + @@ -58443,7 +84493,7 @@ - + @@ -58458,7 +84508,7 @@ - + @@ -58473,7 +84523,7 @@ - + @@ -58488,7 +84538,12 @@ - + + @@ -58503,7 +84558,7 @@ - + @@ -58518,7 +84573,7 @@ - + @@ -58535,10 +84590,10 @@ - + @@ -58553,7 +84608,12 @@ - + + @@ -58568,7 +84628,12 @@ - + + @@ -58583,7 +84648,12 @@ - + + @@ -58598,7 +84668,12 @@ - + + @@ -58613,7 +84688,12 @@ - + + @@ -58628,7 +84708,12 @@ - + + @@ -58643,7 +84728,7 @@ - + @@ -58658,7 +84743,12 @@ - + + @@ -58673,7 +84763,12 @@ - + + @@ -58688,7 +84783,12 @@ - + + @@ -58703,7 +84803,12 @@ - + + @@ -58718,7 +84823,12 @@ - + + @@ -58733,7 +84843,7 @@ - + @@ -58748,7 +84858,12 @@ - + + @@ -58763,7 +84878,12 @@ - + + @@ -58778,7 +84898,7 @@ - + @@ -58793,7 +84913,12 @@ - + + @@ -58808,7 +84933,12 @@ - + + @@ -58823,7 +84953,12 @@ - + + @@ -58838,7 +84973,7 @@ - + @@ -58853,7 +84988,7 @@ - + @@ -58868,12 +85003,7 @@ - - + @@ -58888,12 +85018,7 @@ - - + @@ -58908,7 +85033,7 @@ - + @@ -58925,10 +85050,10 @@ - + @@ -58943,7 +85068,7 @@ - + @@ -58958,12 +85083,7 @@ - - + @@ -58978,7 +85098,7 @@ - + @@ -58993,7 +85113,7 @@ - + @@ -59008,7 +85128,7 @@ - + @@ -59023,7 +85143,7 @@ - + @@ -59038,7 +85158,12 @@ - + + @@ -59053,7 +85178,12 @@ - + + @@ -59068,7 +85198,7 @@ - + @@ -59083,7 +85213,7 @@ - + @@ -59098,7 +85228,12 @@ - + + @@ -59113,7 +85248,12 @@ - + + @@ -59128,7 +85268,7 @@ - + @@ -59143,7 +85283,12 @@ - + + @@ -59158,7 +85303,12 @@ - + + @@ -59173,7 +85323,7 @@ - + @@ -59190,25 +85340,10 @@ - - - - - - - - - - - - - - - - + @@ -59223,7 +85358,7 @@ - + @@ -59238,7 +85373,12 @@ - + + @@ -59253,7 +85393,12 @@ - + + @@ -59268,7 +85413,12 @@ - + + @@ -59283,7 +85433,12 @@ - + + @@ -59298,7 +85453,12 @@ - + + @@ -59313,7 +85473,7 @@ - + @@ -59328,7 +85488,12 @@ - + + @@ -59343,7 +85508,7 @@ - + @@ -59358,7 +85523,7 @@ - + @@ -59373,7 +85538,7 @@ - + @@ -59388,7 +85553,12 @@ - + + @@ -59403,7 +85573,12 @@ - + + @@ -59418,7 +85593,12 @@ - + + @@ -59433,7 +85613,7 @@ - + @@ -59450,20 +85630,10 @@ - - - + @@ -59478,7 +85648,7 @@ - + @@ -59493,7 +85663,12 @@ - + + @@ -59508,7 +85683,12 @@ - + + @@ -59523,7 +85703,12 @@ - + + @@ -59538,7 +85723,12 @@ - + + @@ -59553,7 +85743,12 @@ - + + @@ -59570,10 +85765,10 @@ - + @@ -59588,7 +85783,12 @@ - + + @@ -59603,7 +85803,7 @@ - + @@ -59618,7 +85818,12 @@ - + + @@ -59633,7 +85838,12 @@ - + + @@ -59648,7 +85858,12 @@ - + + @@ -59663,7 +85878,7 @@ - + @@ -59678,7 +85893,7 @@ - + @@ -59693,7 +85908,12 @@ - + + @@ -59708,7 +85928,12 @@ - + + @@ -59723,7 +85948,7 @@ - + @@ -59738,7 +85963,7 @@ - + @@ -59753,7 +85978,12 @@ - + + @@ -59768,7 +85998,7 @@ - + @@ -59783,7 +86013,12 @@ - + + @@ -59798,12 +86033,7 @@ - - + @@ -59818,7 +86048,7 @@ - + @@ -59835,10 +86065,10 @@ - + @@ -59853,7 +86083,7 @@ - + @@ -59868,7 +86098,7 @@ - + @@ -59883,12 +86113,7 @@ - - + @@ -59903,7 +86128,7 @@ - + @@ -59918,7 +86143,7 @@ - + @@ -59933,7 +86158,12 @@ - + + @@ -59948,7 +86178,7 @@ - + @@ -59963,7 +86193,7 @@ - + @@ -59978,7 +86208,12 @@ - + + @@ -59993,7 +86228,12 @@ - + + @@ -60008,12 +86248,7 @@ - - + @@ -60028,7 +86263,12 @@ - + + @@ -60043,7 +86283,7 @@ - + @@ -60058,7 +86298,7 @@ - + @@ -60073,7 +86313,7 @@ - + @@ -60088,7 +86328,7 @@ - + @@ -60103,12 +86343,7 @@ - - + @@ -60123,7 +86358,7 @@ - + @@ -60138,7 +86373,7 @@ - + @@ -60153,7 +86388,12 @@ - + + @@ -60168,7 +86408,7 @@ - + @@ -60183,7 +86423,7 @@ - + @@ -60198,7 +86438,7 @@ - + @@ -60213,7 +86453,12 @@ - + + @@ -60228,7 +86473,7 @@ - + @@ -60243,7 +86488,7 @@ - + @@ -60258,7 +86503,7 @@ - + @@ -60273,7 +86518,12 @@ - + + @@ -60288,7 +86538,12 @@ - + + @@ -60303,7 +86558,12 @@ - + + @@ -60318,7 +86578,7 @@ - + @@ -60333,7 +86593,7 @@ - + @@ -60348,7 +86608,7 @@ - + @@ -60363,7 +86623,7 @@ - + @@ -60378,7 +86638,7 @@ - + @@ -60393,7 +86653,12 @@ - + + @@ -60408,7 +86673,7 @@ - + @@ -60423,7 +86688,7 @@ - + @@ -60438,7 +86703,7 @@ - + @@ -60455,35 +86720,10 @@ - - - - - - + @@ -60498,7 +86738,7 @@ - + @@ -60513,7 +86753,7 @@ - + @@ -60528,7 +86768,12 @@ - + + @@ -60543,7 +86788,12 @@ - + + @@ -60560,10 +86810,10 @@ - + @@ -60578,7 +86828,12 @@ - + + @@ -60593,7 +86848,12 @@ - + + @@ -60608,7 +86868,7 @@ - + @@ -60623,7 +86883,7 @@ - + @@ -60638,17 +86898,7 @@ - - - + @@ -60663,7 +86913,7 @@ - + @@ -60678,7 +86928,12 @@ - + + @@ -60693,7 +86948,7 @@ - + @@ -60708,7 +86963,7 @@ - + @@ -60723,7 +86978,7 @@ - + @@ -60738,7 +86993,7 @@ - + @@ -60753,12 +87008,7 @@ - - + @@ -60773,12 +87023,7 @@ - - + @@ -60793,7 +87038,7 @@ - + @@ -60808,7 +87053,12 @@ - + + @@ -60823,7 +87073,12 @@ - + + @@ -60838,7 +87093,12 @@ - + + @@ -60855,10 +87115,10 @@ - + @@ -60873,7 +87133,12 @@ - + + @@ -60890,10 +87155,10 @@ - + @@ -60908,12 +87173,7 @@ - - + @@ -60928,12 +87188,7 @@ - - + @@ -60950,10 +87205,10 @@ - + @@ -60968,7 +87223,7 @@ - + @@ -60983,7 +87238,7 @@ - + @@ -60998,12 +87253,7 @@ - - + @@ -61020,10 +87270,10 @@ - + @@ -61040,10 +87290,10 @@ - + @@ -61060,10 +87310,10 @@ - + @@ -61078,7 +87328,12 @@ - + + @@ -61093,7 +87348,7 @@ - + @@ -61110,10 +87365,10 @@ - + @@ -61128,12 +87383,7 @@ - - + @@ -61148,12 +87398,7 @@ - - + @@ -61168,12 +87413,7 @@ - - + @@ -61188,12 +87428,7 @@ - - + @@ -61208,12 +87443,7 @@ - - + @@ -61228,7 +87458,12 @@ - + + @@ -61243,7 +87478,12 @@ - + + @@ -61258,7 +87498,12 @@ - + + @@ -61273,7 +87518,12 @@ - + + @@ -61288,7 +87538,12 @@ - + + @@ -61303,7 +87558,7 @@ - + @@ -61318,12 +87573,7 @@ - - + @@ -61338,7 +87588,7 @@ - + @@ -61353,7 +87603,7 @@ - + @@ -61368,7 +87618,7 @@ - + @@ -61383,12 +87633,7 @@ - - + @@ -61403,7 +87648,12 @@ - + + @@ -61418,7 +87668,7 @@ - + @@ -61435,10 +87685,10 @@ - + @@ -61453,12 +87703,7 @@ - - + @@ -61473,12 +87718,7 @@ - - + @@ -61493,12 +87733,7 @@ - - + @@ -61513,12 +87748,7 @@ - - + @@ -61535,10 +87765,10 @@ - + @@ -61553,12 +87783,7 @@ - - + @@ -61573,12 +87798,7 @@ - - + @@ -61593,12 +87813,7 @@ - - + @@ -61613,12 +87828,7 @@ - - + @@ -61635,10 +87845,10 @@ - + @@ -61653,7 +87863,7 @@ - + @@ -61668,12 +87878,7 @@ - - + @@ -61688,12 +87893,7 @@ - - + @@ -61710,10 +87910,10 @@ - + @@ -61728,7 +87928,7 @@ - + @@ -61743,7 +87943,7 @@ - + @@ -61758,7 +87958,12 @@ - + + @@ -61773,7 +87978,7 @@ - + @@ -61788,7 +87993,7 @@ - + @@ -61805,10 +88010,10 @@ - + @@ -61823,7 +88028,12 @@ - + + @@ -61838,7 +88048,7 @@ - + @@ -61853,7 +88063,7 @@ - + @@ -61868,7 +88078,7 @@ - + @@ -61883,7 +88093,12 @@ - + + @@ -61900,10 +88115,10 @@ - + @@ -61918,12 +88133,7 @@ - - + @@ -61938,7 +88148,7 @@ - + @@ -61953,7 +88163,7 @@ - + @@ -61968,12 +88178,7 @@ - - + @@ -61988,12 +88193,7 @@ - - + @@ -62008,7 +88208,7 @@ - + @@ -62023,12 +88223,7 @@ - - + @@ -62043,12 +88238,7 @@ - - + @@ -62063,7 +88253,7 @@ - + @@ -62078,12 +88268,7 @@ - - + @@ -62098,7 +88283,7 @@ - + @@ -62113,12 +88298,7 @@ - - + @@ -62133,12 +88313,7 @@ - - + @@ -62153,12 +88328,7 @@ - - + @@ -62173,12 +88343,7 @@ - - + @@ -62193,12 +88358,7 @@ - - + @@ -62213,7 +88373,7 @@ - + @@ -62228,12 +88388,7 @@ - - + @@ -62248,7 +88403,7 @@ - + @@ -62263,12 +88418,7 @@ - - + @@ -62283,12 +88433,7 @@ - - + @@ -62303,12 +88448,7 @@ - - + @@ -62323,12 +88463,7 @@ - - + @@ -62343,12 +88478,7 @@ - - + @@ -62363,12 +88493,7 @@ - - + @@ -62383,12 +88508,7 @@ - - + @@ -62403,12 +88523,7 @@ - - + @@ -62423,7 +88538,12 @@ - + + @@ -62438,7 +88558,7 @@ - + @@ -62453,12 +88573,7 @@ - - + @@ -62473,12 +88588,7 @@ - - + @@ -62493,7 +88603,7 @@ - + @@ -62508,7 +88618,7 @@ - + @@ -62523,12 +88633,7 @@ - - + @@ -62543,7 +88648,7 @@ - + @@ -62558,12 +88663,7 @@ - - + @@ -62578,7 +88678,7 @@ - + @@ -62593,7 +88693,7 @@ - + @@ -62608,12 +88708,7 @@ - - + @@ -62628,7 +88723,7 @@ - + @@ -62643,7 +88738,7 @@ - + @@ -62658,7 +88753,7 @@ - + @@ -62673,7 +88768,7 @@ - + @@ -62688,7 +88783,7 @@ - + @@ -62703,12 +88798,7 @@ - - + @@ -62723,7 +88813,7 @@ - + @@ -62738,7 +88828,7 @@ - + @@ -62753,12 +88843,7 @@ - - + @@ -62773,12 +88858,7 @@ - - + @@ -62793,7 +88873,7 @@ - + @@ -62808,12 +88888,7 @@ - - + @@ -62828,7 +88903,7 @@ - + @@ -62843,7 +88918,7 @@ - + @@ -62858,7 +88933,7 @@ - + @@ -62873,7 +88948,7 @@ - + @@ -62888,7 +88963,7 @@ - + @@ -62903,7 +88978,7 @@ - + @@ -62918,7 +88993,7 @@ - + @@ -62933,12 +89008,7 @@ - - + @@ -62953,7 +89023,7 @@ - + @@ -62968,7 +89038,7 @@ - + @@ -62983,7 +89053,7 @@ - + @@ -63000,10 +89070,10 @@ - + @@ -63018,12 +89088,7 @@ - - + @@ -63038,12 +89103,7 @@ - - + @@ -63058,7 +89118,7 @@ - + @@ -63073,7 +89133,7 @@ - + @@ -63088,7 +89148,7 @@ - + @@ -63103,7 +89163,7 @@ - + @@ -63118,7 +89178,7 @@ - + @@ -63133,12 +89193,7 @@ - - + @@ -63153,7 +89208,12 @@ - + + @@ -63168,7 +89228,7 @@ - + @@ -63183,7 +89243,7 @@ - + @@ -63198,12 +89258,7 @@ - - + @@ -63218,7 +89273,7 @@ - + @@ -63233,7 +89288,7 @@ - + @@ -63248,12 +89303,7 @@ - - + @@ -63268,12 +89318,7 @@ - - + @@ -63288,12 +89333,7 @@ - - + @@ -63308,12 +89348,7 @@ - - + @@ -63328,12 +89363,7 @@ - - + @@ -63348,7 +89378,7 @@ - + @@ -63363,7 +89393,7 @@ - + @@ -63378,7 +89408,12 @@ - + + @@ -63393,7 +89428,7 @@ - + @@ -63408,12 +89443,7 @@ - - + @@ -63428,7 +89458,7 @@ - + @@ -63443,7 +89473,12 @@ - + + @@ -63458,7 +89493,12 @@ - + + @@ -63473,7 +89513,7 @@ - + @@ -63488,7 +89528,12 @@ - + + @@ -63503,7 +89548,12 @@ - + + @@ -63518,7 +89568,7 @@ - + @@ -63533,12 +89583,7 @@ - - + @@ -63555,10 +89600,10 @@ - + @@ -63573,12 +89618,7 @@ - - + @@ -63595,10 +89635,10 @@ - + diff --git a/endpoints/lib/vboxwebService-5.2.wsdl b/endpoints/lib/vboxwebService-7.2.wsdl similarity index 91% rename from endpoints/lib/vboxwebService-5.2.wsdl rename to endpoints/lib/vboxwebService-7.2.wsdl index c544f7dd..c4543c0e 100644 --- a/endpoints/lib/vboxwebService-5.2.wsdl +++ b/endpoints/lib/vboxwebService-7.2.wsdl @@ -5,7 +5,7 @@ Generator: src/VBox/Main/webservice/websrv-wsdl-service.xsl --> - + diff --git a/endpoints/rdp.php b/endpoints/rdp.php index 4da62fec..b3e326f9 100644 --- a/endpoints/rdp.php +++ b/endpoints/rdp.php @@ -10,7 +10,7 @@ */ # Turn off PHP notices -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); require_once(dirname(__FILE__).'/lib/utils.php'); $_GET = clean_request(); diff --git a/endpoints/screen.php b/endpoints/screen.php index f8f9e68f..212cc955 100644 --- a/endpoints/screen.php +++ b/endpoints/screen.php @@ -10,7 +10,7 @@ */ # Turn off PHP notices -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); require_once(dirname(__FILE__).'/lib/config.php'); require_once(dirname(__FILE__).'/lib/utils.php'); @@ -87,13 +87,13 @@ // Let the browser cache images for 3 seconds $ctime = 0; - if(strpos($_SERVER['HTTP_IF_NONE_MATCH'],'_')) { + if(strpos($_SERVER['HTTP_IF_NONE_MATCH'] ?? '','_')) { $ctime = preg_replace("/.*_/",str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH'])); - } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'],'_')) { + } else if(strpos($_ENV['HTTP_IF_NONE_MATCH'] ?? '','_')) { $ctime = preg_replace("/.*_/",str_replace('"','',$_ENV['HTTP_IF_NONE_MATCH'])); - } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'],'GMT')) { + } else if(strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) { $ctime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']); - } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'],'GMT')) { + } else if(strpos($_ENV['HTTP_IF_MODIFIED_SINCE'] ?? '','GMT')) { $ctime = strtotime($_ENV['HTTP_IF_MODIFIED_SINCE']); } diff --git a/images/vbox/os_win11_64.png b/images/vbox/os_win11_64.png new file mode 100644 index 00000000..6e792f0f Binary files /dev/null and b/images/vbox/os_win11_64.png differ diff --git a/images/vbox/os_win2k19_64.png b/images/vbox/os_win2k19_64.png new file mode 100644 index 00000000..b88ee72d Binary files /dev/null and b/images/vbox/os_win2k19_64.png differ diff --git a/images/vbox/virtio_scsi_add_16px.png b/images/vbox/virtio_scsi_add_16px.png new file mode 100644 index 00000000..044e9806 Binary files /dev/null and b/images/vbox/virtio_scsi_add_16px.png differ diff --git a/images/vbox/virtio_scsi_add_disabled_16px.png b/images/vbox/virtio_scsi_add_disabled_16px.png new file mode 100644 index 00000000..6f1fa6cd Binary files /dev/null and b/images/vbox/virtio_scsi_add_disabled_16px.png differ diff --git a/images/vbox/virtio_scsi_collapse_16px.png b/images/vbox/virtio_scsi_collapse_16px.png new file mode 100644 index 00000000..10a746f6 Binary files /dev/null and b/images/vbox/virtio_scsi_collapse_16px.png differ diff --git a/images/vbox/virtio_scsi_expand_16px.png b/images/vbox/virtio_scsi_expand_16px.png new file mode 100644 index 00000000..d53ae9ee Binary files /dev/null and b/images/vbox/virtio_scsi_expand_16px.png differ diff --git a/index.html b/index.html index 73432a92..930314c8 100644 --- a/index.html +++ b/index.html @@ -26,15 +26,11 @@ - - - - - - - - - + + + + + @@ -96,6 +92,8 @@ * If not, there is a PHP error somewhere. */ if(typeof trans != "function" || typeof __vboxLangData == "undefined") { + //if(true) { + trans = function(s){return s;}; vboxAlert("An unknown PHP error occurred. This is most likely a syntax error in\ config.php in phpVirtualBox's folder. The most common errors are an unclosed\ @@ -106,8 +104,8 @@ browser may display the PHP error message.

\

If find that this is not the case,\ or have no idea what this error message means, please raise the issue\ - at http://sourceforge.net/p/phpvirtualbox/discussion/help/",{'width':'50%'}); + at https://github.com/phpvirtualbox/phpvirtualbox/issues",{'width':'50%'}); return; } @@ -257,7 +255,7 @@ /* * Resize panes when the window changes sizes */ - $(window).resize(function(){ + $(window).on('resize', function(){ // Hide $('#vboxChooserResizePane').children().children().css({'display':'none'}); @@ -374,8 +372,8 @@ $('#vboxLogin').find('input[name=password]').val(''); $('#vboxLogin').dialog('open'); - if(!$('#vboxLogin').find('input[name=username]').val()) $('#vboxLogin').find('input[name=username]').focus(); - else $('#vboxLogin').find('input[name=password]').focus(); + if(!$('#vboxLogin').find('input[name=username]').val()) $('#vboxLogin').find('input[name=username]').trigger('focus'); + else $('#vboxLogin').find('input[name=password]').trigger('focus'); // Display error if we tried to log in if(tried) { @@ -409,8 +407,8 @@ // Create but do not open dialog if($.browser.webkit) heightadd = 5; else heightadd = 0; - $('#vboxLogin').dialog({'closeOnEscape':false,'width':300,'height':'auto','buttons':buttons,'modal':true,'autoOpen':false,'dialogClass':'vboxDialogContent','title':' phpVirtualBox :: ' + trans('Log in','UIUsers')}); - $('#vboxLogin').find('input[name=username]').first().focus(); + $('#vboxLogin').dialog({'closeOnEscape':false,'width':300,'height':'auto','buttons':buttons,'modal':true,'autoOpen':false,'classes':{'ui-dialog':'vboxDialogContent'},'title':' phpVirtualBox :: ' + trans('Log in','UIUsers')}); + $('#vboxLogin').find('input[name=username]').first().trigger('focus'); // Trick loader into not showing root pane again loader.hideRoot = false; diff --git a/js/chooser.js b/js/chooser.js index 1bfa27bd..5d5dedd2 100644 --- a/js/chooser.js +++ b/js/chooser.js @@ -90,7 +90,7 @@ var vboxChooser = { $(this).removeClass('vboxChooserDropTargetHoverRoot'); }); - $(window).resize(function(){ + $(window).on('resize', function(){ // Get anchor id and add / remove class var w = parseInt($(vboxChooser._anchor).innerWidth()); @@ -501,8 +501,7 @@ var vboxChooser = { if(!vmUpdate) return; // New VM - if(newVM) { - + if(newVM === true) { // New VM.. add it to groups.. if(!vmUpdate.groups || vmUpdate.groups.length == 0) vmUpdate.groups = ['/']; @@ -516,16 +515,14 @@ var vboxChooser = { // Existing VM. Replace existing elements } else { - $('#'+vboxChooser._anchorid).find('table.vboxChooserItem-'+vboxChooser._anchorid+'-'+vmUpdate.id).each(function(i,elm){ - + var newHTML = vboxChooser.vmHTML(vmUpdate); if($(elm).hasClass('vboxListItemSelected')) { $(newHTML).addClass('vboxListItemSelected').removeClass('vboxHover'); } - $(elm).children().replaceWith(newHTML.children()); + $(elm).empty().append(newHTML.children()); }); - } }, @@ -693,7 +690,7 @@ var vboxChooser = { // Table gets tool tips - tip = trans(vboxChooser._vmToolTip, 'UIVMListView').replace('%1',(''+$('') + tip = trans(vboxChooser._vmToolTip, 'UIVirtualMachineItem').replace('%1',(''+$('') .text(vmn.name).html()+''+(vmn.currentSnapshotName ? ' (' + $('') .text(vmn.currentSnapshotName).html() + ')' : ''))) .replace('%2',trans(vboxVMStates.convert(vmn.state),'VBoxGlobal')) @@ -720,7 +717,7 @@ var vboxChooser = { var vStr = $('#vboxPane').data('vboxConfig').phpvboxver.substring(0,$('#vboxPane').data('vboxConfig').phpvboxver.indexOf('-')); var vers = $('#vboxPane').data('vboxConfig').version.string.replace('_OSE','').split('.'); if(vers[0]+'.'+vers[1] != vStr) { - vboxAlert('This version of phpVirtualBox ('+$('#vboxPane').data('vboxConfig').phpvboxver+') is incompatible with VirtualBox ' + $('#vboxPane').data('vboxConfig').version.string + ". You probably need to download the latest phpVirtualBox " + vers[0]+'.'+vers[1] + "-x.

See the Versioning section below the file list in the link for more information

",{'width':'auto'}); + vboxAlert('This version of phpVirtualBox ('+$('#vboxPane').data('vboxConfig').phpvboxver+') is incompatible with VirtualBox ' + $('#vboxPane').data('vboxConfig').version.string + ". You probably need to download the latest phpVirtualBox " + vers[0]+'.'+vers[1] + "-x.

See the Versioning section below the file list in the link for more information

",{'width':'auto'}); } } } else { @@ -756,7 +753,7 @@ var vboxChooser = { }); // Open settings on dblclick - $(tbl).dblclick(function(){ + $(tbl).on('dblclick', function(){ if(vboxChooser._vmContextMenuObj.menuItems['settings'].enabled()) vboxChooser._vmContextMenuObj.menuItems['settings'].click(); }); @@ -1596,7 +1593,7 @@ var vboxChooser = { ) ); - $(el).children('div.vboxChooserGroupHeader').children('form').children('input').focus().select().blur(renameGroup); + $(el).children('div.vboxChooserGroupHeader').children('form').children('input').trigger('focus').trigger('select').on('blur', renameGroup); }, @@ -1790,7 +1787,7 @@ var vboxChooser = { } else { // Hold history - vboxChooser._showOnlyGroupHistory[vboxChooser._showOnlyGroupHistory.length] = gelm; + vboxChooser._showOnlyGroupHistory.push(gelm); } @@ -1888,7 +1885,7 @@ var vboxChooser = { ).append( $('
').addClass('vboxChooserGroupHeader').css({'display':(first ? 'none' : '')}) .attr({'title':gname}) - .dblclick(function() { + .on('dblclick', function() { // Already collapsed? var collapsed = $(this).closest('div.vboxChooserGroup').hasClass('vboxVMGroupCollapsed'); @@ -1953,18 +1950,18 @@ var vboxChooser = { ) .append( $('').addClass('vboxChooserGroupNameArrowLeft vboxChooserGroupNameArrowCollapse vboxArrowImage') - .mousedown(function(e){ + .on('mousedown', function(e){ e.stopPropagation(); e.preventDefault(); return false; - }).mouseup(function(){ + }).on('mouseup', function(){ $(this).closest('div.vboxChooserGroupHeader').trigger('dblclick'); }) ).append( $('').addClass('vboxChooserGroupNameArrowLeft vboxChooserGroupShowOnlyBack vboxArrowImage') - .click(function(e) { + .on('click', function(e) { e.stopPropagation(); e.preventDefault(); vboxChooser.showOnlyGroupElm(); @@ -1977,7 +1974,7 @@ var vboxChooser = { "" ).append( $('').addClass('vboxChooserGroupShowOnly vboxArrowImage') - .click(function(e){ + .on('click', function(e){ e.stopPropagation(); e.preventDefault(); vboxChooser.showOnlyGroupElm($(this).closest('div.vboxChooserGroup')); @@ -2183,14 +2180,13 @@ $(document).ready(function(){ // Event list queue }).on('vboxEvents',function(e, eventList) { - var redrawVMs = []; + const redrawVMs = new Set(); var sortGroups = []; var groupsChanged = false; var selectedChanged = false; var resizeElements = false; for(var i = 0; i < eventList.length; i++) { - switch(eventList[i].eventType) { //////////////////////////////// @@ -2212,7 +2208,7 @@ $(document).ready(function(){ break; } - redrawVMs[redrawVMs.length] = vmid; + redrawVMs.add(vmid); // Make sure VM has root group at least if(data.groups.length == 0) data.groups = ['/']; @@ -2272,7 +2268,7 @@ $(document).ready(function(){ case 'OnSnapshotTaken': case 'OnSnapshotRestored': case 'OnSnapshotChanged': - redrawVMs[redrawVMs.length] = eventList[i].machineId; + redrawVMs.add(eventList[i].machineId); break; ///////////////////////////////////// @@ -2370,7 +2366,7 @@ $(document).ready(function(){ // redraw when custom icon changes case 'phpvb/icon': - redrawVMs[redrawVMs.length] = eventList[i].machineId; + redrawVMs.add(eventList[i].machineId); break; } } @@ -2383,7 +2379,7 @@ $(document).ready(function(){ /////////////////////////////////////// case 'OnSessionStateChanged': case 'OnMachineStateChanged': - redrawVMs[redrawVMs.length] = eventList[i].machineId; + redrawVMs.add(eventList[i].machineId); break; } // > @@ -2393,17 +2389,13 @@ $(document).ready(function(){ // Now redraw each VM /////////////////////////// - var redrawn = {}; var updateMenus = false; - for(var i = 0; i < redrawVMs.length; i++) { - - if(redrawn[redrawVMs[i]]) continue; - redrawn[redrawVMs[i]] = true; + for(const vmId of redrawVMs) { - vboxChooser.updateVMElement(vboxVMDataMediator.getVMData(redrawVMs[i])); + vboxChooser.updateVMElement(vboxVMDataMediator.getVMData(vmId)); // Update menus if the VM is selected - updateMenus = (updateMenus || vboxChooser.isVMSelected(redrawVMs[i])); + updateMenus = (updateMenus || vboxChooser.isVMSelected(vmId)); } @@ -2448,4 +2440,4 @@ $(document).ready(function(){ -}); \ No newline at end of file +}); diff --git a/js/dialogs.js b/js/dialogs.js index 402ab55c..2511517b 100644 --- a/js/dialogs.js +++ b/js/dialogs.js @@ -130,7 +130,7 @@ function vboxWizardImportApplianceDialog() { $(this).empty().remove(); }; - var dlg = $('
').dialog({'closeOnEscape':false,'width':600,'height':500,'buttons':buttons,'modal':true,'autoOpen':false,'dialogClass':'vboxDialogContent vboxWizard','title':' ' + trans('Software License Agreement','UIImportLicenseViewer')}); + var dlg = $('
').dialog({'closeOnEscape':false,'width':600,'height':500,'buttons':buttons,'modal':true,'autoOpen':false,'classes':{'ui-dialog':'vboxDialogContent vboxWizard'},'title':' ' + trans('Software License Agreement','UIImportLicenseViewer')}); $(dlg).html('

'); $('#vboxImportWizLicTitle').html(msg.replace('%1',licenses[a]['name'])); @@ -313,7 +313,7 @@ function vboxMediumEncryptionPasswordsDialog(context, encIds, validIds) { $(this).trigger('close').empty().remove(); }; - $('#vboxMediumEncryptionPasswords').dialog({'closeOnEscape':true,'width':600,'height':400,'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxDialogContent','title':' ' + dialogTitle}).on("dialogbeforeclose",function(){ + $('#vboxMediumEncryptionPasswords').dialog({'closeOnEscape':true,'width':600,'height':400,'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxDialogContent'},'title':' ' + dialogTitle}).on("dialogbeforeclose",function(){ $(this).parent().find('span:contains("'+trans('Cancel','QIMessageBox')+'")').trigger('click'); }); @@ -369,7 +369,7 @@ function vboxPortForwardConfigDialog(rules) { $(this).trigger('close').empty().remove(); }; - $('#vboxSettingsPortForwarding').dialog({'closeOnEscape':true,'width':600,'height':400,'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxDialogContent','title':' ' + trans('Port Forwarding Rules','UIMachineSettingsPortForwardingDlg')}).on("dialogbeforeclose",function(){ + $('#vboxSettingsPortForwarding').dialog({'closeOnEscape':true,'width':600,'height':400,'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxDialogContent'},'title':' ' + trans('Port Forwarding Rules','UIMachineSettingsPortForwardingDlg')}).on("dialogbeforeclose",function(){ $(this).parent().find('span:contains("'+trans('Cancel','QIMessageBox')+'")').trigger('click'); }).on('dialogresizestop',resizeTable); @@ -418,7 +418,7 @@ function vboxWizardNewVMDialog(vmgroup) { disk = $(self.form)[0].newVMDiskSelect.options[$(self.form)[0].newVMDiskSelect.selectedIndex].value; disk = vboxMedia.getMediumById(disk).location; } - var name = jQuery.trim($(self.form).find('[name=newVMName]').val()); + var name = String($(self.form).find('[name=newVMName]').val()).trim(); var ostype = $(self.form).find('[name=newVMOSType]').val(); var mem = parseInt($(self.form).find('[name=wizardNewVMSizeValue]').val()); @@ -451,7 +451,7 @@ function vboxWizardNewVMDialog(vmgroup) { }; // Name must exist - if(!jQuery.trim($(self.form).find('[name=newVMName]').val())) { + if(!String($(self.form).find('[name=newVMName]').val()).trim()) { $(self.form).find('[name=newVMName]').addClass('vboxRequired'); return; } @@ -485,7 +485,7 @@ function vboxWizardNewVMDialog(vmgroup) { // Recommended size var size = newVMOSTypesObj[$(self.form).find('[name=newVMOSType]').val()].recommendedHDD; - $.when(new vboxWizardNewHDDialog({'name':jQuery.trim($(self.form).find('[name=newVMName]').val()),'size':size,'group':vmgroup}).run()) + $.when(new vboxWizardNewHDDialog({'name':String($(self.form).find('[name=newVMName]').val()).trim(),'size':size,'group':vmgroup}).run()) .done(function(med){ $(self.form).find('[name=newVMDisk]').eq(2).trigger('click').prop('checked',true); @@ -571,7 +571,7 @@ function vboxWizardCloneVMDialog(args) { this.onFinish = function() { // Get parameters - var name = jQuery.trim($(self.form).find('[name=machineCloneName]').val()); + var name = String($(self.form).find('[name=machineCloneName]').val()).trim(); var src = self.args.vm.id; var snapshot = self.args.snapshot; var allNetcards = $(self.form).find('[name=vboxCloneReinitNetwork]').prop('checked'); @@ -685,7 +685,7 @@ function vboxShowLogsDialogInit(vm) { l.run(); }; buttons[trans('Close','UIVMLogViewer')] = function(){$(this).trigger('close').empty().remove();}; - $('#vboxVMLogsDialog').dialog({'closeOnEscape':true,'width':800,'height':500,'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxDialogContent','title':' '+ trans('%1 - VirtualBox Log Viewer','UIVMLogViewer').replace('%1',vm.name)}).on("dialogbeforeclose",function(){ + $('#vboxVMLogsDialog').dialog({'closeOnEscape':true,'width':800,'height':500,'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxDialogContent'},'title':' '+ trans('%1 - VirtualBox Log Viewer','UIVMLogViewer').replace('%1',vm.name)}).on("dialogbeforeclose",function(){ $(this).parent().find('span:contains("'+trans('Close','UIVMLogViewer')+'")').trigger('click'); }); vboxShowLogsInit(vm); @@ -740,7 +740,7 @@ function vboxVMMDialog(select,type,hideDiff,mPath) { results.reject(); }; - $("#vboxVMMDialog").dialog({'closeOnEscape':true,'width':800,'height':500,'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxDialogContent vboxVMMDialog','title':' '+trans('Virtual Media Manager','VBoxMediaManagerDlg')}).on("dialogbeforeclose",function(){ + $("#vboxVMMDialog").dialog({'closeOnEscape':true,'width':800,'height':500,'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxDialogContent vboxVMMDialog'},'title':' '+trans('Virtual Media Manager','UIMediumManager')}).on("dialogbeforeclose",function(){ $(this).parent().find('span:contains("'+trans('Close','UIMessageCenter')+'")').trigger('click'); }); @@ -968,7 +968,7 @@ function vboxWizardCopyHDDialog(suggested) { var fsplit = $(self.form).find('[name=newHardDiskSplit]').prop('checked') && vboxMedia.formatSupportsSplit(format); - var loc = jQuery.trim($(self.form).find('[name=wizardCopyHDLocation]').val()); + var loc = String($(self.form).find('[name=wizardCopyHDLocation]').val()).trim(); if(!loc) { $(self.form).find('[name=wizardCopyHDLocation]').addClass('vboxRequired'); return; @@ -1051,7 +1051,7 @@ function vboxGuestNetworkAdaptersDialogInit(vm) { var buttons = {}; buttons[trans('Close','UIVMLogViewer')] = function() {$('#vboxGuestNetworkDialog').trigger('close').empty().remove();}; - $('#vboxGuestNetworkDialog').dialog({'closeOnEscape':true,'width':500,'height':250,'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxDialogContent','title':' ' + trans('Guest Network Adapters','VBoxGlobal')}).on("dialogbeforeclose",function(){ + $('#vboxGuestNetworkDialog').dialog({'closeOnEscape':true,'width':500,'height':250,'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxDialogContent'},'title':' ' + trans('Guest Network Adapters','VBoxGlobal')}).on("dialogbeforeclose",function(){ $(this).parent().find('span:contains("'+trans('Close','UIVMLogViewer')+'")').trigger('click'); }); @@ -1301,14 +1301,15 @@ function vboxVMsettingsDialog(vm,pane) { */ var presaveCallback = function() { - if(!$('#vboxSettingsDialog').data('vboxEncSettingsChanged')) - return true; + if(!$('#vboxSettingsDialog').data('vboxEncSettingsChanged')) { + return true; + } var encMediaSettings = $.Deferred(); // Validate if(!vboxSettingsGeneralValidate()) { - $('#vboxSettingsMenuList').children('li:eq(0)').first().click(); + $('#vboxSettingsMenuList').children('li:eq(0)').first().trigger('click'); $('#vboxSettingsPane-General').tabs('option','active', 3); encMediaSettings.reject(); return encMediaSettings; @@ -1433,15 +1434,13 @@ function vboxVMsettingsDialog(vm,pane) { // Always run this .always(function(){ - // No longer watch for changed VM settings - $('#vboxPane').unbind('vboxEvents',machineSettingsChanged); + $('#vboxPane').off('vboxEvents',machineSettingsChanged); }) // Run this when "Save" is clicked .done(function() { - var loader = new vboxLoader(); var sdata = $.extend($('#vboxSettingsDialog').data('vboxMachineData'),{'clientConfig':$('#vboxPane').data('vboxConfig')}); loader.add('machineSave',function(){return;},sdata); @@ -1611,7 +1610,7 @@ function vboxSettingsDialog(title,panes,data,pane,icon,langContext,presave) { if(panes[i].disabled) continue; // Menu item - $('

  • ').html('
    '+trans(panes[i].label,langContext)+'
    ').data(panes[i]).click(function(){ + $('
  • ').html('
    '+trans(panes[i].label,langContext)+'
    ').data(panes[i]).on('click', function(){ $('#vboxSettingsTitle').html(trans($(this).data('label'),langContext)); @@ -1645,36 +1644,46 @@ function vboxSettingsDialog(title,panes,data,pane,icon,langContext,presave) { /* Tell dialog that data is loaded */ $('#vboxSettingsDialog').trigger('dataLoaded'); - var buttons = { }; - buttons[trans('OK','QIMessageBox')] = function() { + var buttons = [ + { + text: trans('OK','QIMessageBox'), + click: function() { - $(this).trigger('save'); + $(this).trigger('save'); + + // Does some settings pane need to do some presave + // work? (ask questions, run wizard, some other asynch task) + var promise = true; + if(presave) { + promise = presave(); + } + var dlg = this; + $.when(promise).done(() => { + results.resolve(); + }).then(() => { + $(dlg).trigger('close').empty().remove(); + $(document).trigger('click'); + }); + } + }, { + text: trans('Cancel','QIMessageBox'), + click: function() { + results.reject(); + $('#vboxSettingsDialog').trigger('close').empty().remove(); + $(document).trigger('click'); + } + } + ]; - // Does some settings pane need to do some presave - // work? (ask questions, run wizard, some other asynch task) - var promise = true; - if(presave) { - promise = presave(); - } - var dlg = this; - $.when(promise).done(function() { - results.resolve(true); - $(dlg).trigger('close').empty().remove(); - $(document).trigger('click'); - }); - }; - buttons[trans('Cancel','QIMessageBox')] = function() { - results.reject(); - $(this).trigger('close').empty().remove(); - $(document).trigger('click'); - }; // Init with "nothing has changed yet" $('#vboxSettingsDialog').data('formDataChanged', false); // Show dialog - $('#vboxSettingsDialog').dialog({'closeOnEscape':true,'width':(panes.length > 1 ? 900 : 600),'height':(panes.length > 1 ? 500 : 450),'buttons':buttons,'modal':true,'autoOpen':true,'dialogClass':'vboxSettingsDialog vboxDialogContent','title':(icon ? ' ' : '') + title}).on("dialogbeforeclose",function(){ - $(this).parent().find('span:contains("'+trans('Cancel','QIMessageBox')+'")').trigger('click'); + $('#vboxSettingsDialog').dialog({'closeOnEscape':true,'width':(panes.length > 1 ? 900 : 600),'height':(panes.length > 1 ? 500 : 450),'buttons':buttons,'modal':true,'autoOpen':true,'classes':{'ui-dialog':'vboxSettingsDialog vboxDialogContent'},'title':(icon ? ' ' : '') + title}).on("dialogbeforeclose",(e)=>{ + e.preventDefault(); + buttons[1].click(); + return false; }); // Resize pane @@ -1700,7 +1709,7 @@ function vboxSettingsDialog(title,panes,data,pane,icon,langContext,presave) { } i-=offset; if(i >= panes.length) i = 0; - $('#vboxSettingsMenuList').children('li:eq('+i+')').first().click().each(function(){ + $('#vboxSettingsMenuList').children('li:eq('+i+')').first().trigger('click').each(function(){ if(tab !== undefined) { // Check for out of scope tab tab = Math.min(($('#vboxSettingsPane-'+$(this).data('name')).children('ul').first().children().length-1), parseInt(tab)); diff --git a/js/eventlistener.js b/js/eventlistener.js index f98b908d..30644f83 100644 --- a/js/eventlistener.js +++ b/js/eventlistener.js @@ -127,7 +127,7 @@ var vboxEventListener = { }, /** - * Subscribe to a single machine's events. This should happen + * Subscribe to a single machine's events. * * @param {String} vmid - ID of VM to subscribe to */ diff --git a/js/jquery-1.11.2.min.js b/js/jquery-1.11.2.min.js deleted file mode 100644 index e6a051d0..00000000 --- a/js/jquery-1.11.2.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; -return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m(" - diff --git a/panes/tabVMConsoleVNC.html b/panes/tabVMConsoleVNC.html deleted file mode 100644 index e792c172..00000000 --- a/panes/tabVMConsoleVNC.html +++ /dev/null @@ -1,189 +0,0 @@ - - - Requested desktop size: - - - -
    -
    - \ No newline at end of file diff --git a/panes/tabVMDetails.html b/panes/tabVMDetails.html index bc3de84e..a7784c82 100644 --- a/panes/tabVMDetails.html +++ b/panes/tabVMDetails.html @@ -28,7 +28,7 @@ diff --git a/panes/wizardExportApplianceAdvanced.html b/panes/wizardExportApplianceAdvanced.html index 4a19f3ed..ae72c71b 100644 --- a/panes/wizardExportApplianceAdvanced.html +++ b/panes/wizardExportApplianceAdvanced.html @@ -91,7 +91,7 @@ } else { /* Exportable appliance clicked */ - $(li).click(function(){ + $(li).on('click', function(){ $(this).toggleClass('vboxListItemSelected'); @@ -190,7 +190,7 @@ $('#vboxExportAppVMListContainer').removeClass('vboxRequired'); - if(jQuery.trim($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val()) && $(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).data('userChanged')) + if(String($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val()).trim() && $(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).data('userChanged')) return; $(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).data('userChanged', false); @@ -199,12 +199,12 @@ if(vmSel.length > 1) { name = 'Appliance'; } else { - name = jQuery.trim($(vmSel[0]).text()); + name = String($(vmSel[0]).text()).trim(); } // If there is already a folder chosen, don't change it - if(jQuery.trim($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val())) { - name = vboxDirname(jQuery.trim($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val())) + $('#vboxPane').data('vboxConfig').DSEP + name + '.ova'; + if(String($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val()).trim()) { + name = vboxDirname(String($(document.forms['frmwizardExportAppliance'].elements.wizardExportApplianceLocation).val()).trim()) + $('#vboxPane').data('vboxConfig').DSEP + name + '.ova'; } else { name = vboxDirname($('#vboxPane').data('vboxConfig').version.settingsFilePath) + $('#vboxPane').data('vboxConfig').DSEP + name + '.ova'; } @@ -235,7 +235,7 @@ var trparent = $('').attr({'id':'vboxAppliance-'+vmid}).addClass('vboxAppliance-'+vmid + ' vboxTableParent'); var td = $('').data({'vmDesc':d.descriptions[vm]}).attr({'class':'vboxApplianceHeaderRow'}); var td = $('').data({'descType':d.descriptions[vm][0][i],'descOrder':i}).addClass('vboxChildOf'+vm, ' vboxListItem').attr({'id':'vboxVM-'+vm+'-item-'+i}).click(function(){ + var tr = $('').data({'descType':d.descriptions[vm][0][i],'descOrder':i}).addClass('vboxChildOf'+vm, ' vboxListItem').attr({'id':'vboxVM-'+vm+'-item-'+i}).on('click', function(){ $('#vboxImportProps').find('input').trigger('blur'); if($(this).hasClass('vboxListItemSelected')) return; $(this).siblings('tr.vboxListItemSelected').removeClass('vboxListItemSelected'); @@ -316,7 +316,7 @@ var td = $('').data({'vmDesc':d.descriptions[vm]}).attr({'class':'vboxApplianceHeaderRow'}); var td = $('').data({'descType':d.descriptions[vm][0][i],'descOrder':i}).addClass('vboxChildOf'+vm, ' vboxListItem').attr({'id':'vboxVM-'+vm+'-item-'+i}).click(function(){ + var tr = $('').data({'descType':d.descriptions[vm][0][i],'descOrder':i}).addClass('vboxChildOf'+vm, ' vboxListItem').attr({'id':'vboxVM-'+vm+'-item-'+i}).on('click', function(){ $('#vboxImportProps').find('input').trigger('blur'); if($(this).hasClass('vboxListItemSelected')) return; $(this).siblings('tr.vboxListItemSelected').removeClass('vboxListItemSelected'); @@ -300,7 +300,7 @@ var td = $('
    ').attr({'colspan':'2','class':'vboxApplianceHeader'}).append( $('
    ').css({'font-weight':'bold','padding-left':'6px'}).append( - $('').attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); margin:0px;margin-right:4px;padding:0px;vspace:0px;hspace:0px;width: 12px; height: 12px;'}).click(function(){ + $('').attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); margin:0px;margin-right:4px;padding:0px;vspace:0px;hspace:0px;width: 12px; height: 12px;'}).on('click', function(){ if(!$(this).data('toggleClicked')) { @@ -267,7 +267,7 @@ $('
    ').css({'padding-left':'18px','white-space':'nowrap','width':'1%'}).html(' ' + trans(vboxApplianceProps[p].label,'UIApplianceEditorWidget')).appendTo(tr); - $('').attr({'class':'vboxHideOverflow vboxAppProp'+p}).css({'width':'100%','padding-left':'10px','padding-right':'2px'}).html('
    '+$('
    ').text(($(trparent).data('vm')[p]||'')).html()+'
    ').dblclick((vboxApplianceProps[p].textarea ? vboxExportAppliancePropEditArea : vboxExportAppliancePropEdit )).appendTo(tr); + $('
    ').attr({'class':'vboxHideOverflow vboxAppProp'+p}).css({'width':'100%','padding-left':'10px','padding-right':'2px'}).html('
    '+$('
    ').text(($(trparent).data('vm')[p]||'')).html()+'
    ').on('dblclick', (vboxApplianceProps[p].textarea ? vboxExportAppliancePropEditArea : vboxExportAppliancePropEdit )).appendTo(tr); $(tbl).append(tr); } @@ -301,20 +301,20 @@ buttons[trans('Cancel','QIMessageBox')] = function(){ $(this).empty().remove(); }; - $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'dialogClass':'vboxDialogContent','draggable':true,'buttons':buttons,'title':$(elm).parent().siblings().first().html()}); + $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'classes':{'ui-dialog':'vboxDialogContent'},'draggable':true,'buttons':buttons,'title':$(elm).parent().siblings().first().html()}); } /* Edit property that has a text box */ function vboxExportAppliancePropEdit(evt,elm) { - var input = $('').attr({'type':'text','class':'vboxText'}).css({'width':($(this).innerWidth()-12)+'px','margin':'0px'}).val($('
    ').html($(this).children().first().html()).text()).blur(function(){ + var input = $('').attr({'type':'text','class':'vboxText'}).css({'width':($(this).innerWidth()-12)+'px','margin':'0px'}).val($('
    ').html($(this).children().first().html()).text()).on('blur', function(){ var v = $(this).val(); var p = $(this).parent(); var d = vboxDivOverflowHidden(p); $(this).remove(); $(d).html($('
    ').text(v).html()); $(p).html('').append(d); - }).keydown(function(e){if(e.keyCode == 13) $(this).trigger('blur');}); - $(this).html('').append(input).children().first().focus(); + }).on('keydown', function(e){if(e.keyCode == 13) $(this).trigger('blur');}); + $(this).html('').append(input).children().first().trigger('focus'); } diff --git a/panes/wizardImportAppliance.html b/panes/wizardImportAppliance.html index b9f3563b..d7c44f56 100644 --- a/panes/wizardImportAppliance.html +++ b/panes/wizardImportAppliance.html @@ -90,7 +90,7 @@ $(elm).find('img.vboxApplianceOSIcon').attr('src','images/vbox/'+vboxGuestOSTypeIcon(a)); $(elm).closest('td').data('descValue',a); $('#vboxImportProps').trigger('selectProp'); - }).focus(); + }).trigger('focus'); $('#vboxImportProps').one('selectProp',function(){ $(elm).children('input:button').first().hide().siblings().show(); $(elm).children('input:button').first().remove(); @@ -234,7 +234,7 @@ wiz.displayStep(1); return; } - $(document.forms['frmwizardImportAppliance'].elements.wizardImportApplianceLocation).removeClass('vboxRequired').focus(); + $(document.forms['frmwizardImportAppliance'].elements.wizardImportApplianceLocation).removeClass('vboxRequired').trigger('focus'); wizardImportAppResize(); @@ -281,7 +281,7 @@ var tr = $('
    ').attr({'colspan':'2','class':'vboxApplianceHeader'}); - $('').data({'vboxOrder':vm}).attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); width: 12px; height: 12px; margin-right: 4px;'}).click(function(){ + $('').data({'vboxOrder':vm}).attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); width: 12px; height: 12px; margin-right: 4px;'}).on('click', function(){ if(!$(this).data('toggleClicked')) { $(this).data('toggleClicked', true); @@ -304,7 +304,7 @@ var desc = vboxApplianceImportProps[d.descriptions[vm][0][i]]; if(desc == undefined) continue; - var tr = $('
    ').attr({'class':'vboxHideOverflow'}).css({'padding-left':'10px'}); if(desc.checkbox) { - $('').attr({'type':'checkbox','class':'vboxCheckbox'}).prop('checked',true).css({'margin-right':'5px'}).click(function(){ + $('').attr({'type':'checkbox','class':'vboxCheckbox'}).prop('checked',true).css({'margin-right':'5px'}).on('click', function(){ $(this).closest('tr').data('propdisabled',!(this.checked)); if(this.checked) { $(this).siblings().removeClass('vboxDisabled'); @@ -332,7 +332,7 @@ $(sp).text(d.descriptions[vm][3][i]); } - $(td).data({'descValue':d.descriptions[vm][3][i]}).append(sp).dblclick(function(){ + $(td).data({'descValue':d.descriptions[vm][3][i]}).append(sp).on('dblclick', function(){ // Edit property function var desc = vboxApplianceImportProps[$(this).parent().data('descType')]; @@ -414,7 +414,7 @@ */ function vboxImportAppliancePropEditOptions(elm,desc) { - var s = $('').attr({'id':'vboxImportAppSelect'}).css({'width':'100%'}).on('change', function(){ $(this).parent().data('descValue',$(this).val()); var txt = this.options[this.selectedIndex].text; @@ -454,12 +454,12 @@ $(elm).children().hide(); - $('').attr({'type':'button','class':'vboxbutton'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val(trans('Edit text','VBoxTextEditor')).click(function(){ + $('').attr({'type':'button','class':'vboxbutton'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val(trans('Edit text','VBoxTextEditor')).on('click', function(){ vboxImportAppliancePropEditDialog(elm); $('#vboxImportProps').trigger('selectProp'); }).appendTo(elm); - $(elm).children('input:button').first().focus(); + $(elm).children('input:button').first().trigger('focus'); $('#vboxImportProps').one('selectProp',function(){ $(elm).children('input:button').first().hide().siblings().show(); $(elm).children('input:button').first().remove(); @@ -487,7 +487,7 @@ $(this).empty().remove(); }; buttons[trans('Cancel','QIMessageBox')] = function(){$(this).empty().remove();}; - $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'dialogClass':'vboxDialogContent','draggable':true,'buttons':buttons,'title':$(td).prev().html()}); + $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'classes':{'ui-dialog':'vboxDialogContent'},'draggable':true,'buttons':buttons,'title':$(td).prev().html()}); } @@ -498,7 +498,7 @@ */ function vboxImportAppliancePropEdit(elm,desc) { $(elm).children().hide(); - $('').attr({'type':'text','class':'vboxText'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val($(elm).data('descValue')).blur(function(){ + $('').attr({'type':'text','class':'vboxText'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val($(elm).data('descValue')).on('blur', function(){ var tbox = this; @@ -545,8 +545,8 @@ $(tbox).hide(); $(tbox).siblings().show(); $(tbox).remove(); - }).keydown(function(e){if(e.keyCode == 13) $(this).trigger('blur');}).appendTo(elm); - $(elm).children('input:text').first().focus(); + }).on('keydown', function(e){if(e.keyCode == 13) $(this).trigger('blur');}).appendTo(elm); + $(elm).children('input:text').first().trigger('focus'); } diff --git a/panes/wizardImportApplianceAdvanced.html b/panes/wizardImportApplianceAdvanced.html index 74df7975..82cc0e48 100644 --- a/panes/wizardImportApplianceAdvanced.html +++ b/panes/wizardImportApplianceAdvanced.html @@ -83,7 +83,7 @@ $(elm).find('img.vboxApplianceOSIcon').attr('src','images/vbox/'+vboxGuestOSTypeIcon(a)); $(elm).closest('td').data('descValue',a); $('#vboxImportProps').trigger('selectProp'); - }).focus(); + }).trigger('focus'); $('#vboxImportProps').one('selectProp',function(){ $(elm).children('input:button').first().hide().siblings().show(); $(elm).children('input:button').first().remove(); @@ -266,7 +266,7 @@ var tr = $('
    ').attr({'colspan':'2','class':'vboxApplianceHeader'}); - $('').data({'vboxOrder':vm}).attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); width: 12px; height: 12px; margin-right: 4px;'}).click(function(){ + $('').data({'vboxOrder':vm}).attr({'type':'button','class':'vboxImgButton','style':'background-image: url(images/downArrow.png); width: 12px; height: 12px; margin-right: 4px;'}).on('click', function(){ if(!$(this).data('toggleClicked')) { $(this).data('toggleClicked', true); $(this).css({'background-image':'url(images/rightArrow.png)'}); @@ -288,7 +288,7 @@ var desc = vboxApplianceImportProps[d.descriptions[vm][0][i]]; if(desc == undefined) continue; - var tr = $('
    ').attr({'class':'vboxHideOverflow'}).css({'padding-left':'10px'}); if(desc.checkbox) { - $('').attr({'type':'checkbox','class':'vboxCheckbox'}).prop('checked',true).css({'margin-right':'5px'}).click(function(){ + $('').attr({'type':'checkbox','class':'vboxCheckbox'}).prop('checked',true).css({'margin-right':'5px'}).on('click', function(){ $(this).closest('tr').data('propdisabled',!(this.checked)); if(this.checked) { $(this).siblings().removeClass('vboxDisabled'); @@ -316,7 +316,7 @@ $(sp).text(d.descriptions[vm][3][i]); } - $(td).data({'descValue':d.descriptions[vm][3][i]}).append(sp).dblclick(function(){ + $(td).data({'descValue':d.descriptions[vm][3][i]}).append(sp).on('dblclick', function(){ // Edit property function var desc = vboxApplianceImportProps[$(this).parent().data('descType')]; @@ -398,7 +398,7 @@ */ function vboxImportAppliancePropEditOptions(elm,desc) { - var s = $('').attr({'id':'vboxImportAppSelect'}).css({'width':'100%'}).on('change', function(){ $(this).parent().data('descValue',$(this).val()); var txt = this.options[this.selectedIndex].text; @@ -438,12 +438,12 @@ $(elm).children().hide(); - $('').attr({'type':'button','class':'vboxbutton'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val(trans('Edit text','VBoxTextEditor')).click(function(){ + $('').attr({'type':'button','class':'vboxbutton'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val(trans('Edit text','VBoxTextEditor')).on('click', function(){ vboxImportAppliancePropEditDialog(elm); $('#vboxImportProps').trigger('selectProp'); }).appendTo(elm); - $(elm).children('input:button').first().focus(); + $(elm).children('input:button').first().trigger('focus'); $('#vboxImportProps').one('selectProp',function(){ $(elm).children('input:button').first().hide().siblings().show(); $(elm).children('input:button').first().remove(); @@ -471,7 +471,7 @@ $(this).empty().remove(); }; buttons[trans('Cancel','QIMessageBox')] = function(){$(this).empty().remove();}; - $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'dialogClass':'vboxDialogContent','draggable':true,'buttons':buttons,'title':$(td).prev().html()}); + $(d).dialog({'height':300,'width':300,'closeOnEscape':false,'modal':true,'resizable':true,'classes':{'ui-dialog':'vboxDialogContent'},'draggable':true,'buttons':buttons,'title':$(td).prev().html()}); } @@ -482,7 +482,7 @@ */ function vboxImportAppliancePropEdit(elm,desc) { $(elm).children().hide(); - $('').attr({'type':'text','class':'vboxText'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val($(elm).data('descValue')).blur(function(){ + $('').attr({'type':'text','class':'vboxText'}).css({'width':($(elm).innerWidth()-12)+'px','margin':'0px'}).val($(elm).data('descValue')).on('blur', function(){ var tbox = this; @@ -529,8 +529,8 @@ $(tbox).hide(); $(tbox).siblings().show(); $(tbox).remove(); - }).keydown(function(e){if(e.keyCode == 13) $(this).trigger('blur');}).appendTo(elm); - $(elm).children('input:text').first().focus(); + }).on('keydown', function(e){if(e.keyCode == 13) $(this).trigger('blur');}).appendTo(elm); + $(elm).children('input:text').first().trigger('focus'); } diff --git a/panes/wizardNewHDAdvanced.html b/panes/wizardNewHDAdvanced.html index 408fe80c..c128eec6 100644 --- a/panes/wizardNewHDAdvanced.html +++ b/panes/wizardNewHDAdvanced.html @@ -216,7 +216,7 @@ // Already initialized? if($('#wizardNewHDStep1').data('init') || !wiz || !wiz.suggested) return; - $(document.forms['frmwizardNewHD'].elements.wizardNewHDLocation).focus(); + $(document.forms['frmwizardNewHD'].elements.wizardNewHDLocation).trigger('focus'); /* Keep suggested options */ $('#wizardNewHDStep1').data('wizSuggested', wiz.suggested); diff --git a/panes/wizardNewVM.html b/panes/wizardNewVM.html index 0e711d0b..13dc709e 100644 --- a/panes/wizardNewVM.html +++ b/panes/wizardNewVM.html @@ -111,7 +111,7 @@ /* Add Attachment Button */ 'name' : 'mselecthdbtn', 'label' : 'Choose a virtual hard disk file...', - 'language_context': 'UIMachineSettingsStorage', + 'language_context': 'UIWizardNewVM', 'icon' : 'select_file', 'click' : function () { vboxMedia.actions.choose(null,'HardDisk',function(med){ @@ -273,13 +273,13 @@ */ $('#wizardNewVMStep1').on('show',function(e,wiz){ - $(document.forms['frmwizardNewVM'].newVMName).focus(); + $(document.forms['frmwizardNewVM'].newVMName).trigger('focus'); }); /* When going to step2, make sure a name is entered */ $('#wizardNewVMStep2').on('show',function(e,wiz){ - document.forms['frmwizardNewVM'].newVMName.value = jQuery.trim(document.forms['frmwizardNewVM'].newVMName.value); + document.forms['frmwizardNewVM'].newVMName.value = String(document.forms['frmwizardNewVM'].newVMName.value).trim(); if(!document.forms['frmwizardNewVM'].newVMName.value) { $(document.forms['frmwizardNewVM'].newVMName).addClass('vboxRequired'); diff --git a/panes/wizardNewVMAdvanced.html b/panes/wizardNewVMAdvanced.html index 3b92917f..e9f6a02e 100644 --- a/panes/wizardNewVMAdvanced.html +++ b/panes/wizardNewVMAdvanced.html @@ -97,7 +97,7 @@ /* Add Attachment Button */ 'name' : 'mselecthdbtn', 'label' : 'Choose a virtual hard disk file...', - 'language_context': 'UIMachineSettingsStorage', + 'language_context': 'UIWizardNewVM', 'icon' : 'select_file', 'click' : function () { vboxMedia.actions.choose(null,'HardDisk',function(med){ @@ -270,7 +270,7 @@ }).trigger('disable'); $('#wizardNewVMStep1').on('show',function() { - $(document.forms['frmwizardNewVM'].newVMName).focus(); + $(document.forms['frmwizardNewVM'].newVMName).trigger('focus'); }); diff --git a/rdpweb/RDPClientUI.swf b/rdpweb/RDPClientUI.swf deleted file mode 100644 index aa232dac..00000000 Binary files a/rdpweb/RDPClientUI.swf and /dev/null differ diff --git a/rdpweb/license_3rd.txt b/rdpweb/license_3rd.txt deleted file mode 100644 index 5b91722d..00000000 --- a/rdpweb/license_3rd.txt +++ /dev/null @@ -1,83 +0,0 @@ -3rd party components used by the RDP Web Control: - - -1) RDP Web Control contains SWFObject library -which is released under the MIT License - - -2) RDP Web Control contains code from as3crypto library which is -covered under the following copyright: - -/* - * Copyright (c) 2007 Henri Torgemane - * All Rights Reserved. - * - * BigInteger, RSA, Random and ARC4 are derivative works of the jsbn library - * (http://www-cs-students.stanford.edu/~tjw/jsbn/) - * The jsbn library is Copyright (c) 2003-2005 Tom Wu (tjw@cs.Stanford.EDU) - * - * MD5, SHA1, and SHA256 are derivative works (http://pajhome.org.uk/crypt/md5/) - * Those are Copyright (c) 1998-2002 Paul Johnston & Contributors (paj@pajhome.org.uk) - * - * SHA256 is a derivative work of jsSHA2 (http://anmar.eu.org/projects/jssha2/) - * jsSHA2 is Copyright (c) 2003-2004 Angel Marin (anmar@gmx.net) - * - * AESKey is a derivative work of aestable.c (http://www.geocities.com/malbrain/aestable_c.html) - * aestable.c is Copyright (c) Karl Malbrain (malbrain@yahoo.com) - * - * BlowFishKey, DESKey and TripeDESKey are derivative works of the Bouncy Castle Crypto Package (http://www.bouncycastle.org) - * Those are Copyright (c) 2000-2004 The Legion Of The Bouncy Castle - * - * Base64 is copyright (c) 2006 Steve Webster (http://dynamicflash.com/goodies/base64) - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list - * of conditions and the following disclaimer. Redistributions in binary form must - * reproduce the above copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with the distribution. - * - * Neither the name of the author nor the names of its contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -Address all questions regarding this license to: - - Henri Torgemane - henri_torgemane@yahoo.com - - -Additionally, the MD5 algorithm is covered by the following notice: - -/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. - * - * License to copy and use this software is granted provided that it - * is identified as the "RSA Data Security, Inc. MD5 Message-Digest - * Algorithm" in all material mentioning or referencing this software - * or this function. - * - * License is also granted to make and use derivative works provided - * that such works are identified as "derived from the RSA Data - * Security, Inc. MD5 Message-Digest Algorithm" in all material - * mentioning or referencing the derived work. - * - * RSA Data Security, Inc. makes no representations concerning either - * the merchantability of this software or the suitability of this - * software for any particular purpose. It is provided "as is" - * without express or implied warranty of any kind. - * - * These notices must be retained in any copies of any part of this - * documentation and/or software. - */ diff --git a/rdpweb/swfobject.js b/rdpweb/swfobject.js deleted file mode 100644 index 1e1a615e..00000000 --- a/rdpweb/swfobject.js +++ /dev/null @@ -1,777 +0,0 @@ -/*! SWFObject v2.2 beta1 - is released under the MIT License -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - ON_READY_STATE_CHANGE = "onreadystatechange", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - domLoadFnArr = [main], - regObjArr = [], - objIdArr = [], - listenersArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - isDomLoaded = false, - isExpressInstallActive = false, - dynamicStylesheet, - dynamicStylesheetMedia, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }(), - - /* Cross-browser onDomLoad - - Will fire an event as soon as the DOM of a web page is loaded - - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/ - - Regular onload serves as fallback - */ - onDomLoad = function() { - if (!ua.w3) { return; } - if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically - callDomLoadFunctions(); - } - if (!isDomLoaded) { - if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false); - } - if (ua.ie && ua.win) { - doc.attachEvent(ON_READY_STATE_CHANGE, function() { - if (doc.readyState == "complete") { - doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee); - callDomLoadFunctions(); - } - }); - if (win == top) { // if not inside an iframe - (function(){ - if (isDomLoaded) { return; } - try { - doc.documentElement.doScroll("left"); - } - catch(e) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - } - if (ua.wk) { - (function(){ - if (isDomLoaded) { return; } - if (!/loaded|complete/.test(doc.readyState)) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - addLoadEvent(callDomLoadFunctions); - } - }(); - - function callDomLoadFunctions() { - if (isDomLoaded) { return; } - try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early - var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span")); - t.parentNode.removeChild(t); - } - catch (e) { return; } - isDomLoaded = true; - var dl = domLoadFnArr.length; - for (var i = 0; i < dl; i++) { - domLoadFnArr[i](); - } - } - - function addDomLoadEvent(fn) { - if (isDomLoaded) { - fn(); - } - else { - domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ - } - } - - /* Cross-browser onload - - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ - - Will fire an event as soon as a web page including all of its assets are loaded - */ - function addLoadEvent(fn) { - if (typeof win.addEventListener != UNDEF) { - win.addEventListener("load", fn, false); - } - else if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("load", fn, false); - } - else if (typeof win.attachEvent != UNDEF) { - addListener(win, "onload", fn); - } - else if (typeof win.onload == "function") { - var fnOld = win.onload; - win.onload = function() { - fnOld(); - fn(); - }; - } - else { - win.onload = fn; - } - } - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { - testPlayerVersion(); - } - else { - matchVersions(); - } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - /* Perform Flash Player and SWF version matching; static publishing only - */ - function matchVersions() { - var rl = regObjArr.length; - if (rl > 0) { - for (var i = 0; i < rl; i++) { // for each registered object element - var id = regObjArr[i].id; - var cb = regObjArr[i].callbackFn; - var cbObj = {success:false, id:id}; - if (ua.pv[0] > 0) { - var obj = getElementById(id); - if (obj) { - if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match! - setVisibility(id, true); - if (cb) { - cbObj.success = true; - cbObj.ref = getObjectById(id); - cb(cbObj); - } - } - else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported - var att = {}; - att.data = regObjArr[i].expressInstall; - att.width = obj.getAttribute("width") || "0"; - att.height = obj.getAttribute("height") || "0"; - if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); } - if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); } - // parse HTML object param element's name-value pairs - var par = {}; - var p = obj.getElementsByTagName("param"); - var pl = p.length; - for (var j = 0; j < pl; j++) { - if (p[j].getAttribute("name").toLowerCase() != "movie") { - par[p[j].getAttribute("name")] = p[j].getAttribute("value"); - } - } - showExpressInstall(att, par, id, cb); - } - else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF - displayAltContent(obj); - if (cb) { cb(cbObj); } - } - } - } - else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content) - setVisibility(id, true); - if (cb) { - var o = getObjectById(id); // test whether there is an HTML object element or not - if (o && typeof o.SetVariable != UNDEF) { - cbObj.success = true; - cbObj.ref = o; - } - cb(cbObj); - } - } - } - } - } - - function getObjectById(objectIdStr) { - var r = null; - var o = getElementById(objectIdStr); - if (o && o.nodeName == "OBJECT") { - if (typeof o.SetVariable != UNDEF) { - r = o; - } - else { - var n = o.getElementsByTagName(OBJECT)[0]; - if (n) { - r = n; - } - } - } - return r; - } - - /* Requirements for Adobe Express Install - - only one instance can be active at a time - - fp 6.0.65 or higher - - Win/Mac OS only - - no Webkit engines older than version 312 - */ - function canExpressInstall() { - return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312); - } - - /* Show the Adobe Express Install dialog - - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 - */ - function showExpressInstall(att, par, replaceElemIdStr, callbackFn) { - isExpressInstallActive = true; - storedCallbackFn = callbackFn || null; - storedCallbackObj = {success:false, id:replaceElemIdStr}; - var obj = getElementById(replaceElemIdStr); - if (obj) { - if (obj.nodeName == "OBJECT") { // static publishing - storedAltContent = abstractAltContent(obj); - storedAltContentId = null; - } - else { // dynamic publishing - storedAltContent = obj; - storedAltContentId = replaceElemIdStr; - } - att.id = EXPRESS_INSTALL_ID; - if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; } - if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; } - doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; - var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", - fv = "MMredirectURL=" + win.location.toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title; - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + fv; - } - else { - par.flashvars = fv; - } - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - if (ua.ie && ua.win && obj.readyState != 4) { - var newObj = createElement("div"); - replaceElemIdStr += "SWFObjectNew"; - newObj.setAttribute("id", replaceElemIdStr); - obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - createSWF(att, par, replaceElemIdStr); - } - } - - /* Functions to abstract and display alternative content - */ - function displayAltContent(obj) { - if (ua.ie && ua.win && obj.readyState != 4) { - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - var el = createElement("div"); - obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content - el.parentNode.replaceChild(abstractAltContent(obj), el); - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.replaceChild(abstractAltContent(obj), obj); - } - } - - function abstractAltContent(obj) { - var ac = createElement("div"); - if (ua.win && ua.ie) { - ac.innerHTML = obj.innerHTML; - } - else { - var nestedObj = obj.getElementsByTagName(OBJECT)[0]; - if (nestedObj) { - var c = nestedObj.childNodes; - if (c) { - var cl = c.length; - for (var i = 0; i < cl; i++) { - if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) { - ac.appendChild(c[i].cloneNode(true)); - } - } - } - } - } - return ac; - } - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += ''; - } - } - el.outerHTML = '' + par + ''; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - function removeSWF(id) { - var obj = getElementById(id); - if (obj && obj.nodeName == "OBJECT") { - if (ua.ie && ua.win) { - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - removeObjectInIE(id); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.removeChild(obj); - } - } - } - - function removeObjectInIE(id) { - var obj = getElementById(id); - if (obj) { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - obj.parentNode.removeChild(obj); - } - } - - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Updated attachEvent function for Internet Explorer - - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks - */ - function addListener(target, eventType, fn) { - target.attachEvent(eventType, fn); - listenersArr[listenersArr.length] = [target, eventType, fn]; - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - /* Cross-browser dynamic CSS creation - - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php - */ - function createCSS(sel, decl, media, newStyle) { - if (ua.ie && ua.mac) { return; } - var h = doc.getElementsByTagName("head")[0]; - if (!h) { return; } // to also support badly authored HTML pages that lack a head element - var m = (media && typeof media == "string") ? media : "screen"; - if (newStyle) { - dynamicStylesheet = null; - dynamicStylesheetMedia = null; - } - if (!dynamicStylesheet || dynamicStylesheetMedia != m) { - // create dynamic stylesheet + get a global reference to it - var s = createElement("style"); - s.setAttribute("type", "text/css"); - s.setAttribute("media", m); - dynamicStylesheet = h.appendChild(s); - if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) { - dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1]; - } - dynamicStylesheetMedia = m; - } - // add style rule - if (ua.ie && ua.win) { - if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) { - dynamicStylesheet.addRule(sel, decl); - } - } - else { - if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) { - dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}")); - } - } - } - - function setVisibility(id, isVisible) { - if (!autoHideShow) { return; } - var v = isVisible ? "visible" : "hidden"; - if (isDomLoaded && getElementById(id)) { - getElementById(id).style.visibility = v; - } - else { - createCSS("#" + id, "visibility:" + v); - } - } - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only) - */ - var cleanup = function() { - if (ua.ie && ua.win) { - window.attachEvent("onunload", function() { - // remove listeners to avoid memory leaks - var ll = listenersArr.length; - for (var i = 0; i < ll; i++) { - listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]); - } - // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect - var il = objIdArr.length; - for (var j = 0; j < il; j++) { - removeSWF(objIdArr[j]); - } - // cleanup library's main closures to avoid memory leaks - for (var k in ua) { - ua[k] = null; - } - ua = null; - for (var l in swfobject) { - swfobject[l] = null; - } - swfobject = null; - }); - } - }(); - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) { - if (ua.w3 && objectIdStr && swfVersionStr) { - var regObj = {}; - regObj.id = objectIdStr; - regObj.swfVersion = swfVersionStr; - regObj.expressInstall = xiSwfUrlStr; - regObj.callbackFn = callbackFn; - regObjArr[regObjArr.length] = regObj; - setVisibility(objectIdStr, false); - } - else if (callbackFn) { - callbackFn({success:false, id:objectIdStr}); - } - }, - - getObjectById: function(objectIdStr) { - if (ua.w3) { - return getObjectById(objectIdStr); - } - }, - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - setVisibility(replaceElemIdStr, false); - addDomLoadEvent(function() { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - if (att.id == replaceElemIdStr) { - setVisibility(replaceElemIdStr, true); - } - callbackObj.success = true; - callbackObj.ref = obj; - } - else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install - att.data = xiSwfUrlStr; - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - return; - } - else { // show alternative content - setVisibility(replaceElemIdStr, true); - } - if (callbackFn) { callbackFn(callbackObj); } - }); - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - switchOffAutoHideShow: function() { - autoHideShow = false; - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) { - if (ua.w3 && canExpressInstall()) { - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - } - }, - - removeSWF: function(objElemIdStr) { - if (ua.w3) { - removeSWF(objElemIdStr); - } - }, - - createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) { - if (ua.w3) { - createCSS(selStr, declStr, mediaStr, newStyleBoolean); - } - }, - - addDomLoadEvent: addDomLoadEvent, - - addLoadEvent: addLoadEvent, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - }, - - // For internal usage only - expressInstallCallback: function() { - if (isExpressInstallActive) { - var obj = getElementById(EXPRESS_INSTALL_ID); - if (obj && storedAltContent) { - obj.parentNode.replaceChild(storedAltContent, obj); - if (storedAltContentId) { - setVisibility(storedAltContentId, true); - if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } - } - if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); } - } - isExpressInstallActive = false; - } - } - }; -}(); diff --git a/rdpweb/webclient.js b/rdpweb/webclient.js deleted file mode 100644 index ece8503f..00000000 --- a/rdpweb/webclient.js +++ /dev/null @@ -1,206 +0,0 @@ -/* JS helpers for the Flash RDP Web Control. - * - * Methods started with '_' are for internal use and must not be called. - * Methods started with '_control' are called from the SWF. - */ -var RDPWebClient = { - RDPWebUUID: "747f07ac-c30b-4439-826d-7b5c67fd47e7", - embedSWF: function (FlashFileName, FlashId) - { - /* Create the Flash object. */ - var flashvars = {}; - flashvars.flashId = FlashId; - - var params = {}; - params.wmode="opaque"; - params.menu="false"; - params.bgcolor="#ffffff"; - params.quality="low"; - params.allowScriptAccess="always"; - - var attributes = {}; - - /* Make sure that the SWF will be reloaded from the server, not from browser cache. */ - var stamp = new Date(); - var seed = "?s=" + stamp.getTime(); - - swfobject.embedSWF(FlashFileName + seed, FlashId, "100%", "100%", "9.0.0", - "", flashvars, params, attributes); - }, - isRDPWebControlById: function(Id) - { - var flash = RDPWebClient.getFlashById(Id); - return RDPWebClient.isRDPWebControlByElement(flash); - }, - isRDPWebControlByElement: function(element) - { - if (element && element.getProperty) - { - var uuid = element.getProperty("UUID"); - if (uuid == RDPWebClient.RDPWebUUID) - { - return true; - } - } - return false; - }, - _controlInit: function (FlashId) - { - var flash = RDPWebClient.getFlashById(FlashId); - - if (flash) - { - if (window.addEventListener) - { - /* Mozilla */ - window.addEventListener("contextmenu", function(event) { return RDPWebClient._MozillaContextMenu(event); }, true); - window.addEventListener("mousedown", function(event) { return RDPWebClient._MozillaMouse(event, true); }, true); - window.addEventListener("mouseup", function(event) { return RDPWebClient._MozillaMouse(event, false); }, true); - flash.addEventListener("mouseout", function(event) { return RDPWebClient._MozillaMouseOut(event); }, true); - } - else - { - document.oncontextmenu = function() { return RDPWebClient._IEContextMenu(); } - flash.parentNode.onmousedown = function() { return RDPWebClient._IEMouse(true); } - flash.parentNode.onmouseup = function() { return RDPWebClient._IEMouse(false); } - flash.onmouseout=function() {return RDPWebClient._IEMouseOut(); } - } - } - }, - _controlResize: function(flashId, width, height, reason) - { - var e = document.getElementById(flashId + 'Container'); - if (e) - { - e.style.width=width + "px"; - e.style.height=height + "px"; - } - }, - _IEMouseOut: function() - { - if (window.event && RDPWebClient.isRDPWebControlById(window.event.srcElement.id)) - { - RDPWebClient._callMouseOut(window.event.srcElement.id); - } - return true; - }, - _IECancelEvent: function() - { - window.event.returnValue = false; - window.event.cancelBubble = true; - return false; - }, - _IEContextMenu: function() - { - if (window.event && RDPWebClient.isRDPWebControlById(window.event.srcElement.id)) - { - return RDPWebClient._IECancelEvent(); - } - }, - _IEMouse: function(fMouseDown) - { - if (window.event && RDPWebClient.isRDPWebControlById(window.event.srcElement.id)) - { - if (window.event.button == 2) - { - if (fMouseDown == true) - { - RDPWebClient.getFlashById(window.event.srcElement.id).parentNode.setCapture(); - RDPWebClient._callRightMouseDown(window.event.srcElement.id); - } - else - { - RDPWebClient._callRightMouseUp(window.event.srcElement.id); - RDPWebClient.getFlashById(window.event.srcElement.id).parentNode.releaseCapture(); - } - return RDPWebClient._IECancelEvent(); - } - } - }, - _MozillaMouseOut: function(event) - { - if (RDPWebClient.isRDPWebControlById(event.target.id)) - { - RDPWebClient._callMouseOut(event.target.id); - } - return true; - }, - _MozillaCancelEvent: function(event) - { - if (event) - { - if (event.preventBubble) event.preventBubble(); - if (event.preventCapture) event.preventCapture(); - if (event.preventDefault) event.preventDefault(); - if (event.stopPropagation) event.stopPropagation(); - } - }, - _MozillaContextMenu: function(event) - { - if (RDPWebClient.isRDPWebControlById(event.target.id)) - { - RDPWebClient._MozillaCancelEvent(event); - } - }, - _MozillaMouse: function(event, fMouseDown) - { - if (RDPWebClient.isRDPWebControlById(event.target.id)) - { - if (event.button == 2) - { - if (fMouseDown) - { - RDPWebClient._callRightMouseDown(event.target.id); - } - else - { - RDPWebClient._callRightMouseUp(event.target.id); - } - RDPWebClient._MozillaCancelEvent(event); - } - } - }, - _callRightMouseDown: function(FlashId) - { - var flash = RDPWebClient.getFlashById(FlashId); - if (flash && flash.rightMouseDown) - { - try - { - flash.rightMouseDown(); - } - catch (e) {}; /* Hack for IE, which calls the Flash method but then throws the exception. */ - } - }, - _callRightMouseUp: function(FlashId) - { - var flash = RDPWebClient.getFlashById(FlashId); - if (flash && flash.rightMouseUp) - { - try - { - flash.rightMouseUp(); - } - catch (e) {}; /* Hack for IE, which calls the Flash method but then throws the exception. */ - } - }, - _callMouseOut: function(FlashId) - { - var flash = RDPWebClient.getFlashById(FlashId); - if (flash && flash.mouseOut) - { - try - { - flash.mouseOut(); - } - catch (e) {}; /* Hack for IE, which calls the Flash method but then throws the exception. */ - } - }, - getFlashById: function(flashId) - { - if (document.embeds && document.embeds[flashId]) - return document.embeds[flashId]; - - return document.getElementById(flashId); - } -} diff --git a/rdpweb/webclient3.html b/rdpweb/webclient3.html deleted file mode 100644 index 1ca7af13..00000000 --- a/rdpweb/webclient3.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - Flash RDP Client - - - - - - -

    RDP Web Client

    - -
    -

    - Computer: - User name: - Password: -

    -

    - Desktop size: - Keyboard layout: - -

    -

    - - - -

    -
    - -
    -
    -
    -
    - -
    - -
    (C) 2009-2010 Oracle Corporation - - - - - diff --git a/recovery.php-disabled b/recovery.php-disabled index bb4bd710..6f346f6e 100644 --- a/recovery.php-disabled +++ b/recovery.php-disabled @@ -9,7 +9,7 @@ */ # Turn off PHP errors -error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); +@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING); //Set no caching diff --git a/tightvnc/VncViewer.jar b/tightvnc/VncViewer.jar deleted file mode 100644 index bfdcba0a..00000000 Binary files a/tightvnc/VncViewer.jar and /dev/null differ diff --git a/vboxinit b/vboxinit index 6ed50625..1d3387eb 100644 --- a/vboxinit +++ b/vboxinit @@ -1,5 +1,7 @@ #!/bin/bash # +# This may be OBE as VirtualBox distributes its own startup script +# # vboxinit: auto start sessions when booting and save # sessions when host is stopped #