示例#1
0
 /**
  * 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;
 }
示例#2
0
 * 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;