virtualbox-ws 0.0.1 → 0.0.2

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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +2 -0
  5. data/LICENSE.md +5 -0
  6. data/README.md +57 -22
  7. data/lib/core_ext/string.rb +5 -0
  8. data/lib/virtualbox-ws.rb +2 -6
  9. data/lib/virtualbox/base.rb +31 -0
  10. data/lib/virtualbox/classes/additions_facility.rb +28 -0
  11. data/lib/virtualbox/classes/appliance.rb +51 -0
  12. data/lib/virtualbox/classes/audio_adapter.rb +33 -0
  13. data/lib/virtualbox/classes/bandwidth_control.rb +36 -0
  14. data/lib/virtualbox/classes/bandwidth_group.rb +29 -0
  15. data/lib/virtualbox/classes/bios_settings.rb +81 -0
  16. data/lib/virtualbox/classes/console.rb +201 -0
  17. data/lib/virtualbox/classes/dhcp_server.rb +52 -0
  18. data/lib/virtualbox/classes/directory.rb +27 -0
  19. data/lib/virtualbox/classes/display.rb +47 -0
  20. data/lib/virtualbox/classes/event.rb +32 -0
  21. data/lib/virtualbox/classes/event_listener.rb +14 -0
  22. data/lib/virtualbox/classes/event_source.rb +62 -0
  23. data/lib/virtualbox/classes/events/additions_state_changed_event.rb +7 -0
  24. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +13 -0
  25. data/lib/virtualbox/classes/events/can_show_window_event.rb +7 -0
  26. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +12 -0
  27. data/lib/virtualbox/classes/events/cpu_changed_event.rb +16 -0
  28. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +12 -0
  29. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +12 -0
  30. data/lib/virtualbox/classes/events/event_source_changed_event.rb +17 -0
  31. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +20 -0
  32. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +20 -0
  33. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +12 -0
  34. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +32 -0
  35. data/lib/virtualbox/classes/events/guest_mouse_event.rb +32 -0
  36. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +20 -0
  37. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +24 -0
  38. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +20 -0
  39. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +12 -0
  40. data/lib/virtualbox/classes/events/machine_event.rb +12 -0
  41. data/lib/virtualbox/classes/events/machine_registered_event.rb +12 -0
  42. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +12 -0
  43. data/lib/virtualbox/classes/events/medium_changed_event.rb +13 -0
  44. data/lib/virtualbox/classes/events/medium_registered_event.rb +20 -0
  45. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +20 -0
  46. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +36 -0
  47. data/lib/virtualbox/classes/events/nat_redirect_event.rb +40 -0
  48. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +13 -0
  49. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +13 -0
  50. data/lib/virtualbox/classes/events/reusable_event.rb +18 -0
  51. data/lib/virtualbox/classes/events/runtime_error_event.rb +20 -0
  52. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +13 -0
  53. data/lib/virtualbox/classes/events/session_state_changed_event.rb +12 -0
  54. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +12 -0
  55. data/lib/virtualbox/classes/events/show_window_event.rb +12 -0
  56. data/lib/virtualbox/classes/events/snapshot_changed_event.rb +7 -0
  57. data/lib/virtualbox/classes/events/snapshot_deleted_event.rb +7 -0
  58. data/lib/virtualbox/classes/events/snapshot_event.rb +12 -0
  59. data/lib/virtualbox/classes/events/snapshot_taken_event.rb +7 -0
  60. data/lib/virtualbox/classes/events/state_changed_event.rb +12 -0
  61. data/lib/virtualbox/classes/events/storage_controller_changed_event.rb +7 -0
  62. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +16 -0
  63. data/lib/virtualbox/classes/events/usb_controller_changed_event.rb +7 -0
  64. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +17 -0
  65. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +12 -0
  66. data/lib/virtualbox/classes/events/veto_event.rb +21 -0
  67. data/lib/virtualbox/classes/events/vrde_server_changed_event.rb +7 -0
  68. data/lib/virtualbox/classes/events/vrde_server_info_changed_event.rb +7 -0
  69. data/lib/virtualbox/classes/file.rb +73 -0
  70. data/lib/virtualbox/classes/fs_obj_info.rb +84 -0
  71. data/lib/virtualbox/classes/guest.rb +134 -0
  72. data/lib/virtualbox/classes/guest_directory.rb +7 -0
  73. data/lib/virtualbox/classes/guest_file.rb +7 -0
  74. data/lib/virtualbox/classes/guest_fs_obj_info.rb +7 -0
  75. data/lib/virtualbox/classes/guest_process.rb +7 -0
  76. data/lib/virtualbox/classes/guest_session.rb +232 -0
  77. data/lib/virtualbox/classes/host.rb +172 -0
  78. data/lib/virtualbox/classes/host_network_interface.rb +78 -0
  79. data/lib/virtualbox/classes/host_usb_device.rb +12 -0
  80. data/lib/virtualbox/classes/host_usb_device_filter.rb +16 -0
  81. data/lib/virtualbox/classes/keyboard.rb +29 -0
  82. data/lib/virtualbox/classes/machine.rb +922 -0
  83. data/lib/virtualbox/classes/managed_object_ref.rb +15 -0
  84. data/lib/virtualbox/classes/medium.rb +224 -0
  85. data/lib/virtualbox/classes/medium_format.rb +30 -0
  86. data/lib/virtualbox/classes/mouse.rb +37 -0
  87. data/lib/virtualbox/classes/nat_engine.rb +107 -0
  88. data/lib/virtualbox/classes/network_adapter.rb +171 -0
  89. data/lib/virtualbox/classes/parallel_port.rb +44 -0
  90. data/lib/virtualbox/classes/performance_collector.rb +51 -0
  91. data/lib/virtualbox/classes/performance_metric.rb +40 -0
  92. data/lib/virtualbox/classes/process.rb +67 -0
  93. data/lib/virtualbox/classes/progress.rb +111 -0
  94. data/lib/virtualbox/classes/serial_port.rb +60 -0
  95. data/lib/virtualbox/classes/session.rb +32 -0
  96. data/lib/virtualbox/classes/shared_folder.rb +32 -0
  97. data/lib/virtualbox/classes/snapshot.rb +44 -0
  98. data/lib/virtualbox/classes/storage_controller.rb +60 -0
  99. data/lib/virtualbox/classes/system_properties.rb +209 -0
  100. data/lib/virtualbox/classes/usb_controller.rb +58 -0
  101. data/lib/virtualbox/classes/usb_device.rb +56 -0
  102. data/lib/virtualbox/classes/usb_device_filter.rb +96 -0
  103. data/lib/virtualbox/classes/vfs_explorer.rb +51 -0
  104. data/lib/virtualbox/classes/virtual_box.rb +242 -0
  105. data/lib/virtualbox/classes/virtual_box_error_info.rb +29 -0
  106. data/lib/virtualbox/classes/virtual_system_description.rb +38 -0
  107. data/lib/virtualbox/classes/vrde_server.rb +80 -0
  108. data/lib/virtualbox/classes/vrde_server_info.rb +68 -0
  109. data/lib/virtualbox/classes/websession_manager.rb +33 -0
  110. data/lib/virtualbox/connection.rb +56 -31
  111. data/virtualbox-ws.gemspec +5 -4
  112. metadata +122 -20
  113. data/lib/virtualbox/classes/i_bios_settings.rb +0 -7
  114. data/lib/virtualbox/classes/i_console.rb +0 -16
  115. data/lib/virtualbox/classes/i_host.rb +0 -15
  116. data/lib/virtualbox/classes/i_host_network_interface.rb +0 -9
  117. data/lib/virtualbox/classes/i_machine.rb +0 -40
  118. data/lib/virtualbox/classes/i_managed_object_ref.rb +0 -6
  119. data/lib/virtualbox/classes/i_medium.rb +0 -13
  120. data/lib/virtualbox/classes/i_medium_format.rb +0 -6
  121. data/lib/virtualbox/classes/i_network_adapter.rb +0 -12
  122. data/lib/virtualbox/classes/i_session.rb +0 -6
  123. data/lib/virtualbox/classes/i_system_properties.rb +0 -18
  124. data/lib/virtualbox/classes/i_virtualbox.rb +0 -17
  125. data/lib/virtualbox/classes/i_web_session_manager.rb +0 -21
  126. data/lib/virtualbox/core_ext/string.rb +0 -9
  127. data/lib/virtualbox/enumerations.rb +0 -6
  128. data/lib/virtualbox/i_base.rb +0 -51
