string bool int float VBox_ManagedObject new Collection ($this->connection, (array)) new ($this->connection, ) (array) () public function () { $request = new stdClass(); $request->_this = $this->handle; $response = $this->connection->__soapCall('_', array((array)$request)); return ; } public function ($value) { $request = new stdClass(); $request->_this = $this->handle; if (is_int($value) || is_string($value) || is_bool($value)) { $request-> = $value; } else { $request-> = $value->handle; } $this->connection->__soapCall('_', array((array)$request)); } /** * Generated VBoxWebService Interface Wrapper */ readonly attribute :: read/write attribute :: } /** * Generated VBoxWebService Managed Object Collection */ class Collection extends VBox_ManagedObjectCollection { protected $_interfaceName = ""; } /** * Generated VBoxWebService Struct */ class extends VBox_Struct { protected $; public function __construct($connection, $values) { $this->connection = $connection; $this-> = $values->; } public function () { return ; } } /** * Generated VBoxWebService Struct Collection */ class Collection extends VBox_StructCollection { protected $_interfaceName = ""; } $request = new stdClass(); $request->_this = $this->handle; $request-> = $arg_; $response = $this->connection->__soapCall('_', array((array)$request)); return array( , , ) ; public function ( , ) { } /** * Generated VBoxWebService ENUM */ class extends VBox_Enum { public $NameMap = array( => '', ); public $ValueMap = array('' => , ); } /** * Generated VBoxWebService Enum Collection */ class Collection extends VBox_EnumCollection { protected $_interfaceName = ""; } <?php /* * Copyright (C) 2008-2010 Oracle Corporation * * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software * Foundation and shipped in the "COPYING.LIB" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if * any license choice other than GPL or LGPL is available it will * apply instead, Oracle elects to use only the Lesser General Public * License version 2.1 (LGPLv2) at this time for any software where * a choice of LGPL license versions is made available with the * language indicating that LGPLv2 or any later version may be used, * or where a choice of which version of the LGPL is applied is * otherwise unspecified. * * This file is autogenerated from VirtualBox.xidl, DO NOT EDIT! */ class VBox_ManagedObject { protected $connection; protected $handle; public function __construct($soap, $handle = null) { $this->connection = $soap; $this->handle = $handle; } public function __toString() { return (string)$this->handle; } public function __set($attr, $value) { $methodName = "set" . $attr; if (method_exists($this, $methodName)) $this->$methodName($value); else throw new Exception("Attribute does not exist"); } public function __get($attr) { $methodName = "get" . $attr; if (method_exists($this, $methodName)) return $this->$methodName(); else throw new Exception("Attribute does not exist"); } public function getHandle() { return $this->handle; } public function cast($class) { if (is_subclass_of($class, 'VBox_ManagedObject')) { return new $class($this->connection, $this->handle); } throw new Exception('Cannot cast VBox_ManagedObject to non-child class VBox_ManagedObject'); } public function releaseRemote() { try { $request = new stdClass(); $request->_this = $this->handle; $this->connection->__soapCall('IManagedObjectRef_release', array((array)$request)); } catch (Exception $ex) {} } } abstract class VBox_Collection implements ArrayAccess, Iterator, Countable { protected $_connection; protected $_values; protected $_objects; protected $_interfaceName; public function __construct($soap, array $values = array()) { $this->_connection = $soap; $this->_values = $values; $this->_soapToObject(); } protected function _soapToObject() { $this->_objects = array(); foreach($this->_values as $value) { $this->_objects[] = new $this->_interfaceName($this->_connection, $value); } } /** ArrayAccess Functions **/ public function offsetSet($offset, $value) { if ($value instanceof $this->_interfaceName) { if ($offset) { $this->_objects[$offset] = $value; } else { $this->_objects[] = $value; } } else { throw new Exception("Value must be a instance of " . $this->_interfaceName); } } public function offsetExists($offset) { return isset($this->_objects[$offset]); } public function offsetUnset($offset) { unset($this->_objects[$offset]); } public function offsetGet($offset) { return isset($this->_objects[$offset]) ? $this->_objects[$offset] : null; } /** Iterator Functions **/ public function rewind() { reset($this->_objects); } public function current() { return current($this->_objects); } public function key() { return key($this->_objects); } public function next() { return next($this->_objects); } public function valid() { return ($this->current() !== false); } /** Countable Functions **/ public function count() { return count($this->_objects); } } class VBox_ManagedObjectCollection extends VBox_Collection { protected $_interfaceName = 'VBox_ManagedObject'; // Result is undefined if this is called AFTER any call to VBox_Collection::offsetSet or VBox_Collection::offsetUnset public function setInterfaceName($interface) { if (!is_subclass_of($interface, 'VBox_ManagedObject')) { throw new Exception('Cannot set collection interface to non-child class of VBox_ManagedObject'); } $this->_interfaceName = $interface; $this->_soapToObject(); } } abstract class VBox_Struct { protected $connection; public function __get($attr) { $methodName = "get" . $attr; if (method_exists($this, $methodName)) return $this->$methodName(); else throw new Exception("Attribute does not exist"); } } abstract class VBox_StructCollection extends VBox_Collection { public function __construct($soap, array $values = array()) { if (!(array_values($values) === $values)) { $values = array((object)$values); //Fix for when struct return value only contains one list item (e.g. one medium attachment) } parent::__construct($soap, $values); } } abstract class VBox_Enum { protected $_handle; public function __construct($connection, $handle) { if (is_string($handle)) $this->_handle = $this->ValueMap[$handle]; else $this->_handle = $handle; } public function __toString() { return (string)$this->NameMap[$this->_handle]; } } abstract class VBox_EnumCollection extends VBox_Collection { }