virtualbox-ws 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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