bbrowning-virtualbox 0.7.6.dev

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/.gitignore +8 -0
  2. data/.yardopts +3 -0
  3. data/Gemfile +16 -0
  4. data/LICENSE +19 -0
  5. data/Rakefile +33 -0
  6. data/Readme.md +70 -0
  7. data/docs/GettingStarted.md +196 -0
  8. data/docs/WhatsNew.md +12 -0
  9. data/features/README.md +33 -0
  10. data/features/global.feature +19 -0
  11. data/features/global_extra_data.feature +27 -0
  12. data/features/step_definitions/abstract_model_steps.rb +39 -0
  13. data/features/step_definitions/extra_data_steps.rb +36 -0
  14. data/features/step_definitions/global_steps.rb +29 -0
  15. data/features/step_definitions/nat_engine_steps.rb +76 -0
  16. data/features/step_definitions/network_adapter_steps.rb +38 -0
  17. data/features/step_definitions/shared_folder_steps.rb +76 -0
  18. data/features/step_definitions/snapshot_steps.rb +74 -0
  19. data/features/step_definitions/storage_controller_steps.rb +16 -0
  20. data/features/step_definitions/virtualbox_steps.rb +17 -0
  21. data/features/step_definitions/vm_steps.rb +50 -0
  22. data/features/support/env.rb +61 -0
  23. data/features/support/helpers.rb +38 -0
  24. data/features/support/hooks.rb +30 -0
  25. data/features/support/ordered_hash.rb +49 -0
  26. data/features/support/vboxmanage.rb +191 -0
  27. data/features/version.feature +16 -0
  28. data/features/vm.feature +13 -0
  29. data/features/vm_bios.feature +29 -0
  30. data/features/vm_cpu.feature +29 -0
  31. data/features/vm_extra_data.feature +35 -0
  32. data/features/vm_hw_virt.feature +29 -0
  33. data/features/vm_nat_engine.feature +57 -0
  34. data/features/vm_network_adapters.feature +27 -0
  35. data/features/vm_shared_folders.feature +42 -0
  36. data/features/vm_snapshots.feature +29 -0
  37. data/features/vm_storage_controllers.feature +11 -0
  38. data/lib/virtualbox.rb +11 -0
  39. data/lib/virtualbox/abstract_model.rb +281 -0
  40. data/lib/virtualbox/abstract_model/attributable.rb +290 -0
  41. data/lib/virtualbox/abstract_model/dirty.rb +177 -0
  42. data/lib/virtualbox/abstract_model/interface_attributes.rb +98 -0
  43. data/lib/virtualbox/abstract_model/relatable.rb +332 -0
  44. data/lib/virtualbox/abstract_model/validatable.rb +167 -0
  45. data/lib/virtualbox/abstract_model/version_matcher.rb +35 -0
  46. data/lib/virtualbox/appliance.rb +62 -0
  47. data/lib/virtualbox/audio_adapter.rb +52 -0
  48. data/lib/virtualbox/bios.rb +50 -0
  49. data/lib/virtualbox/com.rb +23 -0
  50. data/lib/virtualbox/com/abstract_enum.rb +43 -0
  51. data/lib/virtualbox/com/abstract_implementer.rb +45 -0
  52. data/lib/virtualbox/com/abstract_interface.rb +167 -0
  53. data/lib/virtualbox/com/base_interface.rb +38 -0
  54. data/lib/virtualbox/com/ffi/interface.rb +150 -0
  55. data/lib/virtualbox/com/ffi/interfaces.rb +54 -0
  56. data/lib/virtualbox/com/ffi/util.rb +119 -0
  57. data/lib/virtualbox/com/ffi/vboxxpcomc.rb +31 -0
  58. data/lib/virtualbox/com/ffi_interface.rb +96 -0
  59. data/lib/virtualbox/com/implementer/base.rb +59 -0
  60. data/lib/virtualbox/com/implementer/ffi.rb +361 -0
  61. data/lib/virtualbox/com/implementer/mscom.rb +175 -0
  62. data/lib/virtualbox/com/implementer/nil.rb +10 -0
  63. data/lib/virtualbox/com/interface/3.1.x/access_mode.rb +11 -0
  64. data/lib/virtualbox/com/interface/3.1.x/appliance.rb +22 -0
  65. data/lib/virtualbox/com/interface/3.1.x/audio_adapter.rb +15 -0
  66. data/lib/virtualbox/com/interface/3.1.x/audio_controller_type.rb +11 -0
  67. data/lib/virtualbox/com/interface/3.1.x/audio_driver_type.rb +11 -0
  68. data/lib/virtualbox/com/interface/3.1.x/bios_boot_menu_mode.rb +11 -0
  69. data/lib/virtualbox/com/interface/3.1.x/bios_settings.rb +21 -0
  70. data/lib/virtualbox/com/interface/3.1.x/clipboard_mode.rb +11 -0
  71. data/lib/virtualbox/com/interface/3.1.x/console.rb +50 -0
  72. data/lib/virtualbox/com/interface/3.1.x/cpu_property_type.rb +11 -0
  73. data/lib/virtualbox/com/interface/3.1.x/device_type.rb +11 -0
  74. data/lib/virtualbox/com/interface/3.1.x/dhcp_server.rb +22 -0
  75. data/lib/virtualbox/com/interface/3.1.x/firmware_type.rb +11 -0
  76. data/lib/virtualbox/com/interface/3.1.x/guest_os_type.rb +23 -0
  77. data/lib/virtualbox/com/interface/3.1.x/host.rb +42 -0
  78. data/lib/virtualbox/com/interface/3.1.x/host_network_interface.rb +30 -0
  79. data/lib/virtualbox/com/interface/3.1.x/host_network_interface_medium_type.rb +11 -0
  80. data/lib/virtualbox/com/interface/3.1.x/host_network_interface_status.rb +11 -0
  81. data/lib/virtualbox/com/interface/3.1.x/host_network_interface_type.rb +11 -0
  82. data/lib/virtualbox/com/interface/3.1.x/host_usb_device.rb +13 -0
  83. data/lib/virtualbox/com/interface/3.1.x/host_usb_device_filter.rb +13 -0
  84. data/lib/virtualbox/com/interface/3.1.x/hw_virt_ex_property_type.rb +11 -0
  85. data/lib/virtualbox/com/interface/3.1.x/machine.rb +105 -0
  86. data/lib/virtualbox/com/interface/3.1.x/machine_state.rb +14 -0
  87. data/lib/virtualbox/com/interface/3.1.x/medium.rb +50 -0
  88. data/lib/virtualbox/com/interface/3.1.x/medium_attachment.rb +18 -0
  89. data/lib/virtualbox/com/interface/3.1.x/medium_format.rb +18 -0
  90. data/lib/virtualbox/com/interface/3.1.x/medium_state.rb +11 -0
  91. data/lib/virtualbox/com/interface/3.1.x/medium_type.rb +11 -0
  92. data/lib/virtualbox/com/interface/3.1.x/medium_variant.rb +11 -0
  93. data/lib/virtualbox/com/interface/3.1.x/network_adapter.rb +30 -0
  94. data/lib/virtualbox/com/interface/3.1.x/network_adapter_type.rb +11 -0
  95. data/lib/virtualbox/com/interface/3.1.x/network_attachment_type.rb +11 -0
  96. data/lib/virtualbox/com/interface/3.1.x/nsiexception.rb +23 -0
  97. data/lib/virtualbox/com/interface/3.1.x/nsisupports.rb +15 -0
  98. data/lib/virtualbox/com/interface/3.1.x/parallel_port.rb +17 -0
  99. data/lib/virtualbox/com/interface/3.1.x/port_mode.rb +11 -0
  100. data/lib/virtualbox/com/interface/3.1.x/progress.rb +63 -0
  101. data/lib/virtualbox/com/interface/3.1.x/serial_port.rb +19 -0
  102. data/lib/virtualbox/com/interface/3.1.x/session.rb +18 -0
  103. data/lib/virtualbox/com/interface/3.1.x/session_state.rb +11 -0
  104. data/lib/virtualbox/com/interface/3.1.x/session_type.rb +11 -0
  105. data/lib/virtualbox/com/interface/3.1.x/shared_folder.rb +17 -0
  106. data/lib/virtualbox/com/interface/3.1.x/snapshot.rb +20 -0
  107. data/lib/virtualbox/com/interface/3.1.x/storage_bus.rb +11 -0
  108. data/lib/virtualbox/com/interface/3.1.x/storage_controller.rb +23 -0
  109. data/lib/virtualbox/com/interface/3.1.x/storage_controller_type.rb +11 -0
  110. data/lib/virtualbox/com/interface/3.1.x/system_properties.rb +37 -0
  111. data/lib/virtualbox/com/interface/3.1.x/usb_controller.rb +20 -0
  112. data/lib/virtualbox/com/interface/3.1.x/usb_device.rb +24 -0
  113. data/lib/virtualbox/com/interface/3.1.x/usb_device_filter.rb +23 -0
  114. data/lib/virtualbox/com/interface/3.1.x/usb_device_filter_action.rb +11 -0
  115. data/lib/virtualbox/com/interface/3.1.x/usb_device_state.rb +11 -0
  116. data/lib/virtualbox/com/interface/3.1.x/virtual_box_error_info.rb +17 -0
  117. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description.rb +19 -0
  118. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_type.rb +14 -0
  119. data/lib/virtualbox/com/interface/3.1.x/virtual_system_description_value_type.rb +11 -0
  120. data/lib/virtualbox/com/interface/3.1.x/virtualbox.rb +67 -0
  121. data/lib/virtualbox/com/interface/3.1.x/vrdp_auth_type.rb +11 -0
  122. data/lib/virtualbox/com/interface/3.1.x/vrdp_server.rb +19 -0
  123. data/lib/virtualbox/com/interface/3.2.x/access_mode.rb +11 -0
  124. data/lib/virtualbox/com/interface/3.2.x/appliance.rb +22 -0
  125. data/lib/virtualbox/com/interface/3.2.x/audio_adapter.rb +15 -0
  126. data/lib/virtualbox/com/interface/3.2.x/audio_controller_type.rb +11 -0
  127. data/lib/virtualbox/com/interface/3.2.x/audio_driver_type.rb +11 -0
  128. data/lib/virtualbox/com/interface/3.2.x/bios_boot_menu_mode.rb +11 -0
  129. data/lib/virtualbox/com/interface/3.2.x/bios_settings.rb +21 -0
  130. data/lib/virtualbox/com/interface/3.2.x/clipboard_mode.rb +11 -0
  131. data/lib/virtualbox/com/interface/3.2.x/console.rb +50 -0
  132. data/lib/virtualbox/com/interface/3.2.x/cpu_property_type.rb +11 -0
  133. data/lib/virtualbox/com/interface/3.2.x/device_type.rb +11 -0
  134. data/lib/virtualbox/com/interface/3.2.x/dhcp_server.rb +22 -0
  135. data/lib/virtualbox/com/interface/3.2.x/firmware_type.rb +11 -0
  136. data/lib/virtualbox/com/interface/3.2.x/guest.rb +13 -0
  137. data/lib/virtualbox/com/interface/3.2.x/guest_os_type.rb +33 -0
  138. data/lib/virtualbox/com/interface/3.2.x/host.rb +43 -0
  139. data/lib/virtualbox/com/interface/3.2.x/host_network_interface.rb +30 -0
  140. data/lib/virtualbox/com/interface/3.2.x/host_network_interface_medium_type.rb +11 -0
  141. data/lib/virtualbox/com/interface/3.2.x/host_network_interface_status.rb +11 -0
  142. data/lib/virtualbox/com/interface/3.2.x/host_network_interface_type.rb +11 -0
  143. data/lib/virtualbox/com/interface/3.2.x/host_usb_device.rb +13 -0
  144. data/lib/virtualbox/com/interface/3.2.x/host_usb_device_filter.rb +13 -0
  145. data/lib/virtualbox/com/interface/3.2.x/hw_virt_ex_property_type.rb +11 -0
  146. data/lib/virtualbox/com/interface/3.2.x/keyboard_hid_type.rb +11 -0
  147. data/lib/virtualbox/com/interface/3.2.x/machine.rb +118 -0
  148. data/lib/virtualbox/com/interface/3.2.x/machine_state.rb +14 -0
  149. data/lib/virtualbox/com/interface/3.2.x/medium.rb +51 -0
  150. data/lib/virtualbox/com/interface/3.2.x/medium_attachment.rb +18 -0
  151. data/lib/virtualbox/com/interface/3.2.x/medium_format.rb +18 -0
  152. data/lib/virtualbox/com/interface/3.2.x/medium_state.rb +11 -0
  153. data/lib/virtualbox/com/interface/3.2.x/medium_type.rb +11 -0
  154. data/lib/virtualbox/com/interface/3.2.x/medium_variant.rb +11 -0
  155. data/lib/virtualbox/com/interface/3.2.x/nat_alias_mode.rb +11 -0
  156. data/lib/virtualbox/com/interface/3.2.x/nat_engine.rb +27 -0
  157. data/lib/virtualbox/com/interface/3.2.x/nat_protocol.rb +11 -0
  158. data/lib/virtualbox/com/interface/3.2.x/network_adapter.rb +34 -0
  159. data/lib/virtualbox/com/interface/3.2.x/network_adapter_type.rb +11 -0
  160. data/lib/virtualbox/com/interface/3.2.x/network_attachment_type.rb +11 -0
  161. data/lib/virtualbox/com/interface/3.2.x/nsiexception.rb +23 -0
  162. data/lib/virtualbox/com/interface/3.2.x/nsisupports.rb +15 -0
  163. data/lib/virtualbox/com/interface/3.2.x/parallel_port.rb +17 -0
  164. data/lib/virtualbox/com/interface/3.2.x/pointing_hid_type.rb +11 -0
  165. data/lib/virtualbox/com/interface/3.2.x/port_mode.rb +11 -0
  166. data/lib/virtualbox/com/interface/3.2.x/progress.rb +63 -0
  167. data/lib/virtualbox/com/interface/3.2.x/serial_port.rb +19 -0
  168. data/lib/virtualbox/com/interface/3.2.x/session.rb +18 -0
  169. data/lib/virtualbox/com/interface/3.2.x/session_state.rb +11 -0
  170. data/lib/virtualbox/com/interface/3.2.x/session_type.rb +11 -0
  171. data/lib/virtualbox/com/interface/3.2.x/shared_folder.rb +17 -0
  172. data/lib/virtualbox/com/interface/3.2.x/snapshot.rb +20 -0
  173. data/lib/virtualbox/com/interface/3.2.x/storage_bus.rb +11 -0
  174. data/lib/virtualbox/com/interface/3.2.x/storage_controller.rb +24 -0
  175. data/lib/virtualbox/com/interface/3.2.x/storage_controller_type.rb +11 -0
  176. data/lib/virtualbox/com/interface/3.2.x/system_properties.rb +42 -0
  177. data/lib/virtualbox/com/interface/3.2.x/usb_controller.rb +21 -0
  178. data/lib/virtualbox/com/interface/3.2.x/usb_device.rb +24 -0
  179. data/lib/virtualbox/com/interface/3.2.x/usb_device_filter.rb +23 -0
  180. data/lib/virtualbox/com/interface/3.2.x/usb_device_filter_action.rb +11 -0
  181. data/lib/virtualbox/com/interface/3.2.x/usb_device_state.rb +11 -0
  182. data/lib/virtualbox/com/interface/3.2.x/virtual_box_error_info.rb +17 -0
  183. data/lib/virtualbox/com/interface/3.2.x/virtual_system_description.rb +19 -0
  184. data/lib/virtualbox/com/interface/3.2.x/virtual_system_description_type.rb +14 -0
  185. data/lib/virtualbox/com/interface/3.2.x/virtual_system_description_value_type.rb +11 -0
  186. data/lib/virtualbox/com/interface/3.2.x/virtualbox.rb +67 -0
  187. data/lib/virtualbox/com/interface/3.2.x/vrdp_auth_type.rb +11 -0
  188. data/lib/virtualbox/com/interface/3.2.x/vrdp_server.rb +21 -0
  189. data/lib/virtualbox/com/mscom_interface.rb +44 -0
  190. data/lib/virtualbox/com/nil_interface.rb +7 -0
  191. data/lib/virtualbox/com/util.rb +32 -0
  192. data/lib/virtualbox/cpu.rb +61 -0
  193. data/lib/virtualbox/dhcp_server.rb +89 -0
  194. data/lib/virtualbox/dvd.rb +27 -0
  195. data/lib/virtualbox/exceptions.rb +39 -0
  196. data/lib/virtualbox/ext/byte_normalizer.rb +17 -0
  197. data/lib/virtualbox/ext/glob_loader.rb +22 -0
  198. data/lib/virtualbox/ext/logger.rb +38 -0
  199. data/lib/virtualbox/ext/platform.rb +27 -0
  200. data/lib/virtualbox/ext/subclass_listing.rb +24 -0
  201. data/lib/virtualbox/extra_data.rb +127 -0
  202. data/lib/virtualbox/forwarded_port.rb +222 -0
  203. data/lib/virtualbox/global.rb +102 -0
  204. data/lib/virtualbox/guest_property.rb +116 -0
  205. data/lib/virtualbox/hard_drive.rb +246 -0
  206. data/lib/virtualbox/host.rb +71 -0
  207. data/lib/virtualbox/host_network_interface.rb +137 -0
  208. data/lib/virtualbox/hw_virtualization.rb +63 -0
  209. data/lib/virtualbox/lib.rb +84 -0
  210. data/lib/virtualbox/media.rb +20 -0
  211. data/lib/virtualbox/medium.rb +145 -0
  212. data/lib/virtualbox/medium_attachment.rb +61 -0
  213. data/lib/virtualbox/nat_engine.rb +71 -0
  214. data/lib/virtualbox/nat_forwarded_port.rb +171 -0
  215. data/lib/virtualbox/network_adapter.rb +166 -0
  216. data/lib/virtualbox/proxies/collection.rb +57 -0
  217. data/lib/virtualbox/shared_folder.rb +220 -0
  218. data/lib/virtualbox/snapshot.rb +185 -0
  219. data/lib/virtualbox/storage_controller.rb +160 -0
  220. data/lib/virtualbox/system_properties.rb +74 -0
  221. data/lib/virtualbox/usb_controller.rb +59 -0
  222. data/lib/virtualbox/usb_device_filter.rb +74 -0
  223. data/lib/virtualbox/version.rb +36 -0
  224. data/lib/virtualbox/virtual_system_description.rb +47 -0
  225. data/lib/virtualbox/vm.rb +684 -0
  226. data/lib/virtualbox/vrdp_server.rb +59 -0
  227. data/test/test_helper.rb +18 -0
  228. data/test/virtualbox/abstract_model/attributable_test.rb +269 -0
  229. data/test/virtualbox/abstract_model/dirty_test.rb +83 -0
  230. data/test/virtualbox/abstract_model/interface_attributes_test.rb +194 -0
  231. data/test/virtualbox/abstract_model/relatable_test.rb +348 -0
  232. data/test/virtualbox/abstract_model/validatable_test.rb +308 -0
  233. data/test/virtualbox/abstract_model/version_matcher_test.rb +41 -0
  234. data/test/virtualbox/abstract_model_test.rb +462 -0
  235. data/test/virtualbox/appliance_test.rb +159 -0
  236. data/test/virtualbox/audio_adapter_test.rb +83 -0
  237. data/test/virtualbox/bios_test.rb +83 -0
  238. data/test/virtualbox/com/abstract_enum_test.rb +49 -0
  239. data/test/virtualbox/com/abstract_implementer_test.rb +40 -0
  240. data/test/virtualbox/com/abstract_interface_test.rb +140 -0
  241. data/test/virtualbox/com/ffi/interface_test.rb +249 -0
  242. data/test/virtualbox/com/ffi/util_test.rb +108 -0
  243. data/test/virtualbox/com/ffi_interface_test.rb +42 -0
  244. data/test/virtualbox/com/implementer/base_test.rb +38 -0
  245. data/test/virtualbox/com/implementer/ffi_test.rb +527 -0
  246. data/test/virtualbox/com/implementer/mscom_test.rb +247 -0
  247. data/test/virtualbox/com/mscom_interface_test.rb +17 -0
  248. data/test/virtualbox/com/util_test.rb +17 -0
  249. data/test/virtualbox/cpu_test.rb +103 -0
  250. data/test/virtualbox/dhcp_server_test.rb +165 -0
  251. data/test/virtualbox/dvd_test.rb +28 -0
  252. data/test/virtualbox/ext/byte_normalizer_test.rb +34 -0
  253. data/test/virtualbox/ext/platform_test.rb +50 -0
  254. data/test/virtualbox/ext/subclass_listing_test.rb +25 -0
  255. data/test/virtualbox/extra_data_test.rb +155 -0
  256. data/test/virtualbox/forwarded_port_test.rb +286 -0
  257. data/test/virtualbox/global_test.rb +46 -0
  258. data/test/virtualbox/hard_drive_test.rb +141 -0
  259. data/test/virtualbox/host_network_interface_test.rb +254 -0
  260. data/test/virtualbox/host_test.rb +94 -0
  261. data/test/virtualbox/hw_virtualization_test.rb +103 -0
  262. data/test/virtualbox/lib_test.rb +93 -0
  263. data/test/virtualbox/medium_attachment_test.rb +147 -0
  264. data/test/virtualbox/medium_test.rb +192 -0
  265. data/test/virtualbox/nat_engine_test.rb +106 -0
  266. data/test/virtualbox/nat_forwarded_port_test.rb +222 -0
  267. data/test/virtualbox/network_adapter_test.rb +191 -0
  268. data/test/virtualbox/proxies/collection_test.rb +102 -0
  269. data/test/virtualbox/shared_folder_test.rb +219 -0
  270. data/test/virtualbox/snapshot_test.rb +231 -0
  271. data/test/virtualbox/storage_controller_test.rb +197 -0
  272. data/test/virtualbox/system_properties_test.rb +87 -0
  273. data/test/virtualbox/usb_controller_test.rb +112 -0
  274. data/test/virtualbox/usb_device_filter_test.rb +93 -0
  275. data/test/virtualbox/version_test.rb +59 -0
  276. data/test/virtualbox/virtual_system_description_test.rb +61 -0
  277. data/test/virtualbox/vm_test.rb +637 -0
  278. data/test/virtualbox/vrdp_server_test.rb +83 -0
  279. data/test/virtualbox_test.rb +11 -0
  280. data/virtualbox.gemspec +25 -0
  281. metadata +397 -0
