virtualbox 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +0 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/virtualbox/abstract_model/attributable.rb +1 -0
- data/lib/virtualbox/abstract_model/validatable.rb +133 -10
- data/lib/virtualbox/abstract_model.rb +3 -3
- data/lib/virtualbox/appliance.rb +5 -2
- data/lib/virtualbox/audio_adapter.rb +11 -3
- data/lib/virtualbox/bios.rb +10 -4
- data/lib/virtualbox/com/abstract_enum.rb +6 -5
- data/lib/virtualbox/com/abstract_implementer.rb +4 -2
- data/lib/virtualbox/com/abstract_interface.rb +6 -4
- data/lib/virtualbox/com/base_interface.rb +38 -0
- data/lib/virtualbox/com/ffi/interface.rb +14 -5
- data/lib/virtualbox/com/ffi/interfaces.rb +36 -32
- data/lib/virtualbox/com/ffi/util.rb +22 -4
- data/lib/virtualbox/com/ffi_interface.rb +39 -8
- data/lib/virtualbox/com/implementer/base.rb +2 -2
- data/lib/virtualbox/com/implementer/ffi.rb +55 -44
- data/lib/virtualbox/com/implementer/mscom.rb +2 -4
- data/lib/virtualbox/com/interface/3.1.x/appliance.rb +22 -0
- data/lib/virtualbox/com/interface/3.1.x/audio_adapter.rb +15 -0
- data/lib/virtualbox/com/interface/3.1.x/audio_controller_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/audio_driver_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/bios_boot_menu_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/bios_settings.rb +21 -0
- data/lib/virtualbox/com/interface/3.1.x/clipboard_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/console.rb +50 -0
- data/lib/virtualbox/com/interface/3.1.x/cpu_property_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/device_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/dhcp_server.rb +22 -0
- data/lib/virtualbox/com/interface/3.1.x/firmware_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/guest_os_type.rb +23 -0
- data/lib/virtualbox/com/interface/3.1.x/host.rb +42 -0
- data/lib/virtualbox/com/interface/3.1.x/host_network_interface.rb +30 -0
- data/lib/virtualbox/com/interface/3.1.x/host_network_interface_medium_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/host_network_interface_status.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/host_network_interface_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/host_usb_device.rb +13 -0
- data/lib/virtualbox/com/interface/3.1.x/host_usb_device_filter.rb +13 -0
- data/lib/virtualbox/com/interface/3.1.x/hw_virt_ex_property_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/machine.rb +105 -0
- data/lib/virtualbox/com/interface/3.1.x/machine_state.rb +14 -0
- data/lib/virtualbox/com/interface/3.1.x/medium.rb +50 -0
- data/lib/virtualbox/com/interface/3.1.x/medium_attachment.rb +18 -0
- data/lib/virtualbox/com/interface/3.1.x/medium_format.rb +18 -0
- data/lib/virtualbox/com/interface/3.1.x/medium_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/medium_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/medium_variant.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/network_adapter.rb +30 -0
- data/lib/virtualbox/com/interface/3.1.x/network_adapter_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/network_attachment_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/nsiexception.rb +23 -0
- data/lib/virtualbox/com/interface/3.1.x/nsisupports.rb +15 -0
- data/lib/virtualbox/com/interface/3.1.x/parallel_port.rb +17 -0
- data/lib/virtualbox/com/interface/3.1.x/port_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/progress.rb +63 -0
- data/lib/virtualbox/com/interface/3.1.x/serial_port.rb +19 -0
- data/lib/virtualbox/com/interface/3.1.x/session.rb +18 -0
- data/lib/virtualbox/com/interface/3.1.x/session_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/session_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/shared_folder.rb +17 -0
- data/lib/virtualbox/com/interface/3.1.x/snapshot.rb +20 -0
- data/lib/virtualbox/com/interface/3.1.x/storage_bus.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/storage_controller.rb +23 -0
- data/lib/virtualbox/com/interface/3.1.x/storage_controller_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/system_properties.rb +37 -0
- data/lib/virtualbox/com/interface/3.1.x/usb_controller.rb +20 -0
- data/lib/virtualbox/com/interface/3.1.x/usb_device.rb +24 -0
- data/lib/virtualbox/com/interface/3.1.x/usb_device_filter.rb +23 -0
- data/lib/virtualbox/com/interface/3.1.x/usb_device_filter_action.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/usb_device_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/virtual_box_error_info.rb +17 -0
- data/lib/virtualbox/com/interface/3.1.x/virtual_system_description.rb +19 -0
- data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_type.rb +14 -0
- data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_value_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/virtualbox.rb +67 -0
- data/lib/virtualbox/com/interface/3.1.x/vrdp_auth_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.1.x/vrdp_server.rb +19 -0
- data/lib/virtualbox/com/interface/3.2.x/appliance.rb +22 -0
- data/lib/virtualbox/com/interface/3.2.x/audio_adapter.rb +15 -0
- data/lib/virtualbox/com/interface/3.2.x/audio_controller_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/audio_driver_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/bios_boot_menu_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/bios_settings.rb +21 -0
- data/lib/virtualbox/com/interface/3.2.x/clipboard_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/console.rb +50 -0
- data/lib/virtualbox/com/interface/3.2.x/cpu_property_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/device_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/dhcp_server.rb +22 -0
- data/lib/virtualbox/com/interface/3.2.x/firmware_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/guest.rb +13 -0
- data/lib/virtualbox/com/interface/3.2.x/guest_os_type.rb +33 -0
- data/lib/virtualbox/com/interface/3.2.x/host.rb +43 -0
- data/lib/virtualbox/com/interface/3.2.x/host_network_interface.rb +30 -0
- data/lib/virtualbox/com/interface/3.2.x/host_network_interface_medium_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/host_network_interface_status.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/host_network_interface_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/host_usb_device.rb +13 -0
- data/lib/virtualbox/com/interface/3.2.x/host_usb_device_filter.rb +13 -0
- data/lib/virtualbox/com/interface/3.2.x/hw_virt_ex_property_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/keyboard_hid_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/machine.rb +118 -0
- data/lib/virtualbox/com/interface/3.2.x/machine_state.rb +14 -0
- data/lib/virtualbox/com/interface/3.2.x/medium.rb +51 -0
- data/lib/virtualbox/com/interface/3.2.x/medium_attachment.rb +18 -0
- data/lib/virtualbox/com/interface/3.2.x/medium_format.rb +18 -0
- data/lib/virtualbox/com/interface/3.2.x/medium_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/medium_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/medium_variant.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/nat_alias_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/nat_engine.rb +27 -0
- data/lib/virtualbox/com/interface/3.2.x/nat_protocol.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/network_adapter.rb +34 -0
- data/lib/virtualbox/com/interface/3.2.x/network_adapter_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/network_attachment_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/nsiexception.rb +23 -0
- data/lib/virtualbox/com/interface/3.2.x/nsisupports.rb +15 -0
- data/lib/virtualbox/com/interface/3.2.x/parallel_port.rb +17 -0
- data/lib/virtualbox/com/interface/3.2.x/pointing_hid_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/port_mode.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/progress.rb +63 -0
- data/lib/virtualbox/com/interface/3.2.x/serial_port.rb +19 -0
- data/lib/virtualbox/com/interface/3.2.x/session.rb +18 -0
- data/lib/virtualbox/com/interface/3.2.x/session_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/session_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/shared_folder.rb +17 -0
- data/lib/virtualbox/com/interface/3.2.x/snapshot.rb +20 -0
- data/lib/virtualbox/com/interface/3.2.x/storage_bus.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/storage_controller.rb +24 -0
- data/lib/virtualbox/com/interface/3.2.x/storage_controller_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/system_properties.rb +42 -0
- data/lib/virtualbox/com/interface/3.2.x/usb_controller.rb +21 -0
- data/lib/virtualbox/com/interface/3.2.x/usb_device.rb +24 -0
- data/lib/virtualbox/com/interface/3.2.x/usb_device_filter.rb +23 -0
- data/lib/virtualbox/com/interface/3.2.x/usb_device_filter_action.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/usb_device_state.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/virtual_box_error_info.rb +17 -0
- data/lib/virtualbox/com/interface/3.2.x/virtual_system_description.rb +19 -0
- data/lib/virtualbox/com/interface/3.2.x/virtual_system_description_type.rb +14 -0
- data/lib/virtualbox/com/interface/3.2.x/virtual_system_description_value_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/virtualbox.rb +67 -0
- data/lib/virtualbox/com/interface/3.2.x/vrdp_auth_type.rb +11 -0
- data/lib/virtualbox/com/interface/3.2.x/vrdp_server.rb +21 -0
- data/lib/virtualbox/com/mscom_interface.rb +9 -4
- data/lib/virtualbox/com/nil_interface.rb +7 -0
- data/lib/virtualbox/com/util.rb +16 -2
- data/lib/virtualbox/com.rb +1 -1
- data/lib/virtualbox/cpu.rb +61 -0
- data/lib/virtualbox/dhcp_server.rb +89 -0
- data/lib/virtualbox/dvd.rb +2 -2
- data/lib/virtualbox/exceptions.rb +4 -0
- data/lib/virtualbox/ext/platform.rb +2 -2
- data/lib/virtualbox/extra_data.rb +5 -6
- data/lib/virtualbox/forwarded_port.rb +11 -7
- data/lib/virtualbox/global.rb +17 -6
- data/lib/virtualbox/hard_drive.rb +129 -66
- data/lib/virtualbox/host.rb +71 -0
- data/lib/virtualbox/host_network_interface.rb +137 -0
- data/lib/virtualbox/hw_virtualization.rb +12 -6
- data/lib/virtualbox/lib.rb +2 -2
- data/lib/virtualbox/media.rb +2 -2
- data/lib/virtualbox/medium.rb +10 -3
- data/lib/virtualbox/medium_attachment.rb +2 -2
- data/lib/virtualbox/network_adapter.rb +12 -4
- data/lib/virtualbox/proxies/collection.rb +26 -6
- data/lib/virtualbox/shared_folder.rb +22 -15
- data/lib/virtualbox/snapshot.rb +185 -0
- data/lib/virtualbox/storage_controller.rb +3 -3
- data/lib/virtualbox/system_properties.rb +1 -1
- data/lib/virtualbox/usb_controller.rb +8 -4
- data/lib/virtualbox/usb_device_filter.rb +74 -0
- data/lib/virtualbox/version.rb +12 -1
- data/lib/virtualbox/virtual_system_description.rb +4 -4
- data/lib/virtualbox/vm.rb +273 -64
- data/lib/virtualbox/vrdp_server.rb +59 -0
- data/test/test_helper.rb +7 -1
- data/test/virtualbox/abstract_model/attributable_test.rb +8 -0
- data/test/virtualbox/abstract_model/relatable_test.rb +5 -5
- data/test/virtualbox/abstract_model/validatable_test.rb +186 -3
- data/test/virtualbox/abstract_model_test.rb +3 -3
- data/test/virtualbox/appliance_test.rb +8 -1
- data/test/virtualbox/com/abstract_enum_test.rb +1 -0
- data/test/virtualbox/com/abstract_implementer_test.rb +4 -3
- data/test/virtualbox/com/abstract_interface_test.rb +3 -2
- data/test/virtualbox/com/ffi/interface_test.rb +4 -4
- data/test/virtualbox/com/ffi/util_test.rb +23 -1
- data/test/virtualbox/com/implementer/base_test.rb +4 -3
- data/test/virtualbox/com/implementer/ffi_test.rb +18 -10
- data/test/virtualbox/cpu_test.rb +103 -0
- data/test/virtualbox/dhcp_server_test.rb +165 -0
- data/test/virtualbox/extra_data_test.rb +4 -3
- data/test/virtualbox/forwarded_port_test.rb +17 -4
- data/test/virtualbox/hard_drive_test.rb +54 -5
- data/test/virtualbox/host_network_interface_test.rb +254 -0
- data/test/virtualbox/host_test.rb +94 -0
- data/test/virtualbox/network_adapter_test.rb +30 -1
- data/test/virtualbox/proxies/collection_test.rb +63 -21
- data/test/virtualbox/shared_folder_test.rb +16 -13
- data/test/virtualbox/snapshot_test.rb +231 -0
- data/test/virtualbox/storage_controller_test.rb +1 -1
- data/test/virtualbox/usb_controller_test.rb +7 -0
- data/test/virtualbox/usb_device_filter_test.rb +93 -0
- data/test/virtualbox/version_test.rb +13 -1
- data/test/virtualbox/vm_test.rb +245 -11
- data/test/virtualbox/vrdp_server_test.rb +83 -0
- data/virtualbox.gemspec +183 -97
- metadata +182 -96
- data/TODO +0 -9
- data/lib/virtualbox/com/interface/appliance.rb +0 -20
- data/lib/virtualbox/com/interface/audio_adapter.rb +0 -13
- data/lib/virtualbox/com/interface/audio_controller_type.rb +0 -9
- data/lib/virtualbox/com/interface/audio_driver_type.rb +0 -9
- data/lib/virtualbox/com/interface/bios_boot_menu_mode.rb +0 -9
- data/lib/virtualbox/com/interface/bios_settings.rb +0 -19
- data/lib/virtualbox/com/interface/clipboard_mode.rb +0 -9
- data/lib/virtualbox/com/interface/console.rb +0 -48
- data/lib/virtualbox/com/interface/cpu_property_type.rb +0 -9
- data/lib/virtualbox/com/interface/device_type.rb +0 -9
- data/lib/virtualbox/com/interface/dhcp_server.rb +0 -20
- data/lib/virtualbox/com/interface/firmware_type.rb +0 -9
- data/lib/virtualbox/com/interface/guest_os_type.rb +0 -21
- data/lib/virtualbox/com/interface/host.rb +0 -40
- data/lib/virtualbox/com/interface/host_network_interface.rb +0 -28
- data/lib/virtualbox/com/interface/host_network_interface_medium_type.rb +0 -9
- data/lib/virtualbox/com/interface/host_network_interface_status.rb +0 -9
- data/lib/virtualbox/com/interface/host_network_interface_type.rb +0 -9
- data/lib/virtualbox/com/interface/host_usb_device.rb +0 -11
- data/lib/virtualbox/com/interface/host_usb_device_filter.rb +0 -11
- data/lib/virtualbox/com/interface/hw_virt_ex_property_type.rb +0 -9
- data/lib/virtualbox/com/interface/machine.rb +0 -103
- data/lib/virtualbox/com/interface/machine_state.rb +0 -12
- data/lib/virtualbox/com/interface/medium.rb +0 -48
- data/lib/virtualbox/com/interface/medium_attachment.rb +0 -16
- data/lib/virtualbox/com/interface/medium_format.rb +0 -16
- data/lib/virtualbox/com/interface/medium_state.rb +0 -9
- data/lib/virtualbox/com/interface/medium_type.rb +0 -9
- data/lib/virtualbox/com/interface/medium_variant.rb +0 -9
- data/lib/virtualbox/com/interface/network_adapter.rb +0 -28
- data/lib/virtualbox/com/interface/network_adapter_type.rb +0 -9
- data/lib/virtualbox/com/interface/network_attachment_type.rb +0 -9
- data/lib/virtualbox/com/interface/nsiexception.rb +0 -21
- data/lib/virtualbox/com/interface/nsisupports.rb +0 -13
- data/lib/virtualbox/com/interface/parallel_port.rb +0 -15
- data/lib/virtualbox/com/interface/port_mode.rb +0 -9
- data/lib/virtualbox/com/interface/progress.rb +0 -58
- data/lib/virtualbox/com/interface/serial_port.rb +0 -17
- data/lib/virtualbox/com/interface/session.rb +0 -16
- data/lib/virtualbox/com/interface/session_state.rb +0 -9
- data/lib/virtualbox/com/interface/session_type.rb +0 -9
- data/lib/virtualbox/com/interface/shared_folder.rb +0 -15
- data/lib/virtualbox/com/interface/snapshot.rb +0 -18
- data/lib/virtualbox/com/interface/storage_bus.rb +0 -9
- data/lib/virtualbox/com/interface/storage_controller.rb +0 -21
- data/lib/virtualbox/com/interface/storage_controller_type.rb +0 -9
- data/lib/virtualbox/com/interface/system_properties.rb +0 -35
- data/lib/virtualbox/com/interface/usb_controller.rb +0 -18
- data/lib/virtualbox/com/interface/usb_device.rb +0 -22
- data/lib/virtualbox/com/interface/usb_device_filter.rb +0 -21
- data/lib/virtualbox/com/interface/usb_device_filter_action.rb +0 -9
- data/lib/virtualbox/com/interface/usb_device_state.rb +0 -9
- data/lib/virtualbox/com/interface/virtual_box_error_info.rb +0 -15
- data/lib/virtualbox/com/interface/virtual_system_description.rb +0 -17
- data/lib/virtualbox/com/interface/virtual_system_description_type.rb +0 -12
- data/lib/virtualbox/com/interface/virtual_system_description_value_type.rb +0 -9
- data/lib/virtualbox/com/interface/virtualbox.rb +0 -54
- data/lib/virtualbox/com/interface/vrdp_auth_type.rb +0 -9
- data/lib/virtualbox/com/interface/vrdp_server.rb +0 -17
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class StorageController < AbstractInterface
|
|
6
|
+
IID = "6bf8335b-d14a-44a5-9b45-ddc49ce7d5b2"
|
|
7
|
+
|
|
8
|
+
property :name, WSTRING, :readonly => true
|
|
9
|
+
property :max_devices_per_port_count, T_UINT32, :readonly => true
|
|
10
|
+
property :min_port_count, T_UINT32, :readonly => true
|
|
11
|
+
property :max_port_count, T_UINT32, :readonly => true
|
|
12
|
+
property :instance, T_UINT32
|
|
13
|
+
property :port_count, T_UINT32
|
|
14
|
+
property :bus, :StorageBus, :readonly => true
|
|
15
|
+
property :controller_type, :StorageControllerType
|
|
16
|
+
property :use_host_io_cache, T_BOOL
|
|
17
|
+
|
|
18
|
+
function :get_ide_emulation_port, T_INT32, [T_INT32]
|
|
19
|
+
function :set_ide_emulation_port, nil, [T_INT32, T_INT32]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class SystemProperties < AbstractInterface
|
|
6
|
+
IID = "8030645c-8fef-4320-bb7b-c829f00069dc"
|
|
7
|
+
|
|
8
|
+
property :min_guest_ram, T_UINT32, :readonly => true
|
|
9
|
+
property :max_guest_ram, T_UINT32, :readonly => true
|
|
10
|
+
property :min_guest_vram, T_UINT32, :readonly => true
|
|
11
|
+
property :max_guest_vram, T_UINT32, :readonly => true
|
|
12
|
+
property :min_guest_cpu_count, T_UINT32, :readonly => true
|
|
13
|
+
property :max_guest_cpu_count, T_UINT32, :readonly => true
|
|
14
|
+
property :max_guest_monitors, T_UINT32, :readonly => true
|
|
15
|
+
property :max_vdi_size, T_UINT64, :readonly => true
|
|
16
|
+
property :network_adapter_count, T_UINT32, :readonly => true
|
|
17
|
+
property :serial_port_count, T_UINT32, :readonly => true
|
|
18
|
+
property :parallel_port_count, T_UINT32, :readonly => true
|
|
19
|
+
property :max_boot_position, T_UINT32, :readonly => true
|
|
20
|
+
property :default_machine_folder, WSTRING
|
|
21
|
+
property :default_hard_disk_folder, WSTRING
|
|
22
|
+
property :medium_formats, [:MediumFormat], :readonly => true
|
|
23
|
+
property :default_hard_disk_format, WSTRING
|
|
24
|
+
property :free_disk_space_warning, T_UINT64
|
|
25
|
+
property :free_disk_space_percent_warning, T_UINT32
|
|
26
|
+
property :free_disk_space_error, T_UINT64
|
|
27
|
+
property :free_disk_space_percent_error, T_UINT64
|
|
28
|
+
property :remote_display_auth_library, WSTRING
|
|
29
|
+
property :web_service_auth_library, WSTRING
|
|
30
|
+
property :log_history_count, T_UINT32
|
|
31
|
+
property :default_audio_driver, :AudioDriverType, :readonly => true
|
|
32
|
+
|
|
33
|
+
function :get_max_devices_per_port_for_storage_bus, T_UINT32, [:StorageBus]
|
|
34
|
+
function :get_min_port_count_for_storage_bus, T_UINT32, [:StorageBus]
|
|
35
|
+
function :get_max_port_count_for_storage_bus, T_UINT32, [:StorageBus]
|
|
36
|
+
function :get_max_instances_of_storage_bus, T_UINT32, [:StorageBus]
|
|
37
|
+
function :get_device_types_for_storage_bus, [:DeviceType], [:StorageBus]
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class USBController < AbstractInterface
|
|
6
|
+
IID = "238540fa-4b73-435a-a38e-4e1d9eab5c17"
|
|
7
|
+
|
|
8
|
+
property :enabled, T_BOOL
|
|
9
|
+
property :enabled_ehci, T_BOOL
|
|
10
|
+
property :proxy_available, T_BOOL, :readonly => true
|
|
11
|
+
property :usb_standard, T_UINT16, :readonly => true
|
|
12
|
+
property :device_filters, [:USBDeviceFilter], :readonly => true
|
|
13
|
+
|
|
14
|
+
function :create_device_filter, :USBDeviceFilter, [WSTRING]
|
|
15
|
+
function :insert_device_filter, nil, [T_UINT32, :USBDeviceFilter]
|
|
16
|
+
function :remove_device_filter, :USBDeviceFilter, [T_UINT32]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class USBDevice < AbstractInterface
|
|
6
|
+
IID = "f8967b0b-4483-400f-92b5-8b675d98a85b"
|
|
7
|
+
|
|
8
|
+
property :id, WSTRING, :readonly => true
|
|
9
|
+
property :vendor_id, T_UINT16, :readonly => true
|
|
10
|
+
property :product_id, T_UINT16, :readonly => true
|
|
11
|
+
property :revision, T_UINT16, :readonly => true
|
|
12
|
+
property :manfacturer, WSTRING, :readonly => true
|
|
13
|
+
property :product, WSTRING, :readonly => true
|
|
14
|
+
property :serial_number, WSTRING, :readonly => true
|
|
15
|
+
property :address, WSTRING, :readonly => true
|
|
16
|
+
property :port, T_UINT16, :readonly => true
|
|
17
|
+
property :version, T_UINT16, :readonly => true
|
|
18
|
+
property :port_version, T_UINT16, :readonly => true
|
|
19
|
+
property :remote, T_BOOL, :readonly => true
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class USBDeviceFilter < AbstractInterface
|
|
6
|
+
IID = "d6831fb4-1a94-4c2c-96ef-8d0d6192066d"
|
|
7
|
+
|
|
8
|
+
property :name, WSTRING
|
|
9
|
+
property :active, T_BOOL
|
|
10
|
+
property :vendor_id, WSTRING
|
|
11
|
+
property :product_id, WSTRING
|
|
12
|
+
property :revision, WSTRING
|
|
13
|
+
property :manufacturer, WSTRING
|
|
14
|
+
property :product, WSTRING
|
|
15
|
+
property :serial_number, WSTRING
|
|
16
|
+
property :port, WSTRING
|
|
17
|
+
property :remote, WSTRING
|
|
18
|
+
property :masked_interfaces, T_UINT32
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class VirtualBoxErrorInfo < AbstractInterface
|
|
6
|
+
IID = "4b86d186-407e-4f9e-8be8-e50061be8725"
|
|
7
|
+
|
|
8
|
+
property :result_code, T_UINT32, :readonly => true
|
|
9
|
+
property :interface_i_d, WSTRING, :readonly => true
|
|
10
|
+
property :component, WSTRING, :readonly => true
|
|
11
|
+
property :text, WSTRING, :readonly => true
|
|
12
|
+
property :next, :VirtualBoxErrorInfo, :readonly => true
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class VirtualSystemDescription < AbstractInterface
|
|
6
|
+
IID = "d7525e6c-531a-4c51-8e04-41235083a3d8"
|
|
7
|
+
|
|
8
|
+
property :count, T_UINT32, :readonly => true
|
|
9
|
+
|
|
10
|
+
function :get_description, nil, [[:out, [:VirtualSystemDescriptionType]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]]]
|
|
11
|
+
function :get_description_by_type, nil, [:VirtualSystemDescriptionType, [:out, [:VirtualSystemDescriptionType]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]], [:out, [WSTRING]]]
|
|
12
|
+
function :get_values_by_type, [WSTRING], [:VirtualSystemDescriptionType, :VirtualSystemDescriptionValueType]
|
|
13
|
+
function :set_final_values, nil, [[T_BOOL], [WSTRING], [WSTRING]]
|
|
14
|
+
function :add_description, nil, [:VirtualSystemDescriptionType, WSTRING, WSTRING]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class VirtualSystemDescriptionType < AbstractEnum
|
|
6
|
+
map [:null, :ignore, :os, :name, :product, :vendor, :version, :product_url, :vendor_url,
|
|
7
|
+
:description, :license, :misc, :cpu, :memory, :hard_disk_controller_ide,
|
|
8
|
+
:hard_disk_controller_sata, :hard_disk_controller_scsi, :hard_disk_controller_sas, :hard_disk_image,
|
|
9
|
+
:floppy, :cdrom, :network_adapter, :usb_controller, :sound_card]
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class VirtualBox < AbstractInterface
|
|
6
|
+
IID_STR = "3f36e024-7fed-4f20-a02c-9158a82b44e6"
|
|
7
|
+
|
|
8
|
+
property :version, WSTRING, :readonly => true
|
|
9
|
+
property :revision, T_ULONG, :readonly => true
|
|
10
|
+
property :package_type, WSTRING, :readonly => true
|
|
11
|
+
property :home_folder, WSTRING, :readonly => true
|
|
12
|
+
property :settings_file_path, WSTRING, :readonly => true
|
|
13
|
+
property :host, :Host, :readonly => true
|
|
14
|
+
property :system_properties, :SystemProperties, :readonly => true
|
|
15
|
+
property :machines, [:Machine], :readonly => true
|
|
16
|
+
property :hard_disks, [:Medium], :readonly => true
|
|
17
|
+
property :dvd_images, [:Medium], :readonly => true
|
|
18
|
+
property :floppy_images, [:Medium], :readonly => true
|
|
19
|
+
property :progress_operations, [:Progress], :readonly => true
|
|
20
|
+
property :guest_os_types, [:GuestOSType], :readonly => true
|
|
21
|
+
property :shared_folders, [:SharedFolder], :readonly => true
|
|
22
|
+
property :performance_collector, :PerformanceCollector, :readonly => true
|
|
23
|
+
property :dhcp_servers, [:DHCPServer], :readonly => true
|
|
24
|
+
|
|
25
|
+
function :create_machine, :Machine, [WSTRING, WSTRING, WSTRING, WSTRING, T_BOOL]
|
|
26
|
+
function :create_legacy_machine, :Machine, [WSTRING, WSTRING, WSTRING, WSTRING]
|
|
27
|
+
function :open_machine, :Machine, [WSTRING]
|
|
28
|
+
function :register_machine, :Machine, [:Machine]
|
|
29
|
+
function :get_machine, :Machine, [WSTRING]
|
|
30
|
+
function :find_machine, :Machine, [WSTRING]
|
|
31
|
+
function :unregister_machine, :Machine, [WSTRING]
|
|
32
|
+
function :create_appliance, :Appliance, []
|
|
33
|
+
function :create_hard_disk, :Medium, [WSTRING, WSTRING]
|
|
34
|
+
function :open_hard_disk, :Medium, [WSTRING, T_UINT32, T_BOOL, WSTRING, T_BOOL, WSTRING]
|
|
35
|
+
function :get_hard_disk, :Medium, [WSTRING]
|
|
36
|
+
function :find_hard_disk, :Medium, [WSTRING]
|
|
37
|
+
function :open_dvd_image, :Medium, [WSTRING, WSTRING]
|
|
38
|
+
function :get_dvd_image, :Medium, [WSTRING]
|
|
39
|
+
function :find_dvd_image, :Medium, [WSTRING]
|
|
40
|
+
function :open_floppy_image, :Medium, [WSTRING, WSTRING]
|
|
41
|
+
function :get_floppy_image, :Medium, [WSTRING]
|
|
42
|
+
function :find_floppy_image, :Medium, [WSTRING]
|
|
43
|
+
function :get_guest_os_type, :GuestOSType, [WSTRING]
|
|
44
|
+
function :create_shared_folder, nil, [WSTRING, WSTRING, T_BOOL]
|
|
45
|
+
function :remove_shared_folder, nil, [WSTRING]
|
|
46
|
+
function :get_extra_data_keys, [WSTRING], []
|
|
47
|
+
function :get_extra_data, WSTRING, [WSTRING]
|
|
48
|
+
function :set_extra_data, nil, [WSTRING, WSTRING]
|
|
49
|
+
function :open_session, nil, [:Session, WSTRING]
|
|
50
|
+
function :open_remote_session, :Progress, [:Session, WSTRING, WSTRING, WSTRING]
|
|
51
|
+
function :open_existing_session, nil, [:Session, WSTRING]
|
|
52
|
+
|
|
53
|
+
# TODO: The following two are wrong, they don't take a
|
|
54
|
+
# string as input
|
|
55
|
+
function :register_callback, nil, [WSTRING]
|
|
56
|
+
function :unregister_callback, nil, [WSTRING]
|
|
57
|
+
|
|
58
|
+
function :wait_for_property_change, nil, [WSTRING, T_UINT32, [:out, WSTRING], [:out, WSTRING]]
|
|
59
|
+
function :create_dhcp_server, :DHCPServer, [WSTRING]
|
|
60
|
+
function :find_dhcp_server_by_network_name, :DHCPServer, [WSTRING]
|
|
61
|
+
function :remove_dhcp_server, nil, [:DHCPServer]
|
|
62
|
+
function :check_firmware_present, T_BOOL, [:FirmwareType, WSTRING, [:out, WSTRING], [:out, WSTRING]]
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
module COM
|
|
3
|
+
module Interface
|
|
4
|
+
module Version_3_2_X
|
|
5
|
+
class VRDPServer < AbstractInterface
|
|
6
|
+
IID = "72e671bc-1712-4052-ad6b-e45e76d9d3e4"
|
|
7
|
+
|
|
8
|
+
property :enabled, T_BOOL
|
|
9
|
+
property :ports, WSTRING
|
|
10
|
+
property :net_address, WSTRING
|
|
11
|
+
property :auth_type, :VRDPAuthType
|
|
12
|
+
property :auth_timeout, T_UINT32
|
|
13
|
+
property :allow_multi_connection, T_BOOL
|
|
14
|
+
property :reuse_single_connection, T_BOOL
|
|
15
|
+
property :video_channel, T_BOOL
|
|
16
|
+
property :video_channel_quality, T_UINT32
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module VirtualBox
|
|
2
2
|
module COM
|
|
3
|
-
class MSCOMInterface
|
|
3
|
+
class MSCOMInterface < BaseInterface
|
|
4
4
|
# The VirtualBox and Session interfaces, both of which are extremely
|
|
5
5
|
# important in interfacing with the VirtualBox API. Once these have been
|
|
6
6
|
# initialized, all other parts of the API can be accessed via these
|
|
@@ -9,14 +9,19 @@ module VirtualBox
|
|
|
9
9
|
attr_reader :session
|
|
10
10
|
|
|
11
11
|
def initialize
|
|
12
|
+
super
|
|
12
13
|
initialize_mscom
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
def initialize_mscom
|
|
16
17
|
require 'win32ole'
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
# TODO: Dynamic version finding
|
|
20
|
+
COM::Util.set_interface_version("3.1.x")
|
|
21
|
+
|
|
22
|
+
@virtualbox = COM::Util.versioned_interface(:VirtualBox).new(Implementer::MSCOM, self, WIN32OLE.new("VirtualBox.VirtualBox"))
|
|
23
|
+
@session = COM::Util.versioned_interface(:Session).new(Implementer::MSCOM, self, WIN32OLE.new("VirtualBox.Session"))
|
|
19
24
|
end
|
|
20
25
|
end
|
|
21
26
|
end
|
|
22
|
-
end
|
|
27
|
+
end
|
data/lib/virtualbox/com/util.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module VirtualBox
|
|
2
2
|
module COM
|
|
3
3
|
class Util
|
|
4
|
-
class <<self
|
|
4
|
+
class << self
|
|
5
5
|
# Returns a boolean true/false whether the given COM interface
|
|
6
6
|
# exists.
|
|
7
7
|
#
|
|
@@ -12,7 +12,21 @@ module VirtualBox
|
|
|
12
12
|
rescue NameError
|
|
13
13
|
false
|
|
14
14
|
end
|
|
15
|
+
|
|
16
|
+
# Gets an interface within the current version namespace.
|
|
17
|
+
def versioned_interface(interface)
|
|
18
|
+
Object.module_eval("::VirtualBox::COM::Interface::#{version_const}::#{interface}")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Returns a namespace representation for a version.
|
|
22
|
+
def version_const
|
|
23
|
+
"Version_" + @__version.upcase.gsub(".", "_")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def set_interface_version(version)
|
|
27
|
+
@__version = version
|
|
28
|
+
end
|
|
15
29
|
end
|
|
16
30
|
end
|
|
17
31
|
end
|
|
18
|
-
end
|
|
32
|
+
end
|
data/lib/virtualbox/com.rb
CHANGED
|
@@ -20,4 +20,4 @@ comdir = File.join(File.dirname(__FILE__), 'com')
|
|
|
20
20
|
require File.expand_path("abstract_interface", comdir)
|
|
21
21
|
require File.expand_path("abstract_enum", comdir)
|
|
22
22
|
VirtualBox::GlobLoader.glob_require(File.join(comdir, "interface"))
|
|
23
|
-
VirtualBox::GlobLoader.glob_require(comdir, %w{abstract_interface abstract_implementer util ffi/interface ffi/util implementer/base})
|
|
23
|
+
VirtualBox::GlobLoader.glob_require(comdir, %w{base_interface abstract_interface abstract_implementer util ffi/interface ffi/util implementer/base})
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
# Represents the CPU properties on a VM.
|
|
3
|
+
class CPU < AbstractModel
|
|
4
|
+
attribute :parent, :readonly => true, :property => false
|
|
5
|
+
attribute_scope(:property_getter => Proc.new { |instance, *args| instance.get_property(*args) },
|
|
6
|
+
:property_setter => Proc.new { |instance, *args| instance.set_property(*args) }) do
|
|
7
|
+
attribute :pae, :boolean => true
|
|
8
|
+
attribute :synthetic, :boolean => true
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class << self
|
|
12
|
+
# Populates a relationship with another model.
|
|
13
|
+
#
|
|
14
|
+
# **This method typically won't be used except internally.**
|
|
15
|
+
#
|
|
16
|
+
# @return [CPU]
|
|
17
|
+
def populate_relationship(caller, imachine)
|
|
18
|
+
data = new(caller, imachine)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Saves the relationship.
|
|
22
|
+
#
|
|
23
|
+
# **This method typically won't be used except internally.**
|
|
24
|
+
def save_relationship(caller, instance)
|
|
25
|
+
instance.save
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def initialize(parent, imachine)
|
|
30
|
+
write_attribute(:parent, parent)
|
|
31
|
+
|
|
32
|
+
# Load the attributes and mark the whole thing as existing
|
|
33
|
+
load_interface_attributes(imachine)
|
|
34
|
+
clear_dirty!
|
|
35
|
+
existing_record!
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def get_property(interface, key)
|
|
39
|
+
interface.get_cpu_property(key)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def set_property(interface, key, value)
|
|
43
|
+
interface.set_cpu_property(key, value)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def validate
|
|
47
|
+
super
|
|
48
|
+
|
|
49
|
+
validates_inclusion_of :pae, :synthetic, :in => [true, false]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def save
|
|
53
|
+
parent.with_open_session do |session|
|
|
54
|
+
machine = session.machine
|
|
55
|
+
|
|
56
|
+
# Save them
|
|
57
|
+
save_changed_interface_attributes(machine)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
module VirtualBox
|
|
2
|
+
class DHCPServer < AbstractModel
|
|
3
|
+
attribute :parent, :readonly => true, :property => false
|
|
4
|
+
attribute :parent_collection, :readonly => true, :property => false
|
|
5
|
+
attribute :interface, :readonly => true, :property => false
|
|
6
|
+
attribute :enabled
|
|
7
|
+
attribute :ip_address
|
|
8
|
+
attribute :network_mask
|
|
9
|
+
attribute :network_name, :readonly => true
|
|
10
|
+
attribute :lower_ip
|
|
11
|
+
attribute :upper_ip
|
|
12
|
+
|
|
13
|
+
class << self
|
|
14
|
+
# Populates a relationship with another model.
|
|
15
|
+
#
|
|
16
|
+
# **This method typically won't be used except internally.**
|
|
17
|
+
#
|
|
18
|
+
# @return [Array<DHCPServer>]
|
|
19
|
+
def populate_relationship(caller, servers)
|
|
20
|
+
relation = Proxies::Collection.new(caller, self)
|
|
21
|
+
|
|
22
|
+
servers.each do |interface|
|
|
23
|
+
relation << new(interface)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
relation
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Creates a DHCP server for the given network name.
|
|
30
|
+
# This method should not be called directly, its recommended that you call
|
|
31
|
+
# the `create` method on the `dhcp_servers` relationship on
|
|
32
|
+
# `VirtualBox::Global` object.
|
|
33
|
+
def create(proxy, network_name)
|
|
34
|
+
interface = proxy.parent.lib.virtualbox.create_dhcp_server(network_name)
|
|
35
|
+
new(interface)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def initialize(raw)
|
|
40
|
+
initialize_attributes(raw)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def initialize_attributes(raw)
|
|
44
|
+
write_attribute(:interface, raw)
|
|
45
|
+
|
|
46
|
+
load_interface_attributes(interface)
|
|
47
|
+
existing_record!
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def added_to_relationship(proxy)
|
|
51
|
+
write_attribute(:parent, proxy.parent)
|
|
52
|
+
write_attribute(:parent_collection, proxy)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def save
|
|
56
|
+
configs = [:ip_address, :network_mask, :lower_ip, :upper_ip]
|
|
57
|
+
configs_changed = configs.map { |key| changed?(key) }.any? { |i| i }
|
|
58
|
+
|
|
59
|
+
if configs_changed
|
|
60
|
+
interface.set_configuration(ip_address, network_mask, lower_ip, upper_ip)
|
|
61
|
+
|
|
62
|
+
# Clear the dirtiness so that the abstract model doesn't try
|
|
63
|
+
# to save the attributes
|
|
64
|
+
configs.each do |key|
|
|
65
|
+
clear_dirty!(key)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
save_changed_interface_attributes(interface)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Removes the DHCP server.
|
|
73
|
+
def destroy
|
|
74
|
+
parent.lib.virtualbox.remove_dhcp_server(interface)
|
|
75
|
+
parent_collection.delete(self, true)
|
|
76
|
+
true
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Returns the host network associated with this DHCP server, if it
|
|
80
|
+
# exists.
|
|
81
|
+
def host_network
|
|
82
|
+
return nil unless network_name =~ /^HostInterfaceNetworking-(.+?)$/
|
|
83
|
+
|
|
84
|
+
parent.host.network_interfaces.detect do |i|
|
|
85
|
+
i.interface_type == :host_only && i.name == $1.to_s
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
data/lib/virtualbox/dvd.rb
CHANGED
|
@@ -12,7 +12,7 @@ module VirtualBox
|
|
|
12
12
|
# DVD.all
|
|
13
13
|
#
|
|
14
14
|
class DVD < Medium
|
|
15
|
-
class <<self
|
|
15
|
+
class << self
|
|
16
16
|
# Returns an array of all available DVDs as DVD objects
|
|
17
17
|
def all
|
|
18
18
|
Global.global.media.dvds
|
|
@@ -24,4 +24,4 @@ module VirtualBox
|
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
|
-
end
|
|
27
|
+
end
|
|
@@ -6,6 +6,10 @@ module VirtualBox
|
|
|
6
6
|
|
|
7
7
|
class NonSettableRelationshipException < Exception; end
|
|
8
8
|
class ValidationFailedException < Exception; end
|
|
9
|
+
class MediumLocationInUseException < Exception; end
|
|
10
|
+
class MediumCreationFailedException < Exception; end
|
|
11
|
+
class MediumNotUpdatableException < Exception; end
|
|
12
|
+
class ReadonlyVMStateException < Exception; end
|
|
9
13
|
|
|
10
14
|
class FFIException < Exception
|
|
11
15
|
attr_accessor :data
|
|
@@ -39,7 +39,7 @@ module VirtualBox
|
|
|
39
39
|
|
|
40
40
|
@@global_data = nil
|
|
41
41
|
|
|
42
|
-
class <<self
|
|
42
|
+
class << self
|
|
43
43
|
# Gets the global extra data. This will "cache" the data for
|
|
44
44
|
# future use unless you set the `reload` paramter to true.
|
|
45
45
|
#
|
|
@@ -116,13 +116,12 @@ module VirtualBox
|
|
|
116
116
|
# Alias away the old delete method so its still accessible somehow
|
|
117
117
|
alias :hash_delete :delete
|
|
118
118
|
|
|
119
|
-
# Deletes the specified extra data.
|
|
120
|
-
# although the key itself is marked to be deleted (by setting the value
|
|
121
|
-
# to nil), the deletion itself does not occur until {#save} is called.
|
|
119
|
+
# Deletes the specified extra data.
|
|
122
120
|
#
|
|
123
121
|
# @param [String] key The extra data key to delete
|
|
124
122
|
def delete(key)
|
|
125
|
-
|
|
123
|
+
interface.set_extra_data(key.to_s, nil)
|
|
124
|
+
hash_delete(key.to_s)
|
|
126
125
|
end
|
|
127
126
|
end
|
|
128
|
-
end
|
|
127
|
+
end
|