virtualbox 0.8.6 → 0.9.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.
Files changed (281) hide show
  1. data/Rakefile +11 -5
  2. data/TODO.md +7 -0
  3. data/lib/virtualbox.rb +34 -8
  4. data/lib/virtualbox/abstract_model.rb +7 -8
  5. data/lib/virtualbox/abstract_model/attributable.rb +16 -2
  6. data/lib/virtualbox/abstract_model/interface_attributes.rb +10 -1
  7. data/lib/virtualbox/abstract_model/relatable.rb +11 -0
  8. data/lib/virtualbox/appliance.rb +1 -1
  9. data/lib/virtualbox/com.rb +13 -12
  10. data/lib/virtualbox/com/abstract_enum.rb +21 -5
  11. data/lib/virtualbox/com/abstract_interface.rb +11 -0
  12. data/lib/virtualbox/com/base_interface.rb +1 -32
  13. data/lib/virtualbox/com/{ffi/vboxxpcomc.rb → ffi.rb} +7 -0
  14. data/lib/virtualbox/com/ffi/interface.rb +10 -27
  15. data/lib/virtualbox/com/ffi/util.rb +32 -2
  16. data/lib/virtualbox/com/ffi_interface.rb +8 -2
  17. data/lib/virtualbox/com/implementer.rb +10 -0
  18. data/lib/virtualbox/com/implementer/base.rb +10 -3
  19. data/lib/virtualbox/com/implementer/ffi.rb +40 -13
  20. data/lib/virtualbox/com/implementer/mscom.rb +18 -1
  21. data/lib/virtualbox/com/interface/4.0.x/{access_mode.rb → AccessMode.rb} +1 -1
  22. data/lib/virtualbox/com/interface/4.0.x/{appliance.rb → Appliance.rb} +0 -0
  23. data/lib/virtualbox/com/interface/4.0.x/{audio_adapter.rb → AudioAdapter.rb} +1 -1
  24. data/lib/virtualbox/com/interface/4.0.x/{audio_controller_type.rb → AudioControllerType.rb} +0 -0
  25. data/lib/virtualbox/com/interface/4.0.x/{audio_driver_type.rb → AudioDriverType.rb} +0 -0
  26. data/lib/virtualbox/com/interface/4.0.x/{auth_type.rb → AuthType.rb} +0 -0
  27. data/lib/virtualbox/com/interface/4.0.x/{bios_boot_menu_mode.rb → BIOSBootMenuMode.rb} +0 -0
  28. data/lib/virtualbox/com/interface/4.0.x/{bios_settings.rb → BIOSSettings.rb} +1 -1
  29. data/lib/virtualbox/com/interface/4.0.x/{bandwidth_control.rb → BandwidthControl.rb} +0 -0
  30. data/lib/virtualbox/com/interface/4.0.x/{bandwidth_group.rb → BandwidthGroup.rb} +0 -0
  31. data/lib/virtualbox/com/interface/4.0.x/{bandwidth_group_type.rb → BandwidthGroupType.rb} +0 -0
  32. data/lib/virtualbox/com/interface/4.0.x/{chipset_type.rb → ChipsetType.rb} +0 -0
  33. data/lib/virtualbox/com/interface/4.0.x/{cleanup_mode.rb → CleanupMode.rb} +0 -0
  34. data/lib/virtualbox/com/interface/4.0.x/{clipboard_mode.rb → ClipboardMode.rb} +0 -0
  35. data/lib/virtualbox/com/interface/4.0.x/{console.rb → Console.rb} +0 -0
  36. data/lib/virtualbox/com/interface/4.0.x/{cpu_property_type.rb → CpuPropertyType.rb} +0 -0
  37. data/lib/virtualbox/com/interface/4.0.x/{dhcp_server.rb → DHCPServer.rb} +0 -0
  38. data/lib/virtualbox/com/interface/4.0.x/{data_type.rb → DataType.rb} +0 -0
  39. data/lib/virtualbox/com/interface/4.0.x/{device_type.rb → DeviceType.rb} +0 -0
  40. data/lib/virtualbox/com/interface/4.0.x/{event_source.rb → EventSource.rb} +0 -0
  41. data/lib/virtualbox/com/interface/4.0.x/{fault_tolerance_state.rb → FaultToleranceState.rb} +0 -0
  42. data/lib/virtualbox/com/interface/4.0.x/{firmware_type.rb → FirmwareType.rb} +0 -0
  43. data/lib/virtualbox/com/interface/4.0.x/{guest.rb → Guest.rb} +0 -0
  44. data/lib/virtualbox/com/interface/4.0.x/{guest_os_type.rb → GuestOSType.rb} +0 -0
  45. data/lib/virtualbox/com/interface/4.0.x/{hw_virt_ex_property_type.rb → HWVirtExPropertyType.rb} +0 -0
  46. data/lib/virtualbox/com/interface/4.0.x/{host.rb → Host.rb} +6 -6
  47. data/lib/virtualbox/com/interface/4.0.x/{host_network_interface.rb → HostNetworkInterface.rb} +0 -0
  48. data/lib/virtualbox/com/interface/4.0.x/{host_network_interface_medium_type.rb → HostNetworkInterfaceMediumType.rb} +0 -0
  49. data/lib/virtualbox/com/interface/4.0.x/{host_network_interface_status.rb → HostNetworkInterfaceStatus.rb} +0 -0
  50. data/lib/virtualbox/com/interface/4.0.x/{host_network_interface_type.rb → HostNetworkInterfaceType.rb} +0 -0
  51. data/lib/virtualbox/com/interface/4.0.x/{host_usb_device.rb → HostUSBDevice.rb} +3 -1
  52. data/lib/virtualbox/com/interface/4.0.x/{host_usb_device_filter.rb → HostUSBDeviceFilter.rb} +3 -1
  53. data/lib/virtualbox/com/interface/4.0.x/{keyboard_hid_type.rb → KeyboardHidType.rb} +0 -0
  54. data/lib/virtualbox/com/interface/4.0.x/{lock_type.rb → LockType.rb} +0 -0
  55. data/lib/virtualbox/com/interface/4.0.x/{machine.rb → Machine.rb} +0 -0
  56. data/lib/virtualbox/com/interface/4.0.x/{machine_state.rb → MachineState.rb} +0 -0
  57. data/lib/virtualbox/com/interface/4.0.x/{medium.rb → Medium.rb} +0 -0
  58. data/lib/virtualbox/com/interface/4.0.x/{medium_attachment.rb → MediumAttachment.rb} +0 -0
  59. data/lib/virtualbox/com/interface/4.0.x/{medium_format.rb → MediumFormat.rb} +0 -0
  60. data/lib/virtualbox/com/interface/4.0.x/{medium_state.rb → MediumState.rb} +0 -0
  61. data/lib/virtualbox/com/interface/4.0.x/{medium_type.rb → MediumType.rb} +0 -0
  62. data/lib/virtualbox/com/interface/4.0.x/{medium_variant.rb → MediumVariant.rb} +0 -0
  63. data/lib/virtualbox/com/interface/4.0.x/{nat_alias_mode.rb → NATAliasMode.rb} +0 -0
  64. data/lib/virtualbox/com/interface/4.0.x/{nat_engine.rb → NATEngine.rb} +0 -0
  65. data/lib/virtualbox/com/interface/4.0.x/{nat_protocol.rb → NATProtocol.rb} +0 -0
  66. data/lib/virtualbox/com/interface/4.0.x/{nsiexception.rb → NSIException.rb} +0 -0
  67. data/lib/virtualbox/com/interface/4.0.x/{nsisupports.rb → NSISupports.rb} +3 -0
  68. data/lib/virtualbox/com/interface/4.0.x/{network_adapter.rb → NetworkAdapter.rb} +0 -0
  69. data/lib/virtualbox/com/interface/4.0.x/{network_adapter_type.rb → NetworkAdapterType.rb} +0 -0
  70. data/lib/virtualbox/com/interface/4.0.x/{network_attachment_type.rb → NetworkAttachmentType.rb} +0 -0
  71. data/lib/virtualbox/com/interface/4.0.x/{parallel_port.rb → ParallelPort.rb} +0 -0
  72. data/lib/virtualbox/com/interface/4.0.x/{pci_device_attachment.rb → PciDeviceAttachment.rb} +0 -0
  73. data/lib/virtualbox/com/interface/4.0.x/{pointing_hid_type.rb → PointingHidType.rb} +0 -0
  74. data/lib/virtualbox/com/interface/4.0.x/{port_mode.rb → PortMode.rb} +0 -0
  75. data/lib/virtualbox/com/interface/4.0.x/{progress.rb → Progress.rb} +0 -0
  76. data/lib/virtualbox/com/interface/4.0.x/{serial_port.rb → SerialPort.rb} +0 -0
  77. data/lib/virtualbox/com/interface/4.0.x/{session.rb → Session.rb} +0 -0
  78. data/lib/virtualbox/com/interface/4.0.x/{session_state.rb → SessionState.rb} +0 -0
  79. data/lib/virtualbox/com/interface/4.0.x/{session_type.rb → SessionType.rb} +0 -0
  80. data/lib/virtualbox/com/interface/4.0.x/{shared_folder.rb → SharedFolder.rb} +0 -0
  81. data/lib/virtualbox/com/interface/4.0.x/{snapshot.rb → Snapshot.rb} +0 -0
  82. data/lib/virtualbox/com/interface/4.0.x/{storage_bus.rb → StorageBus.rb} +0 -0
  83. data/lib/virtualbox/com/interface/4.0.x/{storage_controller.rb → StorageController.rb} +0 -0
  84. data/lib/virtualbox/com/interface/4.0.x/{storage_controller_type.rb → StorageControllerType.rb} +0 -0
  85. data/lib/virtualbox/com/interface/4.0.x/{system_properties.rb → SystemProperties.rb} +0 -0
  86. data/lib/virtualbox/com/interface/4.0.x/{usb_controller.rb → USBController.rb} +0 -0
  87. data/lib/virtualbox/com/interface/4.0.x/{usb_device.rb → USBDevice.rb} +0 -0
  88. data/lib/virtualbox/com/interface/4.0.x/{usb_device_filter.rb → USBDeviceFilter.rb} +0 -0
  89. data/lib/virtualbox/com/interface/4.0.x/{usb_device_filter_action.rb → USBDeviceFilterAction.rb} +0 -0
  90. data/lib/virtualbox/com/interface/4.0.x/{usb_device_state.rb → USBDeviceState.rb} +0 -0
  91. data/lib/virtualbox/com/interface/4.0.x/{vrde_server.rb → VRDEServer.rb} +0 -0
  92. data/lib/virtualbox/com/interface/4.0.x/{virtualbox.rb → VirtualBox.rb} +1 -1
  93. data/lib/virtualbox/com/interface/4.0.x/{virtual_box_error_info.rb → VirtualBoxErrorInfo.rb} +3 -1
  94. data/lib/virtualbox/com/interface/4.0.x/{virtual_system_description.rb → VirtualSystemDescription.rb} +0 -0
  95. data/lib/virtualbox/com/interface/4.0.x/{virtual_system_description_type.rb → VirtualSystemDescriptionType.rb} +0 -0
  96. data/lib/virtualbox/com/interface/4.0.x/{virtual_system_description_value_type.rb → VirtualSystemDescriptionValueType.rb} +0 -0
  97. data/lib/virtualbox/com/interface/{3.2.x/access_mode.rb → 4.1.x/AccessMode.rb} +2 -2
  98. data/lib/virtualbox/com/interface/4.1.x/AdditionsFacility.rb +17 -0
  99. data/lib/virtualbox/com/interface/4.1.x/AdditionsFacilityClass.rb +17 -0
  100. data/lib/virtualbox/com/interface/4.1.x/AdditionsFacilityStatus.rb +19 -0
  101. data/lib/virtualbox/com/interface/4.1.x/AdditionsFacilityType.rb +17 -0
  102. data/lib/virtualbox/com/interface/4.1.x/AdditionsRunLevelType.rb +14 -0
  103. data/lib/virtualbox/com/interface/{3.2.x/appliance.rb → 4.1.x/Appliance.rb} +5 -4
  104. data/lib/virtualbox/com/interface/{3.1.x/audio_adapter.rb → 4.1.x/AudioAdapter.rb} +2 -2
  105. data/lib/virtualbox/com/interface/{3.1.x/audio_controller_type.rb → 4.1.x/AudioControllerType.rb} +2 -2
  106. data/lib/virtualbox/com/interface/{3.2.x/audio_driver_type.rb → 4.1.x/AudioDriverType.rb} +2 -2
  107. data/lib/virtualbox/com/interface/{3.1.x/vrdp_auth_type.rb → 4.1.x/AuthType.rb} +3 -3
  108. data/lib/virtualbox/com/interface/{3.1.x/bios_boot_menu_mode.rb → 4.1.x/BIOSBootMenuMode.rb} +2 -2
  109. data/lib/virtualbox/com/interface/{3.2.x/bios_settings.rb → 4.1.x/BIOSSettings.rb} +2 -2
  110. data/lib/virtualbox/com/interface/4.1.x/BandwidthControl.rb +18 -0
  111. data/lib/virtualbox/com/interface/4.1.x/BandwidthGroup.rb +16 -0
  112. data/lib/virtualbox/com/interface/4.1.x/BandwidthGroupType.rb +11 -0
  113. data/lib/virtualbox/com/interface/4.1.x/ChipsetType.rb +11 -0
  114. data/lib/virtualbox/com/interface/4.1.x/CleanupMode.rb +12 -0
  115. data/lib/virtualbox/com/interface/{3.2.x/clipboard_mode.rb → 4.1.x/ClipboardMode.rb} +2 -2
  116. data/lib/virtualbox/com/interface/4.1.x/CloneMode.rb +13 -0
  117. data/lib/virtualbox/com/interface/4.1.x/CloneOptions.rb +14 -0
  118. data/lib/virtualbox/com/interface/{3.1.x/console.rb → 4.1.x/Console.rb} +10 -7
  119. data/lib/virtualbox/com/interface/{3.2.x/cpu_property_type.rb → 4.1.x/CpuPropertyType.rb} +2 -2
  120. data/lib/virtualbox/com/interface/{3.1.x/dhcp_server.rb → 4.1.x/DHCPServer.rb} +2 -2
  121. data/lib/virtualbox/com/interface/4.1.x/DataType.rb +11 -0
  122. data/lib/virtualbox/com/interface/{3.1.x/device_type.rb → 4.1.x/DeviceType.rb} +2 -2
  123. data/lib/virtualbox/com/interface/4.1.x/DirectoryCreateFlag.rb +12 -0
  124. data/lib/virtualbox/com/interface/4.1.x/DirectoryOpenFlag.rb +11 -0
  125. data/lib/virtualbox/com/interface/{3.2.x/guest.rb → 4.1.x/EventSource.rb} +4 -4
  126. data/lib/virtualbox/com/interface/4.1.x/ExecuteProcessFlag.rb +15 -0
  127. data/lib/virtualbox/com/interface/4.1.x/ExecuteProcessStatus.rb +19 -0
  128. data/lib/virtualbox/com/interface/4.1.x/FaultToleranceState.rb +11 -0
  129. data/lib/virtualbox/com/interface/{3.1.x/firmware_type.rb → 4.1.x/FirmwareType.rb} +2 -2
  130. data/lib/virtualbox/com/interface/4.1.x/Guest.rb +36 -0
  131. data/lib/virtualbox/com/interface/4.1.x/GuestDirEntry.rb +15 -0
  132. data/lib/virtualbox/com/interface/4.1.x/GuestDirEntryType.rb +14 -0
  133. data/lib/virtualbox/com/interface/{3.2.x/guest_os_type.rb → 4.1.x/GuestOSType.rb} +2 -2
  134. data/lib/virtualbox/com/interface/{3.1.x/hw_virt_ex_property_type.rb → 4.1.x/HWVirtExPropertyType.rb} +4 -3
  135. data/lib/virtualbox/com/interface/{3.1.x/host.rb → 4.1.x/Host.rb} +8 -6
  136. data/lib/virtualbox/com/interface/{3.1.x/host_network_interface.rb → 4.1.x/HostNetworkInterface.rb} +2 -2
  137. data/lib/virtualbox/com/interface/{3.1.x/host_network_interface_medium_type.rb → 4.1.x/HostNetworkInterfaceMediumType.rb} +2 -2
  138. data/lib/virtualbox/com/interface/{3.2.x/host_network_interface_status.rb → 4.1.x/HostNetworkInterfaceStatus.rb} +2 -2
  139. data/lib/virtualbox/com/interface/{3.1.x/host_network_interface_type.rb → 4.1.x/HostNetworkInterfaceType.rb} +2 -2
  140. data/lib/virtualbox/com/interface/{3.1.x/host_usb_device.rb → 4.1.x/HostUSBDevice.rb} +4 -2
  141. data/lib/virtualbox/com/interface/{3.2.x/host_usb_device_filter.rb → 4.1.x/HostUSBDeviceFilter.rb} +4 -2
  142. data/lib/virtualbox/com/interface/4.1.x/ImportOptions.rb +12 -0
  143. data/lib/virtualbox/com/interface/{3.2.x/keyboard_hid_type.rb → 4.1.x/KeyboardHidType.rb} +2 -2
  144. data/lib/virtualbox/com/interface/4.1.x/LockType.rb +11 -0
  145. data/lib/virtualbox/com/interface/{3.2.x/machine.rb → 4.1.x/Machine.rb} +34 -15
  146. data/lib/virtualbox/com/interface/{3.1.x/machine_state.rb → 4.1.x/MachineState.rb} +1 -1
  147. data/lib/virtualbox/com/interface/{3.2.x/medium.rb → 4.1.x/Medium.rb} +5 -2
  148. data/lib/virtualbox/com/interface/{3.1.x/medium_attachment.rb → 4.1.x/MediumAttachment.rb} +6 -2
  149. data/lib/virtualbox/com/interface/{3.1.x/medium_format.rb → 4.1.x/MediumFormat.rb} +2 -2
  150. data/lib/virtualbox/com/interface/{3.1.x/medium_state.rb → 4.1.x/MediumState.rb} +2 -2
  151. data/lib/virtualbox/com/interface/{3.2.x/medium_type.rb → 4.1.x/MediumType.rb} +2 -2
  152. data/lib/virtualbox/com/interface/{3.1.x/medium_variant.rb → 4.1.x/MediumVariant.rb} +2 -2
  153. data/lib/virtualbox/com/interface/{3.2.x/nat_alias_mode.rb → 4.1.x/NATAliasMode.rb} +2 -2
  154. data/lib/virtualbox/com/interface/{3.2.x/nat_engine.rb → 4.1.x/NATEngine.rb} +2 -2
  155. data/lib/virtualbox/com/interface/{3.2.x/nat_protocol.rb → 4.1.x/NATProtocol.rb} +2 -2
  156. data/lib/virtualbox/com/interface/{3.1.x/nsiexception.rb → 4.1.x/NSIException.rb} +2 -2
  157. data/lib/virtualbox/com/interface/{3.1.x/nsisupports.rb → 4.1.x/NSISupports.rb} +4 -1
  158. data/lib/virtualbox/com/interface/{3.2.x/network_adapter.rb → 4.1.x/NetworkAdapter.rb} +11 -11
  159. data/lib/virtualbox/com/interface/4.1.x/NetworkAdapterPromiscModePolicy.rb +13 -0
  160. data/lib/virtualbox/com/interface/{3.1.x/network_adapter_type.rb → 4.1.x/NetworkAdapterType.rb} +2 -2
  161. data/lib/virtualbox/com/interface/{3.1.x/network_attachment_type.rb → 4.1.x/NetworkAttachmentType.rb} +3 -3
  162. data/lib/virtualbox/com/interface/{3.2.x/parallel_port.rb → 4.1.x/ParallelPort.rb} +2 -2
  163. data/lib/virtualbox/com/interface/4.1.x/PciDeviceAttachment.rb +16 -0
  164. data/lib/virtualbox/com/interface/{3.2.x/pointing_hid_type.rb → 4.1.x/PointingHidType.rb} +2 -2
  165. data/lib/virtualbox/com/interface/{3.1.x/port_mode.rb → 4.1.x/PortMode.rb} +1 -1
  166. data/lib/virtualbox/com/interface/4.1.x/ProcessOutputFlag.rb +12 -0
  167. data/lib/virtualbox/com/interface/{3.2.x/progress.rb → 4.1.x/Progress.rb} +3 -1
  168. data/lib/virtualbox/com/interface/{3.1.x/serial_port.rb → 4.1.x/SerialPort.rb} +2 -2
  169. data/lib/virtualbox/com/interface/{3.2.x/session.rb → 4.1.x/Session.rb} +2 -2
  170. data/lib/virtualbox/com/interface/{3.1.x/session_state.rb → 4.1.x/SessionState.rb} +2 -2
  171. data/lib/virtualbox/com/interface/{3.1.x/session_type.rb → 4.1.x/SessionType.rb} +3 -3
  172. data/lib/virtualbox/com/interface/4.1.x/SettingsVersion.rb +25 -0
  173. data/lib/virtualbox/com/interface/{3.1.x/shared_folder.rb → 4.1.x/SharedFolder.rb} +2 -2
  174. data/lib/virtualbox/com/interface/{3.1.x/snapshot.rb → 4.1.x/Snapshot.rb} +3 -2
  175. data/lib/virtualbox/com/interface/{3.2.x/storage_bus.rb → 4.1.x/StorageBus.rb} +2 -2
  176. data/lib/virtualbox/com/interface/{3.2.x/storage_controller.rb → 4.1.x/StorageController.rb} +3 -2
  177. data/lib/virtualbox/com/interface/{3.2.x/storage_controller_type.rb → 4.1.x/StorageControllerType.rb} +2 -2
  178. data/lib/virtualbox/com/interface/4.1.x/StorageDeviceChangedEvent.rb +14 -0
  179. data/lib/virtualbox/com/interface/{3.2.x/system_properties.rb → 4.1.x/SystemProperties.rb} +8 -6
  180. data/lib/virtualbox/com/interface/{3.2.x/usb_controller.rb → 4.1.x/USBController.rb} +2 -2
  181. data/lib/virtualbox/com/interface/{3.1.x/usb_device.rb → 4.1.x/USBDevice.rb} +2 -2
  182. data/lib/virtualbox/com/interface/{3.1.x/usb_device_filter.rb → 4.1.x/USBDeviceFilter.rb} +2 -2
  183. data/lib/virtualbox/com/interface/{3.2.x/usb_device_filter_action.rb → 4.1.x/USBDeviceFilterAction.rb} +2 -2
  184. data/lib/virtualbox/com/interface/{3.2.x/usb_device_state.rb → 4.1.x/USBDeviceState.rb} +2 -2
  185. data/lib/virtualbox/com/interface/4.1.x/VRDEServer.rb +23 -0
  186. data/lib/virtualbox/com/interface/{3.2.x/virtualbox.rb → 4.1.x/VirtualBox.rb} +13 -27
  187. data/lib/virtualbox/com/interface/{3.2.x/virtual_box_error_info.rb → 4.1.x/VirtualBoxErrorInfo.rb} +4 -2
  188. data/lib/virtualbox/com/interface/{3.2.x/virtual_system_description.rb → 4.1.x/VirtualSystemDescription.rb} +2 -2
  189. data/lib/virtualbox/com/interface/4.1.x/VirtualSystemDescriptionType.rb +34 -0
  190. data/lib/virtualbox/com/interface/{3.2.x/virtual_system_description_value_type.rb → 4.1.x/VirtualSystemDescriptionValueType.rb} +1 -1
  191. data/lib/virtualbox/com/util.rb +30 -8
  192. data/lib/virtualbox/exceptions.rb +14 -13
  193. data/lib/virtualbox/extra_data.rb +2 -0
  194. data/lib/virtualbox/hard_drive.rb +1 -1
  195. data/lib/virtualbox/host_network_interface.rb +1 -1
  196. data/lib/virtualbox/lib.rb +2 -0
  197. data/lib/virtualbox/medium.rb +2 -0
  198. data/lib/virtualbox/network_adapter.rb +6 -22
  199. data/lib/virtualbox/proxies.rb +6 -0
  200. data/lib/virtualbox/system_properties.rb +0 -1
  201. data/lib/virtualbox/version.rb +28 -30
  202. data/lib/virtualbox/vm.rb +75 -55
  203. data/test/test_helper.rb +2 -5
  204. data/test/virtualbox/abstract_model/attributable_test.rb +22 -0
  205. data/test/virtualbox/abstract_model/relatable_test.rb +21 -0
  206. data/test/virtualbox/abstract_model_test.rb +1 -8
  207. data/test/virtualbox/com/abstract_enum_test.rb +1 -1
  208. data/test/virtualbox/com/ffi/interface_test.rb +9 -6
  209. data/test/virtualbox/com/ffi/util_test.rb +0 -11
  210. data/test/virtualbox/com/implementer/ffi_test.rb +7 -21
  211. data/test/virtualbox/com/util_test.rb +0 -10
  212. data/test/virtualbox/host_network_interface_test.rb +1 -1
  213. data/test/virtualbox/network_adapter_test.rb +6 -32
  214. data/test/virtualbox/version_test.rb +1 -5
  215. data/test/virtualbox/vm_test.rb +11 -17
  216. data/virtualbox.gemspec +4 -2
  217. metadata +224 -250
  218. data/lib/virtualbox/com/ffi/interfaces.rb +0 -64
  219. data/lib/virtualbox/com/interface/3.1.x/access_mode.rb +0 -11
  220. data/lib/virtualbox/com/interface/3.1.x/appliance.rb +0 -22
  221. data/lib/virtualbox/com/interface/3.1.x/audio_driver_type.rb +0 -11
  222. data/lib/virtualbox/com/interface/3.1.x/bios_settings.rb +0 -21
  223. data/lib/virtualbox/com/interface/3.1.x/clipboard_mode.rb +0 -11
  224. data/lib/virtualbox/com/interface/3.1.x/cpu_property_type.rb +0 -11
  225. data/lib/virtualbox/com/interface/3.1.x/guest_os_type.rb +0 -23
  226. data/lib/virtualbox/com/interface/3.1.x/host_network_interface_status.rb +0 -11
  227. data/lib/virtualbox/com/interface/3.1.x/host_usb_device_filter.rb +0 -13
  228. data/lib/virtualbox/com/interface/3.1.x/machine.rb +0 -105
  229. data/lib/virtualbox/com/interface/3.1.x/medium.rb +0 -50
  230. data/lib/virtualbox/com/interface/3.1.x/medium_type.rb +0 -11
  231. data/lib/virtualbox/com/interface/3.1.x/network_adapter.rb +0 -30
  232. data/lib/virtualbox/com/interface/3.1.x/parallel_port.rb +0 -17
  233. data/lib/virtualbox/com/interface/3.1.x/progress.rb +0 -63
  234. data/lib/virtualbox/com/interface/3.1.x/session.rb +0 -18
  235. data/lib/virtualbox/com/interface/3.1.x/storage_bus.rb +0 -11
  236. data/lib/virtualbox/com/interface/3.1.x/storage_controller.rb +0 -23
  237. data/lib/virtualbox/com/interface/3.1.x/storage_controller_type.rb +0 -11
  238. data/lib/virtualbox/com/interface/3.1.x/system_properties.rb +0 -37
  239. data/lib/virtualbox/com/interface/3.1.x/usb_controller.rb +0 -20
  240. data/lib/virtualbox/com/interface/3.1.x/usb_device_filter_action.rb +0 -11
  241. data/lib/virtualbox/com/interface/3.1.x/usb_device_state.rb +0 -11
  242. data/lib/virtualbox/com/interface/3.1.x/virtual_box_error_info.rb +0 -17
  243. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description.rb +0 -19
  244. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_type.rb +0 -14
  245. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_value_type.rb +0 -11
  246. data/lib/virtualbox/com/interface/3.1.x/virtualbox.rb +0 -67
  247. data/lib/virtualbox/com/interface/3.1.x/vrdp_server.rb +0 -19
  248. data/lib/virtualbox/com/interface/3.2.x/audio_adapter.rb +0 -15
  249. data/lib/virtualbox/com/interface/3.2.x/audio_controller_type.rb +0 -11
  250. data/lib/virtualbox/com/interface/3.2.x/bios_boot_menu_mode.rb +0 -11
  251. data/lib/virtualbox/com/interface/3.2.x/console.rb +0 -50
  252. data/lib/virtualbox/com/interface/3.2.x/device_type.rb +0 -11
  253. data/lib/virtualbox/com/interface/3.2.x/dhcp_server.rb +0 -22
  254. data/lib/virtualbox/com/interface/3.2.x/firmware_type.rb +0 -11
  255. data/lib/virtualbox/com/interface/3.2.x/host.rb +0 -43
  256. data/lib/virtualbox/com/interface/3.2.x/host_network_interface.rb +0 -30
  257. data/lib/virtualbox/com/interface/3.2.x/host_network_interface_medium_type.rb +0 -11
  258. data/lib/virtualbox/com/interface/3.2.x/host_network_interface_type.rb +0 -11
  259. data/lib/virtualbox/com/interface/3.2.x/host_usb_device.rb +0 -13
  260. data/lib/virtualbox/com/interface/3.2.x/hw_virt_ex_property_type.rb +0 -11
  261. data/lib/virtualbox/com/interface/3.2.x/machine_state.rb +0 -14
  262. data/lib/virtualbox/com/interface/3.2.x/medium_attachment.rb +0 -18
  263. data/lib/virtualbox/com/interface/3.2.x/medium_format.rb +0 -18
  264. data/lib/virtualbox/com/interface/3.2.x/medium_state.rb +0 -11
  265. data/lib/virtualbox/com/interface/3.2.x/medium_variant.rb +0 -11
  266. data/lib/virtualbox/com/interface/3.2.x/network_adapter_type.rb +0 -11
  267. data/lib/virtualbox/com/interface/3.2.x/network_attachment_type.rb +0 -11
  268. data/lib/virtualbox/com/interface/3.2.x/nsiexception.rb +0 -23
  269. data/lib/virtualbox/com/interface/3.2.x/nsisupports.rb +0 -15
  270. data/lib/virtualbox/com/interface/3.2.x/port_mode.rb +0 -11
  271. data/lib/virtualbox/com/interface/3.2.x/serial_port.rb +0 -19
  272. data/lib/virtualbox/com/interface/3.2.x/session_state.rb +0 -11
  273. data/lib/virtualbox/com/interface/3.2.x/session_type.rb +0 -11
  274. data/lib/virtualbox/com/interface/3.2.x/shared_folder.rb +0 -17
  275. data/lib/virtualbox/com/interface/3.2.x/snapshot.rb +0 -20
  276. data/lib/virtualbox/com/interface/3.2.x/usb_device.rb +0 -24
  277. data/lib/virtualbox/com/interface/3.2.x/usb_device_filter.rb +0 -23
  278. data/lib/virtualbox/com/interface/3.2.x/virtual_system_description_type.rb +0 -14
  279. data/lib/virtualbox/com/interface/3.2.x/vrdp_auth_type.rb +0 -11
  280. data/lib/virtualbox/com/interface/3.2.x/vrdp_server.rb +0 -21
  281. data/lib/virtualbox/ext/glob_loader.rb +0 -35
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class MachineState < AbstractEnum
6
6
  map [:null, :powered_off, :saved, :teleported, :aborted, :running, :paused, :stuck,
7
7
  :teleporting, :live_snapshotting, :starting, :stopping, :saving, :restoring,
@@ -1,13 +1,14 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class Medium < AbstractInterface
6
6
  IID = "aa8167ba-df72-4738-b740-9b84377ba9f1"
7
7
 
8
8
  property :id, WSTRING, :readonly => true
9
9
  property :description, WSTRING
10
10
  property :state, :MediumState, :readonly => true
11
+ property :variant, T_UINT64, :readonly => true
11
12
  property :location, WSTRING
12
13
  property :name, WSTRING, :readonly => true
13
14
  property :device_type, :DeviceType, :readonly => true
@@ -16,6 +17,7 @@ module VirtualBox
16
17
  property :format, WSTRING, :readonly => true
17
18
  property :medium_format, :MediumFormat, :readonly => true
18
19
  property :type, :MediumType
20
+ property :allowed_types, [:MediumType], :readonly => true
19
21
  property :parent, :Medium, :readonly => true
20
22
  property :children, [:Medium], :readonly => true
21
23
  property :base, :Medium, :readonly => true
@@ -25,6 +27,7 @@ module VirtualBox
25
27
  property :last_access_error, WSTRING, :readonly => true
26
28
  property :machine_ids, [WSTRING], :readonly => true
27
29
 
30
+ function :set_ids, nil, [T_BOOL, WSTRING, T_BOOL, WSTRING]
28
31
  function :refresh_state, :MediumState, []
29
32
  function :get_snapshot_ids, [WSTRING], [WSTRING]
30
33
  function :lock_read, :MediumState, []
@@ -48,4 +51,4 @@ module VirtualBox
48
51
  end
49
52
  end
50
53
  end
51
- end
54
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class MediumAttachment < AbstractInterface
6
6
  IID = "e58eb3eb-8627-428b-bdf8-34487c848de5"
7
7
 
@@ -11,8 +11,12 @@ module VirtualBox
11
11
  property :device, T_INT32, :readonly => true
12
12
  property :type, :DeviceType, :readonly => true
13
13
  property :passthrough, T_BOOL, :readonly => true
14
+ property :temporary_eject, T_BOOL, :readonly => true
15
+ property :is_ejected, T_BOOL, :readonly => true
16
+ property :non_rotational, T_BOOL, :readonly => true
17
+ property :bandwidth_group, :BandwidthGroup, :readonly => true
14
18
  end
15
19
  end
16
20
  end
17
21
  end
18
- end
22
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class MediumFormat < AbstractInterface
6
6
  IID = "89f52554-d469-4799-9fad-1705e86a08b1"
7
7
 
@@ -15,4 +15,4 @@ module VirtualBox
15
15
  end
16
16
  end
17
17
  end
18
- end
18
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class MediumState < AbstractEnum
6
6
  map [:not_created, :created, :locked_read, :locked_write, :inaccessible, :creating, :deleting]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class MediumType < AbstractEnum
6
6
  map [:normal, :immutable, :write_through, :shareable]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class MediumVariant < AbstractEnum
6
6
  map [:standard, :vmdk_split_2g, :vmdk_stream_optimized, :vmdk_esx, :fixed, :diff]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class NATAliasMode < AbstractEnum
6
6
  map [:null, :alias_log, :alias_proxy_only, :null, :alias_use_same_ports]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class NATEngine < AbstractInterface
6
6
  IID = "4b286616-eb03-11de-b0fb-1701eca42246"
7
7
 
@@ -24,4 +24,4 @@ module VirtualBox
24
24
  end
25
25
  end
26
26
  end
27
- end
27
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class NATProtocol < AbstractEnum
6
6
  map [:udp, :tcp]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class NSIException < AbstractInterface
6
6
  IID = "f3a8d3b4-c424-4edc-8bf6-8974c983ba78"
7
7
 
@@ -20,4 +20,4 @@ module VirtualBox
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -1,10 +1,13 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  # This interface is actually only used with the FFI implementer but
6
6
  # is created here to allow easier usage with the FFI abstractions.
7
7
  class NSISupports < AbstractInterface
8
+ # This has no parent
9
+ parent nil
10
+
8
11
  function :QueryInterface, :pointer, [:pointer]
9
12
  function :AddRef, nil, []
10
13
  function :Release, nil, []
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class NetworkAdapter < AbstractInterface
6
6
  IID = "65607a27-2b73-4d43-b4cc-0ba2c817fbde"
7
7
 
@@ -9,26 +9,26 @@ module VirtualBox
9
9
  property :slot, T_UINT32, :readonly => true
10
10
  property :enabled, T_BOOL
11
11
  property :mac_address, WSTRING
12
- property :attachment_type, :NetworkAttachmentType, :readonly => true
13
- property :host_interface, WSTRING
12
+ property :attachment_type, :NetworkAttachmentType
13
+ property :bridged_interface, WSTRING
14
+ property :host_only_interface, WSTRING
14
15
  property :internal_network, WSTRING
15
16
  property :nat_network, WSTRING
16
- property :vde_network, WSTRING
17
+ property :generic_driver, WSTRING
17
18
  property :cable_connected, T_BOOL
18
19
  property :line_speed, T_UINT32
20
+ property :promisc_mode_policy, :NetworkAdapterPromiscModePolicy
19
21
  property :trace_enabled, T_BOOL
20
22
  property :trace_file, WSTRING
21
23
  property :nat_driver, :NATEngine, :readonly => true
22
24
  property :boot_priority, T_UINT32
25
+ property :bandwidth_group, :BandwidthGroup
23
26
 
24
- function :attach_to_nat, nil, []
25
- function :attach_to_bridged_interface, nil, []
26
- function :attach_to_internal_network, nil, []
27
- function :attach_to_host_only_interface, nil, []
28
- function :attach_to_vde, nil, []
29
- function :detach, nil, []
27
+ function :get_property, WSTRING, [WSTRING]
28
+ function :set_property, nil, [WSTRING, WSTRING]
29
+ function :get_properties, [WSTRING], [WSTRING, [:out, WSTRING]]
30
30
  end
31
31
  end
32
32
  end
33
33
  end
34
- end
34
+ end
@@ -0,0 +1,13 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_4_1_X
5
+ class NetworkAdapterPromiscModePolicty < AbstractEnum
6
+ map :deny => 1,
7
+ :allow_network => 2,
8
+ :allow_all => 3
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class NetworkAdapterType < AbstractEnum
6
6
  map [:null, :Am79C970A, :Am79C973, :I82540EM, :I82543GC, :I82545EM, :Virtio]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class NetworkAttachmentType < AbstractEnum
6
- map [:null, :nat, :bridged, :internal, :host_only]
6
+ map [:null, :nat, :bridged, :internal, :host_only, :generic]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class ParallelPort < AbstractInterface
6
6
  IID = "0c925f06-dd10-4b77-8de8-294d738c3214"
7
7
 
@@ -14,4 +14,4 @@ module VirtualBox
14
14
  end
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -0,0 +1,16 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_4_1_X
5
+ class PciDeviceAttachment < AbstractInterface
6
+ IID_STR = "91F33D6F-E621-4F70-A77E-15F0E3C714D5"
7
+
8
+ property :name, WSTRING, :readonly => true
9
+ property :is_physical_device, T_BOOL, :readonly => true
10
+ property :host_address, T_UINT32, :readonly => true
11
+ property :guest_address, T_UINT32, :readonly => true
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class PointingHidType < AbstractEnum
6
6
  map [:null, :none, :ps2_mouse, :usb_mouse, :usb_tablet, :combo_mouse]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class PortMode < AbstractEnum
6
6
  map [:disconnected, :host_pipe, :host_device, :raw_file]
7
7
  end
@@ -0,0 +1,12 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_4_1_X
5
+ class ProcessOutputFlag < AbstractEnum
6
+ map :none => 0,
7
+ :stderr => 1
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class Progress < AbstractInterface
6
6
  IID = "856aa038-853f-42e2-acf7-6e7b02dbe294"
7
7
 
@@ -19,12 +19,14 @@ module VirtualBox
19
19
  property :operation, T_UINT32, :readonly => true
20
20
  property :operation_description, WSTRING, :readonly => true
21
21
  property :operation_percent, T_UINT32, :readonly => true
22
+ property :operation_weight, T_UINT32, :readonly => true
22
23
  property :timeout, T_UINT32
23
24
 
24
25
  function :set_current_operation_progress, nil, [T_UINT32]
25
26
  function :set_next_operation, nil, [WSTRING, T_UINT32]
26
27
  function :wait_for_completion, nil, [T_INT32]
27
28
  function :wait_for_operation_completion, nil, [T_UINT32, T_INT32]
29
+ function :wait_for_async_progress_completion, nil, [:Progress]
28
30
  function :cancel, nil, []
29
31
 
30
32
  # This method blocks the execution while the operations represented
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class SerialPort < AbstractInterface
6
6
  IID = "937f6970-5103-4745-b78e-d28dcf1479a8"
7
7
 
@@ -16,4 +16,4 @@ module VirtualBox
16
16
  end
17
17
  end
18
18
  end
19
- end
19
+ end
@@ -1,7 +1,7 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_2_X
4
+ module Version_4_1_X
5
5
  class Session < AbstractInterface
6
6
  IID_STR = "12F4DCDB-12B2-4EC1-B7CD-DDD9F6C5BF4D"
7
7
 
@@ -10,7 +10,7 @@ module VirtualBox
10
10
  property :machine, :Machine, :readonly => true
11
11
  property :console, :Console, :readonly => true
12
12
 
13
- function :close, nil, []
13
+ function :unlock_machine, nil, []
14
14
  end
15
15
  end
16
16
  end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class SessionState < AbstractEnum
6
6
  map [:null, :closed, :open, :spawning, :closing]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,11 +1,11 @@
1
1
  module VirtualBox
2
2
  module COM
3
3
  module Interface
4
- module Version_3_1_X
4
+ module Version_4_1_X
5
5
  class SessionType < AbstractEnum
6
- map [:null, :direct, :remote, :existing]
6
+ map [:null, :write_lock, :remote, :shared]
7
7
  end
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end