@@ -0,0 +1,10 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Implementer
4
+ # A "nil" implementer which doesn't actually do anything. This is used in
5
+ # tests.
6
+ class Nil < AbstractImplementer
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_2_X
5
+ class AccessMode < AbstractEnum
6
+ map [:null, :access_mode_read_only, :access_mode_read_write]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class Appliance < AbstractInterface
6
+ IID = "e3ba9ab9-ac2c-4266-8bd2-91c4bf721ceb"
7
+
8
+ property :path, WSTRING, :readonly => true
9
+ property :disks, [WSTRING], :readonly => true
10
+ property :virtual_system_descriptions, [:VirtualSystemDescription], :readonly => true
11
+
12
+ function :read, :Progress, [WSTRING]
13
+ function :interpret, nil, []
14
+ function :import_machines, :Progress, []
15
+ function :create_vfs_explorer, :VFSExplorer, [WSTRING]
16
+ function :write, :Progress, [WSTRING, WSTRING]
17
+ function :get_warnings, [WSTRING], []
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class AudioAdapter < AbstractInterface
6
+ IID = "921873db-5f3f-4b69-91f9-7be9e535a2cb"
7
+
8
+ property :enabled, T_BOOL
9
+ property :audio_controller, :AudioControllerType
10
+ property :audio_driver, :AudioDriverType
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class AudioControllerType < AbstractEnum
6
+ map [:ac97, :sb16]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class AudioDriverType < AbstractEnum
6
+ map [:null, :winmm, :oss, :alsa, :direct_sound, :core_audio, :mmpm, :pulse, :sol_audio]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class BIOSBootMenuMode < AbstractEnum
6
+ map [:disabled, :menu_only, :message_and_menu]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class BIOSSettings < AbstractInterface
6
+ IID = "38b54279-dc35-4f5e-a431-835b867c6b5e"
7
+
8
+ property :logo_fade_in, T_BOOL
9
+ property :logo_fade_out, T_BOOL
10
+ property :logo_display_time, T_UINT32
11
+ property :logo_image_path, WSTRING
12
+ property :boot_menu_mode, :BIOSBootMenuMode
13
+ property :acpi_enabled, T_BOOL
14
+ property :io_apic_enabled, T_BOOL
15
+ property :time_offset, T_INT64
16
+ property :pxe_debug_enabled, T_BOOL
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class ClipboardMode < AbstractEnum
6
+ map [:disabled, :host_to_guest, :guest_to_host, :bidirectional]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,50 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class Console < AbstractInterface
6
+ IID = "6375231a-c17c-464b-92cb-ae9e128d71c3"
7
+
8
+ property :machine, :Machine, :readonly => true
9
+ property :state, :MachineState, :readonly => true
10
+ property :guest, :Guest, :readonly => true
11
+ property :keyboard, :Keyboard, :readonly => true
12
+ property :mouse, :Mouse, :readonly => true
13
+ property :display, :Display, :readonly => true
14
+ property :debugger, :MachineDebugger, :readonly => true
15
+ property :usb_devices, [:USBDevice], :readonly => true
16
+ property :remote_usb_devices, [:HostUSBDevice], :readonly => true
17
+ property :shared_folders, [:SharedFolder], :readonly => true
18
+ property :remote_display_info, :RemoteDisplayInfo, :readonly => true
19
+
20
+ function :power_up, :Progress, []
21
+ function :power_up_paused, :Progress, []
22
+ function :power_down, :Progress, []
23
+ function :reset, nil, []
24
+ function :pause, nil, []
25
+ function :resume, nil, []
26
+ function :power_button, nil, []
27
+ function :sleep_button, nil, []
28
+ function :get_power_button_handled, T_BOOL, []
29
+ function :get_guest_entered_acpi_mode, T_BOOL, []
30
+ function :save_state, :Progress, []
31
+ function :adopt_saved_state, nil, [WSTRING]
32
+ function :forget_saved_state, nil, [T_BOOL]
33
+ function :get_device_activity, :DeviceActivity, [:DeviceType]
34
+ function :attach_usb_device, nil, [WSTRING]
35
+ function :detach_usb_device, :USBDevice, [WSTRING]
36
+ function :find_usb_device_by_address, :USBDevice, [WSTRING]
37
+ function :find_usb_device_by_id, :USBDevice, [WSTRING]
38
+ function :create_shared_folder, nil, [WSTRING, WSTRING, T_BOOL]
39
+ function :remove_shared_folder, nil, [WSTRING]
40
+ function :take_snapshot, :Progress, [WSTRING, WSTRING]
41
+ function :delete_snapshot, :Progress, [WSTRING]
42
+ function :restore_snapshot, :Progress, [:Snapshot]
43
+ function :teleport, :Progress, [WSTRING, T_UINT32, WSTRING, T_UINT32]
44
+ function :register_callback, nil, [:ConsoleCallback]
45
+ function :unregister_callback, nil, [:ConsoleCallback]
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class CpuPropertyType < AbstractEnum
6
+ map [:null, :pae, :synthetic]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class DeviceType < AbstractEnum
6
+ map [:null, :floppy, :dvd, :hard_disk, :network, :usb, :shared_folder]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class DHCPServer < AbstractInterface
6
+ IID = "6cfe387c-74fb-4ca7-bff6-973bec8af7a3"
7
+
8
+ property :enabled, T_BOOL
9
+ property :ip_address, WSTRING, :readonly => true
10
+ property :network_mask, WSTRING, :readonly => true
11
+ property :network_name, WSTRING, :readonly => true
12
+ property :lower_ip, WSTRING, :readonly => true
13
+ property :upper_ip, WSTRING, :readonly => true
14
+
15
+ function :set_configuration, nil, [WSTRING, WSTRING, WSTRING, WSTRING]
16
+ function :start, nil, [WSTRING, WSTRING, WSTRING]
17
+ function :stop, nil, []
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class FirmwareType < AbstractEnum
6
+ map [:bios, :efi, :efi32, :efi64, :efidual]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class GuestOSType < AbstractInterface
6
+ IID = "cfe9e64c-4430-435b-9e7c-e3d8e417bd58"
7
+
8
+ property :family_id, WSTRING, :readonly => true
9
+ property :family_description, WSTRING, :readonly => true
10
+ property :id, WSTRING, :readonly => true
11
+ property :description, WSTRING, :readonly => true
12
+ property :is_64_bit, T_BOOL, :readonly => true
13
+ property :recommended_io_apic, T_BOOL, :readonly => true
14
+ property :recommended_virt_ex, T_BOOL, :readonly => true
15
+ property :recommended_ram, T_UINT32, :readonly => true
16
+ property :recommended_vram, T_UINT32, :readonly => true
17
+ property :recommended_hdd, T_UINT32, :readonly => true
18
+ property :adapter_type, :NetworkAdapterType, :readonly => true
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,42 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class Host < AbstractInterface
6
+ IID_STR = "e380cbfc-ae65-4fa6-899e-45ded6b3132a"
7
+
8
+ property :dvd_drives, [:Medium], :readonly => true
9
+ property :floppy_drives, [:Medium], :readonly => true
10
+ property :usb_devices, [:HostUSBDevice], :readonly => true
11
+ property :usb_device_filters, [:HostUSBDeviceFilter], :readonly => true
12
+ property :network_interfaces, [:HostNetworkInterface], :readonly => true
13
+ property :processor_count, T_ULONG, :readonly => true
14
+ property :processor_online_count, T_ULONG, :readonly => true
15
+ property :memory_size, T_ULONG, :readonly => true
16
+ property :memory_available, T_ULONG, :readonly => true
17
+ property :operating_system, WSTRING, :readonly => true
18
+ property :os_version, WSTRING, :readonly => true
19
+ property :utc_time, T_INT64, :readonly => true
20
+ property :acceleration_3d_available, T_BOOL, :readonly => true
21
+
22
+ function :get_processor_speed, T_ULONG, [T_UINT32]
23
+ function :get_processor_feature, T_BOOL, [T_UINT32] # TODO ENUM
24
+ function :get_processor_description, WSTRING, [T_UINT32]
25
+ function :get_processor_cpu_id_leaf, nil, [T_UINT32, T_UINT32, T_UINT32, [:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32]]
26
+ function :create_host_only_network_interface, :Progress, [[:out, :HostNetworkInterface]]
27
+ function :remove_host_only_network_interface, :Progress, [WSTRING]
28
+ function :create_usb_device_filter, :HostUSBDeviceFilter, [WSTRING]
29
+ function :insert_usb_device_filter, nil, [T_UINT32, :HostUSBDeviceFilter]
30
+ function :remove_usb_device_filter, nil, [T_UINT32]
31
+ function :find_host_dvd_drive, :Medium, [WSTRING]
32
+ function :find_host_floppy_drive, :Medium, [WSTRING]
33
+ function :find_host_network_interface_by_name, :HostNetworkInterface, [WSTRING]
34
+ function :find_host_network_interface_by_id, :HostNetworkInterface, [WSTRING]
35
+ function :find_host_network_interfaces_of_type, [:HostNetworkInterface], [:HostNetworkInterfaceType]
36
+ function :find_usb_device_by_id, :HostUSBDevice, [WSTRING]
37
+ function :find_usb_device_by_address, :HostUSBDevice, [WSTRING]
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,30 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostNetworkInterface < AbstractInterface
6
+ IID = "ce6fae58-7642-4102-b5db-c9005c2320a8"
7
+
8
+ property :name, WSTRING, :readonly => true
9
+ property :id, WSTRING, :readonly => true
10
+ property :network_name, WSTRING, :readonly => true
11
+ property :dhcp_enabled, T_BOOL, :readonly => true
12
+ property :ip_address, WSTRING, :readonly => true
13
+ property :network_mask, WSTRING, :readonly => true
14
+ property :ip_v6_supported, T_BOOL, :readonly => true
15
+ property :ip_v6_address, WSTRING, :readonly => true
16
+ property :ip_v6_network_mask_prefix_length, T_UINT32, :readonly => true
17
+ property :hardware_address, WSTRING, :readonly => true
18
+ property :medium_type, :HostNetworkInterfaceMediumType, :readonly => true
19
+ property :status, :HostNetworkInterfaceStatus, :readonly => true
20
+ property :interface_type, :HostNetworkInterfaceType, :readonly => true
21
+
22
+ function :enable_static_ip_config, nil, [WSTRING, WSTRING]
23
+ function :enable_static_ip_config_v6, nil, [WSTRING, T_UINT32]
24
+ function :enable_dynamic_ip_config, nil, []
25
+ function :dhcp_rediscover, nil, []
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostNetworkInterfaceMediumType < AbstractEnum
6
+ map [:unknown, :ethernet, :ppp, :slip]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostNetworkInterfaceStatus < AbstractEnum
6
+ map [:unknown, :up, :down]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostNetworkInterfaceType < AbstractEnum
6
+ map [:null, :bridged, :host_only]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostUSBDevice < AbstractInterface
6
+ IID = "173b4b44-d268-4334-a00d-b6521c9a740a"
7
+
8
+ property :state, :USBDeviceState, :readonly => true
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HostUSBDeviceFilter < AbstractInterface
6
+ IID = "4cc70246-d74a-400f-8222-3900489c0374"
7
+
8
+ property :action, :USBDeviceFilterAction
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class HWVirtExPropertyType < AbstractEnum
6
+ map [:null, :enabled, :exclusive, :vpid, :nested_paging]
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,105 @@
1
+ module VirtualBox
2
+ module COM
3
+ module Interface
4
+ module Version_3_1_X
5
+ class Machine < AbstractInterface
6
+ IID_STR = "99404f50-dd10-40d3-889b-dd2f79f1e95e"
7
+
8
+ property :parent, :VirtualBox, :readonly => true
9
+ property :accessible, T_BOOL, :readonly => true
10
+ property :access_error, :VirtualBoxErrorInfo, :readonly => true
11
+ property :name, WSTRING
12
+ property :description, WSTRING
13
+ property :id, WSTRING, :readonly => true
14
+ property :os_type_id, WSTRING
15
+ property :hardware_version, WSTRING
16
+ property :hardware_uuid, WSTRING
17
+ property :cpu_count, T_UINT32
18
+ property :memory_size, T_UINT32
19
+ property :memory_balloon_size, T_UINT32
20
+ property :statistics_update_interval, T_UINT32
21
+ property :vram_size, T_UINT32
22
+ property :accelerate_3d_enabled, T_BOOL
23
+ property :accelerate_2d_video_enabled, T_BOOL
24
+ property :monitor_count, T_UINT32
25
+ property :bios_settings, :BIOSSettings, :readonly => true
26
+ property :firmware_type, :FirmwareType
27
+ property :snapshot_folder, WSTRING
28
+ property :vrdp_server, :VRDPServer, :readonly => true
29
+ property :medium_attachments, [:MediumAttachment], :readonly => true
30
+ property :usb_controller, :USBController, :readonly => true
31
+ property :audio_adapter, :AudioAdapter, :readonly => true
32
+ property :storage_controllers, [:StorageController], :readonly => true
33
+ property :settings_file_path, WSTRING, :readonly => true
34
+ property :settings_modified, T_BOOL, :readonly => true
35
+ property :session_state, :SessionState, :readonly => true
36
+ property :session_type, WSTRING, :readonly => true
37
+ property :session_pid, T_UINT32, :readonly => true
38
+ property :state, :MachineState, :readonly => true
39
+ property :last_state_change, T_INT64, :readonly => true
40
+ property :state_file_path, WSTRING, :readonly => true
41
+ property :log_folder, WSTRING, :readonly => true
42
+ property :current_snapshot, :Snapshot, :readonly => true
43
+ property :snapshot_count, T_UINT32, :readonly => true
44
+ property :current_state_modified, T_BOOL, :readonly => true
45
+ property :shared_folders, [:SharedFolder], :readonly => true
46
+ property :clipboard_mode, :ClipboardMode
47
+ property :guest_property_notification_patterns, WSTRING
48
+ property :teleporter_enabled, T_BOOL
49
+ property :teleporter_port, T_UINT32
50
+ property :teleporter_address, WSTRING
51
+ property :teleporter_password, WSTRING
52
+
53
+ function :set_boot_order, nil, [T_UINT32, :DeviceType]
54
+ function :get_boot_order, :DeviceType, [T_UINT32]
55
+ function :attach_device, nil, [WSTRING, T_INT32, T_INT32, :DeviceType, WSTRING]
56
+ function :detach_device, nil, [WSTRING, T_INT32, T_INT32]
57
+ function :passthrough_device, nil, [WSTRING, T_INT32, T_INT32, T_BOOL]
58
+ function :mount_medium, nil, [WSTRING, T_INT32, T_INT32, WSTRING, T_BOOL]
59
+ function :get_medium, :Medium, [WSTRING, T_INT32, T_INT32]
60
+ function :get_medium_attachments_of_controller, [:MediumAttachments], [WSTRING]
61
+ function :get_medium_attachment, :MediumAttachment, [WSTRING, T_INT32, T_INT32]
62
+ function :get_network_adapter, :NetworkAdapter, [T_UINT32]
63
+ function :add_storage_controller, :StorageController, [WSTRING, :StorageBus]
64
+ function :get_storage_controller_by_name, :StorageController, [WSTRING]
65
+ function :get_storage_controller_by_instance, :StorageController, [T_UINT32]
66
+ function :remove_storage_controller, nil, [WSTRING]
67
+ function :get_serial_port, :SerialPort, [T_UINT32]
68
+ function :get_parallel_port, :ParallelPort, [T_UINT32]
69
+ function :get_extra_data_keys, [WSTRING], []
70
+ function :get_extra_data, WSTRING, [WSTRING]
71
+ function :set_extra_data, nil, [WSTRING, WSTRING]
72
+ function :get_cpu_property, T_BOOL, [:CpuPropertyType]
73
+ function :set_cpu_property, nil, [:CpuPropertyType, T_BOOL]
74
+ function :get_cpu_id_leaf, nil, [T_UINT32, [:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32]]
75
+ function :set_cpu_id_leaf, nil, [T_UINT32, T_UINT32, T_UINT32, T_UINT32, T_UINT32]
76
+ function :remove_cpu_id_leaf, nil, [T_UINT32]
77
+ function :remove_all_cpu_id_leafs, nil, []
78
+ function :get_hw_virt_ex_property, T_BOOL, [:HWVirtExPropertyType]
79
+ function :set_hw_virt_ex_property, nil, [:HWVirtExPropertyType, T_BOOL]
80
+ function :save_settings, nil, []
81
+ function :discard_settings, nil, []
82
+ function :delete_settings, nil, []
83
+ function :export, :VirtualSystemDescription, [:Appliance]
84
+ function :get_snapshot, :Snapshot, [WSTRING]
85
+ function :find_snapshot, :Snapshot, [WSTRING]
86
+ function :set_current_snapshot, nil, [WSTRING]
87
+ function :create_shared_folder, nil, [WSTRING, WSTRING, T_BOOL]
88
+ function :remove_shared_folder, nil, [WSTRING]
89
+ function :can_show_console_window, T_BOOL, []
90
+ function :show_console_window, T_UINT64, []
91
+ function :get_guest_property, nil, [WSTRING, [:out, WSTRING], [:out, T_UINT64], [:out, WSTRING]]
92
+ function :get_guest_property_value, WSTRING, [WSTRING]
93
+ function :get_guest_property_timestamp, T_UINT64, [WSTRING]
94
+ function :set_guest_property, nil, [WSTRING, WSTRING, WSTRING]
95
+ function :set_guest_property_value, nil, [WSTRING, WSTRING]
96
+ function :enumerate_guest_properties, nil, [WSTRING, [:out, [WSTRING]], [:out, [WSTRING]], [:out, [T_UINT64]], [:out, [WSTRING]]]
97
+ function :query_saved_thumbnail_size, nil, [[:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32]]
98
+ function :read_saved_thumbnail_to_array, [T_UINT8], [T_BOOL, [:out, T_UINT32], [:out, T_UINT32]]
99
+ function :query_saved_screenshot_png_size, nil, [[:out, T_UINT32], [:out, T_UINT32], [:out, T_UINT32]]
100
+ function :read_saved_png_screenshot_to_array, [T_UINT8], [[:out, T_UINT32], [:out, T_UINT32]]
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end