/** * 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; }
* included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ require_once './vboxServiceWrappers.php'; //Connect to webservice $connection = new SoapClient("vboxwebService.wsdl", array('location' => "http://localhost:18083/")); //Logon to webservice $websessionManager = new IWebsessionManager($connection); // Dummy username and password (change to appropriate values or set authentication method to null) $virtualbox = $websessionManager->logon("username", "password"); //Get a list of registered machines $machines = $virtualbox->machines; //Take a screenshot of the first vm we find that is running foreach ($machines as $machine) { if ('Running' == $machine->state) { $session = $websessionManager->getSessionObject($virtualbox->handle); $uuid = $machine->id; $virtualbox->openExistingSession($session, $uuid); try { $console = $session->console; $display = $console->display; $screenWidth = $display->width; $screenHeight = $display->height;