@@ -1,6 +0,0 @@
1
- module VirtualBoxWS
2
- class IMediumFormat < IBase
3
- vb_attr_reader :id, :name, :capabilities
4
- vb_method :describe_file_extensions, :describe_properties
5
- end
6
- end
@@ -1,12 +0,0 @@
1
- module VirtualBoxWS
2
- class INetworkAdapter < IBase
3
-
4
- vb_attr_reader :slot, :nat_engine
5
-
6
- vb_attr_accessor :adapter_type, :enabled, :mac_address, :attachment_type, :bridged_interface, :host_only_interface,
7
- :internal_network, :nat_network, :generic_driver, :cable_connected, :line_speed,
8
- :promisc_mode_policy, :trace_enabled, :trace_file, :boot_proirity, :bandwidth_group
9
-
10
- vb_method :get_properties, :get_property, :set_property
11
- end
12
- end
@@ -1,6 +0,0 @@
1
- module VirtualBoxWS
2
- class ISession < IBase
3
- vb_attr_reader :state, :type, :machine, :console
4
- vb_method :unlock_machine
5
- end
6
- end
@@ -1,18 +0,0 @@
1
- module VirtualBoxWS
2
- class ISystemProperties < IBase
3
-
4
- vb_attr_reader :min_guest_ram, :max_guest_ram, :min_guest_vram, :max_guest_vram, :min_guest_cpu_count,
5
- :max_guest_cpu_count, :max_guest_monitors, :info_vd_size, :serial_port_count, :parallel_port_count,
6
- :max_boot_position, :meduim_formats, :default_audio_driver
7
-
8
- vb_attr_accessor :default_machine_folder, :default_hard_disk_format, :free_disk_space_warning,
9
- :free_disk_space_percent_warning, :free_disk_space_error, :free_disk_space_percent_error,
10
- :vrde_auth_library, :web_service_auth_library, :default_vrde_ext_pack, :log_history_count,
11
- :autostart_database_path, :default_additional_iso
12
-
13
- vb_method :get_default_io_cache_setting_for_storage_controller, :get_device_types_for_storage_bus,
14
- :get_max_devices_per_port_for_storage_bus, :get_max_instances_of_storage_bus, :get_max_network_adapters,
15
- :get_max_network_adapters_of_type, :get_max_port_count_for_storage_bus,
16
- :get_min_port_count_for_storage_bus
17
- end
18
- end
@@ -1,17 +0,0 @@
1
- module VirtualBoxWS
2
- class IVirtualBox < IBase
3
-
4
- vb_attr_reader :version, :version_normalized, :revision, :package_type, :api_version, :home_folder,
5
- :settings_file_path, :host, :system_properties, :machines, :machine_groups, :hard_disks, :dvd_images,
6
- :floppy_images, :progress_operations, :guest_os_types, :shared_folders, :performance_collector,
7
- :dhcp_servers, :event_source, :internal_networks, :generic_network_drivers
8
-
9
- vb_method :check_firmware_present, :compose_machine_filename, :create_appliance, :create_dhcp_server,
10
- :create_hard_disk, :create_machine, :create_shared_folder, :find_dhcp_server_by_network_name,
11
- :find_machine, :get_extra_data, :get_extra_data_keys, :get_guest_os_types, :get_machine_states,
12
- :get_machines_by_groups, :open_machine, :open_medium, :register_machine, :remove_dhcp_server,
13
- :remove_shared_folder, :set_extra_data, :set_settings_secret
14
- end
15
- end
16
-
17
-
@@ -1,21 +0,0 @@
1
- module VirtualBoxWS
2
- class IWebsessionManager < IBase
3
-
4
- vb_method :get_session_object
5
-
6
- def initialize(obj_ref=nil)
7
- super
8
- end
9
-
10
- def logon(args={})
11
- key = VirtualBoxWS.send_request(:i_websession_manager_logon, args)
12
- @_this[:ref_i_virtual_box] = key
13
- end
14
-
15
- def logoff
16
- VirtualBoxWS.send_request(:i_websession_manager_logoff, @_this)
17
- @_this = {}
18
- nil
19
- end
20
- end
21
- end
@@ -1,9 +0,0 @@
1
- class String
2
- def to_underscore
3
- self.gsub(/::/, '/').
4
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
5
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
6
- tr("-", "_").
7
- downcase
8
- end
9
- end
@@ -1,6 +0,0 @@
1
- module VirtualBoxWS
2
- DEVICE_TYPE = %w(Null Floppy DVD HardDisk Network USB SharedFolder)
3
- NETWORK_ADAPTER_TYPE = %w(Null Am79C970A Am79C973 I82540EM I82543GC I82545EM Virtio)
4
- NETWORK_ATTACHMENT_TYPE = %w(Null NAT Bridged Internal HostOnly Generic)
5
- STORAGE_BUS = %w(Null IDE SATA SCSI Floppy SAS)
6
- end
@@ -1,51 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/core_ext/string')
2
-
3
-
4
- module VirtualBoxWS
5
- class IBase
6
- def initialize(obj_ref)
7
- @_this = {}
8
- @_this[:_this] = obj_ref unless obj_ref.nil?
9
- end
10
-
11
- def self.vb_attr_accessor(*vb_attrs)
12
- vb_attrs.each do |vb_attr|
13
- define_method(vb_attr) do
14
- soap_method = "#{self.class.name.split('::').last.to_underscore}_get_#{vb_attr}".to_sym
15
- VirtualBoxWS.send_request(soap_method, @_this)
16
- end
17
-
18
- define_method("#{vb_attr}=") do |value|
19
- soap_method = "#{self.class.name.split('::').last.to_underscore}_set_#{vb_attr}".to_sym
20
- # A hack for tags that start with an uppercase character
21
- if vb_attr == :ioapic_enabled
22
- soap_message = {'IOAPICEnabled' => value}
23
- elsif vb_attr == :cpu_count
24
- soap_message = {'CPUCount' => value}
25
- else
26
- soap_message = {vb_attr => value}
27
- end
28
- VirtualBoxWS.send_request(soap_method, @_this.merge(soap_message))
29
- end
30
- end
31
- end
32
-
33
- def self.vb_attr_reader(*vb_attrs)
34
- vb_attrs.each do |vb_attr|
35
- define_method(vb_attr) do
36
- soap_method = "#{self.class.name.split('::').last.to_underscore}_get_#{vb_attr}".to_sym
37
- VirtualBoxWS.send_request(soap_method, @_this)
38
- end
39
- end
40
- end
41
-
42
- def self.vb_method(*vb_meths)
43
- vb_meths.each do |vb_meth|
44
- define_method(vb_meth) do |message={}|
45
- soap_method = "#{self.class.name.split('::').last.to_underscore}_#{vb_meth}".to_sym
46
- VirtualBoxWS.send_request(soap_method, @_this.merge(message))
47
- end
48
- end
49
- end
50
- end
51
- end