virtualbox-ws 0.0.3 → 0.0.5

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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -2
  3. data/Gemfile.lock +8 -2
  4. data/README.md +42 -24
  5. data/lib/core_ext/hash.rb +6 -6
  6. data/lib/core_ext/string.rb +8 -0
  7. data/lib/virtualbox/base.rb +118 -6
  8. data/lib/virtualbox/classes/appliance.rb +11 -44
  9. data/lib/virtualbox/classes/audio_adapter.rb +3 -25
  10. data/lib/virtualbox/classes/bandwidth_control.rb +5 -27
  11. data/lib/virtualbox/classes/bandwidth_group.rb +4 -21
  12. data/lib/virtualbox/classes/bios_settings.rb +12 -73
  13. data/lib/virtualbox/classes/console.rb +42 -193
  14. data/lib/virtualbox/classes/dhcp_server.rb +18 -44
  15. data/lib/virtualbox/classes/directory.rb +4 -18
  16. data/lib/virtualbox/classes/display.rb +10 -39
  17. data/lib/virtualbox/classes/emulated_usb.rb +10 -0
  18. data/lib/virtualbox/classes/event.rb +5 -23
  19. data/lib/virtualbox/classes/event_listener.rb +1 -6
  20. data/lib/virtualbox/classes/event_source.rb +7 -49
  21. data/lib/virtualbox/classes/events/bandwidth_group_changed_event.rb +1 -5
  22. data/lib/virtualbox/classes/events/clipboard_mode_changed_event.rb +1 -4
  23. data/lib/virtualbox/classes/events/cpu_changed_event.rb +2 -8
  24. data/lib/virtualbox/classes/events/cpu_execution_cap_changed_event.rb +1 -4
  25. data/lib/virtualbox/classes/events/drag_and_drop_mode_changed_event.rb +1 -4
  26. data/lib/virtualbox/classes/events/event_source_changed_event.rb +2 -9
  27. data/lib/virtualbox/classes/events/extra_data_can_change_event.rb +3 -12
  28. data/lib/virtualbox/classes/events/extra_data_changed_event.rb +3 -12
  29. data/lib/virtualbox/classes/events/guest_file_event.rb +7 -0
  30. data/lib/virtualbox/classes/events/guest_file_io_event.rb +8 -0
  31. data/lib/virtualbox/classes/events/guest_file_offset_changed_event.rb +4 -0
  32. data/lib/virtualbox/classes/events/guest_file_read_event.rb +6 -0
  33. data/lib/virtualbox/classes/events/guest_file_registered_event.rb +7 -0
  34. data/lib/virtualbox/classes/events/guest_file_state_changed_event.rb +8 -0
  35. data/lib/virtualbox/classes/events/guest_file_write_event.rb +4 -0
  36. data/lib/virtualbox/classes/events/guest_keyboard_event.rb +2 -5
  37. data/lib/virtualbox/classes/events/guest_monitor_changed_event.rb +6 -24
  38. data/lib/virtualbox/classes/events/guest_mouse_event.rb +6 -24
  39. data/lib/virtualbox/classes/events/guest_multi_touch_event.rb +12 -0
  40. data/lib/virtualbox/classes/events/guest_process_event.rb +8 -0
  41. data/lib/virtualbox/classes/events/guest_process_input_notify_event.rb +7 -0
  42. data/lib/virtualbox/classes/events/guest_process_io_event.rb +8 -0
  43. data/lib/virtualbox/classes/events/guest_process_output_event.rb +7 -0
  44. data/lib/virtualbox/classes/events/guest_process_registered_event.rb +7 -0
  45. data/lib/virtualbox/classes/events/guest_process_state_changed_event.rb +8 -0
  46. data/lib/virtualbox/classes/events/guest_property_changed_event.rb +3 -12
  47. data/lib/virtualbox/classes/events/guest_session_event.rb +7 -0
  48. data/lib/virtualbox/classes/events/guest_session_registered_event.rb +7 -0
  49. data/lib/virtualbox/classes/events/guest_session_state_changed_event.rb +9 -0
  50. data/lib/virtualbox/classes/events/guest_user_state_changed_event.rb +10 -0
  51. data/lib/virtualbox/classes/events/host_name_resolution_configuration_change_event.rb +4 -0
  52. data/lib/virtualbox/classes/events/host_pci_device_plug_event.rb +4 -16
  53. data/lib/virtualbox/classes/events/keyboard_leds_changed_event.rb +3 -12
  54. data/lib/virtualbox/classes/events/machine_data_changed_event.rb +1 -4
  55. data/lib/virtualbox/classes/events/machine_event.rb +1 -4
  56. data/lib/virtualbox/classes/events/machine_registered_event.rb +1 -4
  57. data/lib/virtualbox/classes/events/machine_state_changed_event.rb +1 -4
  58. data/lib/virtualbox/classes/events/medium_changed_event.rb +1 -5
  59. data/lib/virtualbox/classes/events/medium_registered_event.rb +3 -12
  60. data/lib/virtualbox/classes/events/mouse_capability_changed_event.rb +4 -12
  61. data/lib/virtualbox/classes/events/mouse_pointer_shape_changed_event.rb +7 -28
  62. data/lib/virtualbox/classes/events/nat_network_alter_event.rb +7 -0
  63. data/lib/virtualbox/classes/events/nat_network_changed_event.rb +9 -0
  64. data/lib/virtualbox/classes/events/nat_network_creation_deletion_event.rb +9 -0
  65. data/lib/virtualbox/classes/events/nat_network_port_forward_event.rb +16 -0
  66. data/lib/virtualbox/classes/events/nat_network_setting_event.rb +13 -0
  67. data/lib/virtualbox/classes/events/nat_network_start_stop_event.rb +9 -0
  68. data/lib/virtualbox/classes/events/nat_redirect_event.rb +8 -32
  69. data/lib/virtualbox/classes/events/network_adapter_changed_event.rb +1 -5
  70. data/lib/virtualbox/classes/events/parallel_port_changed_event.rb +1 -5
  71. data/lib/virtualbox/classes/events/reusable_event.rb +2 -9
  72. data/lib/virtualbox/classes/events/runtime_error_event.rb +3 -12
  73. data/lib/virtualbox/classes/events/serial_port_changed_event.rb +1 -5
  74. data/lib/virtualbox/classes/events/session_state_changed_event.rb +1 -4
  75. data/lib/virtualbox/classes/events/shared_folder_changed_event.rb +1 -4
  76. data/lib/virtualbox/classes/events/show_window_event.rb +1 -4
  77. data/lib/virtualbox/classes/events/snapshot_event.rb +1 -4
  78. data/lib/virtualbox/classes/events/state_changed_event.rb +1 -4
  79. data/lib/virtualbox/classes/events/storage_device_changed_event.rb +3 -8
  80. data/lib/virtualbox/classes/events/usb_device_state_changed_event.rb +3 -9
  81. data/lib/virtualbox/classes/events/v_box_svc_availability_chaged_event.rb +1 -4
  82. data/lib/virtualbox/classes/events/veto_event.rb +3 -13
  83. data/lib/virtualbox/classes/events/video_capture_changed_event.rb +4 -0
  84. data/lib/virtualbox/classes/file.rb +18 -65
  85. data/lib/virtualbox/classes/framebuffer.rb +21 -0
  86. data/lib/virtualbox/classes/framebuffer_overlay.rb +12 -0
  87. data/lib/virtualbox/classes/fs_obj_info.rb +20 -77
  88. data/lib/virtualbox/classes/guest.rb +25 -126
  89. data/lib/virtualbox/classes/guest_session.rb +48 -224
  90. data/lib/virtualbox/classes/host.rb +37 -164
  91. data/lib/virtualbox/classes/host_network_interface.rb +19 -69
  92. data/lib/virtualbox/classes/host_usb_device.rb +1 -4
  93. data/lib/virtualbox/classes/host_usb_device_filter.rb +1 -8
  94. data/lib/virtualbox/classes/host_video_input_device.rb +9 -0
  95. data/lib/virtualbox/classes/keyboard.rb +4 -20
  96. data/lib/virtualbox/classes/machine.rb +156 -908
  97. data/lib/virtualbox/classes/machine_debugger.rb +49 -0
  98. data/lib/virtualbox/classes/managed_object_ref.rb +2 -9
  99. data/lib/virtualbox/classes/medium.rb +42 -215
  100. data/lib/virtualbox/classes/medium_format.rb +5 -21
  101. data/lib/virtualbox/classes/mouse.rb +9 -28
  102. data/lib/virtualbox/classes/nat_engine.rb +14 -99
  103. data/lib/virtualbox/classes/nat_network.rb +25 -0
  104. data/lib/virtualbox/classes/network_adapter.rb +22 -163
  105. data/lib/virtualbox/classes/parallel_port.rb +5 -36
  106. data/lib/virtualbox/classes/pci_address.rb +12 -0
  107. data/lib/virtualbox/classes/performance_collector.rb +6 -42
  108. data/lib/virtualbox/classes/performance_metric.rb +8 -32
  109. data/lib/virtualbox/classes/process.rb +16 -60
  110. data/lib/virtualbox/classes/progress.rb +23 -101
  111. data/lib/virtualbox/classes/serial_port.rb +7 -52
  112. data/lib/virtualbox/classes/session.rb +5 -23
  113. data/lib/virtualbox/classes/shared_folder.rb +6 -24
  114. data/lib/virtualbox/classes/snapshot.rb +9 -35
  115. data/lib/virtualbox/classes/storage_controller.rb +10 -52
  116. data/lib/virtualbox/classes/system_properties.rb +38 -201
  117. data/lib/virtualbox/classes/token.rb +8 -0
  118. data/lib/virtualbox/classes/usb_controller.rb +3 -50
  119. data/lib/virtualbox/classes/usb_device.rb +12 -48
  120. data/lib/virtualbox/classes/usb_device_filter.rb +11 -88
  121. data/lib/virtualbox/classes/usb_device_filters.rb +11 -0
  122. data/lib/virtualbox/classes/vfs_explorer.rb +8 -42
  123. data/lib/virtualbox/classes/virtual_box.rb +48 -234
  124. data/lib/virtualbox/classes/virtual_box_error_info.rb +6 -21
  125. data/lib/virtualbox/classes/virtual_system_description.rb +6 -30
  126. data/lib/virtualbox/classes/vrde_server.rb +11 -72
  127. data/lib/virtualbox/classes/vrde_server_info.rb +15 -60
  128. data/lib/virtualbox/classes/websession_manager.rb +11 -11
  129. data/lib/virtualbox/configuration.rb +35 -0
  130. data/lib/virtualbox/exceptions.rb +28 -0
  131. data/lib/virtualbox/version.rb +3 -0
  132. data/lib/virtualbox/webservice.rb +105 -0
  133. data/lib/virtualbox-ws.rb +5 -1
  134. data/virtualbox-ws.gemspec +4 -1
  135. metadata +42 -5
  136. data/lib/virtualbox/classes/additions_facility.rb +0 -26
  137. data/lib/virtualbox/connection.rb +0 -68
@@ -1,230 +1,54 @@
1
1
  module VBox
2
2
  class GuestSession < Base
3
3
 
4
- # Attributes
4
+ vb_attr :user
5
+ vb_attr :domain
6
+ vb_attr :name
7
+ vb_attr :id
8
+ vb_attr :timeout
9
+ vb_attr :protocol_version
10
+ vb_attr :status
11
+ vb_attr :environment
12
+ vb_attr :processes, :force_array => true
13
+ vb_attr :directories, :force_array => true
14
+ vb_attr :files, :force_array => true
15
+ vb_attr :event_source
16
+
17
+ vb_method :close
18
+ vb_method :copy_from
19
+ vb_method :copy_to
20
+ vb_method :directory_create
21
+ vb_method :directory_create_temp
22
+ vb_method :directory_exists
23
+ vb_method :directory_open
24
+ vb_method :directory_query_info
25
+ vb_method :directory_remove
26
+ vb_method :directory_remove_recursive
27
+ vb_method :directory_rename
28
+ vb_method :directory_set_acl
29
+ vb_method :environment_clear
30
+ vb_method :environment_get
31
+ vb_method :environment_set
32
+ vb_method :environment_unset
33
+ vb_method :file_create_temp
34
+ vb_method :file_exists
35
+ vb_method :file_open
36
+ vb_method :file_open_ex
37
+ vb_method :file_query_info
38
+ vb_method :file_query_size
39
+ vb_method :file_remove
40
+ vb_method :file_rename
41
+ vb_method :file_set_acl
42
+ vb_method :process_create
43
+ vb_method :process_create_ex
44
+ vb_method :process_get
45
+ vb_method :symlink_create
46
+ vb_method :symlink_exists
47
+ vb_method :symlink_read
48
+ vb_method :symlink_remove_directory
49
+ vb_method :symlink_remove_file
50
+ vb_method :wait_for
51
+ vb_method :wait_for_array
5
52
 
6
- def user
7
- VBox::WebService.send_request(:i_guest_session_get_user, _this)
8
- end
9
-
10
- def domain
11
- VBox::WebService.send_request(:i_guest_session_get_domain, _this)
12
- end
13
-
14
- def name
15
- VBox::WebService.send_request(:i_guest_session_get_name, _this)
16
- end
17
-
18
- def id
19
- VBox::WebService.send_request(:i_guest_session_get_id, _this)
20
- end
21
-
22
- def timeout
23
- VBox::WebService.send_request(:i_guest_session_get_timeout, _this)
24
- end
25
-
26
- def timeout=(timeout)
27
- VBox::WebService.send_request(:i_guest_session_set_timeout, _this.merge(:timeout => timeout))
28
- end
29
-
30
- def environment
31
- VBox::WebService.send_request(:i_guest_session_get_environment, _this)
32
- end
33
-
34
- def environment=(environment)
35
- VBox::WebService.send_request(:i_guest_session_set_environment, _this.merge(:environment => environment))
36
- end
37
-
38
- def processes
39
- guest_processes = VBox::WebService.send_request(:i_guest_session_get_processes, _this)
40
- guest_processes.map do |guest_process|
41
- VBox::GuestProcess.new(guest_process)
42
- end
43
- end
44
-
45
- def directories
46
- directories = VBox::WebService.send_request(:i_guest_session_get_directories, _this)
47
- directories.map do |directory|
48
- VBox::GuestDirectory.new(directory)
49
- end
50
- end
51
-
52
- def files
53
- files = VBox::WebService.send_request(:i_guest_session_get_files, _this)
54
- files.map do |file|
55
- VBox::GuestFile.new(file)
56
- end
57
- end
58
-
59
- # Methods
60
-
61
- def close
62
- VBox::WebService.send_request(:i_guest_session_close, _this)
63
- end
64
-
65
- def copy_from(args={})
66
- ensure_hash args
67
- progress = VBox::WebService.send_request(:i_guest_session_copy_from, _this.merge(args))
68
- VBox::Progress.new(progress)
69
- end
70
-
71
- def copy_to(args={})
72
- ensure_hash args
73
- progress = VBox::WebService.send_request(:i_guest_session_copy_to, _this.merge(args))
74
- VBox::Progress.new(progress)
75
- end
76
-
77
- def directory_create(args={})
78
- ensure_hash args
79
- VBox::WebService.send_request(:i_guest_session_directory_create, _this.merge(args))
80
- end
81
-
82
- def directory_create_temp(args={})
83
- ensure_hash args
84
- VBox::WebService.send_request(:i_guest_session_directory_create_temp, _this.merge(args))
85
- end
86
-
87
- def directory_exists(args={})
88
- ensure_hash args
89
- VBox::WebService.send_request(:i_guest_session_directory_exists, _this.merge(args))
90
- end
91
-
92
- def directory_open(args={})
93
- ensure_hash args
94
- guest_directory = VBox::WebService.send_request(:i_guest_session_directory_open, _this.merge(args))
95
- VBox::GuestDirectory.new(guest_directory)
96
- end
97
-
98
- def directory_query_info(args={})
99
- ensure_hash args
100
- fs_obj_info = VBox::WebService.send_request(:i_guest_session_directory_query_info, _this.merge(args))
101
- VBox::GuestFsObjInfo.new(fs_obj_info)
102
- end
103
-
104
- def directory_remove(args={})
105
- ensure_hash args
106
- VBox::WebService.send_request(:i_guest_session_directory_remove, _this.merge(args))
107
- end
108
-
109
- def directory_remove_recursive(args={})
110
- ensure_hash args
111
- progress = VBox::WebService.send_request(:i_guest_session_directory_remove_recursive, _this.merge(args))
112
- VBox::Progress.new(progress)
113
- end
114
-
115
- def directory_rename(args={})
116
- ensure_hash args
117
- VBox::WebService.send_request(:i_guest_session_directory_rename, _this.merge(args))
118
- end
119
-
120
- def directory_set_acl(args={})
121
- ensure_hash args
122
- VBox::WebService.send_request(:i_guest_session_directory_set_acl, _this.merge(args))
123
- end
124
-
125
- def environment_clear
126
- VBox::WebService.send_request(:i_guest_session_environment_clear, _this)
127
- end
128
-
129
- def environment_get(args={})
130
- ensure_hash args
131
- VBox::WebService.send_request(:i_guest_session_environment_get, _this.merge(args))
132
- end
133
-
134
- def environment_set(args={})
135
- ensure_hash args
136
- VBox::WebService.send_request(:i_guest_session_environment_set, _this.merge(args))
137
- end
138
-
139
- def environment_unset(args={})
140
- ensure_hash args
141
- VBox::WebService.send_request(:i_guest_session_environment_unset, _this.merge(args))
142
- end
143
-
144
- def file_create_temp(args={})
145
- ensure_hash args
146
- guest_file = VBox::WebService.send_request(:i_guest_session_file_create_temp, _this.merge(args))
147
- VBox::GuestFile.new(guest_file)
148
- end
149
-
150
- def file_exists(args={})
151
- ensure_hash args
152
- VBox::WebService.send_request(:i_guest_session_file_exists, _this.merge(args))
153
- end
154
-
155
- def file_open(args={})
156
- ensure_hash args
157
- guest_file = VBox::WebService.send_request(:i_guest_session_file_open, _this.merge(args))
158
- VBox::GuestFile.new(guest_file)
159
- end
160
-
161
- def file_query_info(args={})
162
- ensure_hash args
163
- fs_obj_info = VBox::WebService.send_request(:i_guest_session_file_query_info, _this.merge(args))
164
- VBox::GuestFsObjInfo.new(fs_obj_info)
165
- end
166
-
167
- def file_query_size(args={})
168
- ensure_hash args
169
- VBox::WebService.send_request(:i_guest_session_file_query_size, _this.merge(args))
170
- end
171
-
172
- def file_remove(args={})
173
- ensure_hash args
174
- VBox::WebService.send_request(:i_guest_session_file_remove, _this.merge(args))
175
- end
176
-
177
- def file_rename(args={})
178
- ensure_hash args
179
- VBox::WebService.send_request(:i_guest_session_file_rename, _this.merge(args))
180
- end
181
-
182
- def file_set_acl(args={})
183
- ensure_hash args
184
- VBox::WebService.send_request(:i_guest_session_file_set_acl, _this.merge(args))
185
- end
186
-
187
- def process_create(args={})
188
- ensure_hash args
189
- guest_process = VBox::WebService.send_request(:i_guest_session_process_create, _this.merge(args))
190
- VBox::GuestProcess.new(guest_process)
191
- end
192
-
193
- def process_create_ex(args={})
194
- ensure_hash args
195
- guest_process = VBox::WebService.send_request(:i_guest_session_process_create_ex, _this.merge(args))
196
- VBox::GuestProcess.new(guest_process)
197
- end
198
-
199
- def process_get(args={})
200
- ensure_hash args
201
- guest_process = VBox::WebService.send_request(:i_guest_session_process_get, _this.merge(args))
202
- VBox::GuestProcess.new(guest_process)
203
- end
204
-
205
- def symlink_create(args={})
206
- ensure_hash args
207
- VBox::WebService.send_request(:i_guest_session_symlink_create, _this.merge(args))
208
- end
209
-
210
- def symlink_exists(args={})
211
- ensure_hash args
212
- VBox::WebService.send_request(:i_guest_session_symlink_exists, _this.merge(args))
213
- end
214
-
215
- def symlink_read(args={})
216
- ensure_hash args
217
- VBox::WebService.send_request(:i_guest_session_symlink_read, _this.merge(args))
218
- end
219
-
220
- def symlink_remove_directory(args={})
221
- ensure_hash args
222
- VBox::WebService.send_request(:i_guest_session_symlink_remove_directory, _this.merge(args))
223
- end
224
-
225
- def symlink_remove_file(args={})
226
- ensure_hash args
227
- VBox::WebService.send_request(:i_guest_session_symlink_remove_file, _this.merge(args))
228
- end
229
53
  end
230
54
  end
@@ -1,170 +1,43 @@
1
1
  module VBox
2
2
  class Host < Base
3
3
 
4
- # Attributes
4
+ vb_attr :dvd_drives, :force_array => true
5
+ vb_attr :floppy_drives, :force_array => true
6
+ vb_attr :usb_devices, :force_array => true
7
+ vb_attr :usb_device_filters, :force_array => true
8
+ vb_attr :network_interfaces, :force_array => true
9
+ vb_attr :name_servers, :force_array => true
10
+ vb_attr :domain_name
11
+ vb_attr :search_strings, :force_array => true
12
+ vb_attr :processor_count
13
+ vb_attr :processor_online_count
14
+ vb_attr :processor_core_count
15
+ vb_attr :processor_online_core_count
16
+ vb_attr :memory_size
17
+ vb_attr :memory_available
18
+ vb_attr :operating_system
19
+ vb_attr :os_version
20
+ vb_attr :utc_time
21
+ vb_attr :acceleration_3d_available
22
+ vb_attr :video_input_devices
23
+
24
+ vb_method :create_host_only_network_interface
25
+ vb_method :create_usb_device_filter
26
+ vb_method :find_host_dvd_drive
27
+ vb_method :find_host_floppy_drive
28
+ vb_method :find_host_network_interface_by_id
29
+ vb_method :find_host_network_interface_by_name
30
+ vb_method :find_host_network_interfaces_of_type, :force_array => true
31
+ vb_method :find_usb_device_by_address
32
+ vb_method :find_usb_device_by_id
33
+ vb_method :generate_mac_address
34
+ vb_method :get_processor_cpuid_leaf
35
+ vb_method :get_processor_description
36
+ vb_method :get_processor_feature
37
+ vb_method :get_processor_speed
38
+ vb_method :insert_usb_device_filter
39
+ vb_method :remove_host_only_network_interface
40
+ vb_method :remove_usb_device_filter
5
41
 
6
- def dvd_drives
7
- dvd_drives = VBox::WebService.send_request(:i_host_get_dvd_drives, _this)
8
- dvd_drives.to_a.map do |dvd_drive|
9
- VBox::Medium.new(dvd_drive)
10
- end
11
- end
12
-
13
- def floppy_drives
14
- floppy_drives = VBox::WebService.send_request(:i_host_get_floppy_drives, _this)
15
- floppy_drives.to_a.map do |floppy_drive|
16
- VBox::Medium.new(floppy_drive)
17
- end
18
- end
19
-
20
- def usb_devices
21
- usb_devices = VBox::WebService.send_request(:i_host_get_usb_devices, _this)
22
- usb_devices.to_a.map do |usb_device|
23
- VBox::HostUSBDevice.new(usb_device)
24
- end
25
- end
26
-
27
- def usb_devices_filters
28
- usb_device_filters = VBox::WebService.send_request(:i_host_get_usb_device_filters, _this)
29
- usb_device_filters.to_a.map do |usb_device_filter|
30
- VBox::HostUSBDeviceFilter.new(usb_device_filter)
31
- end
32
- end
33
-
34
- def network_interfaces
35
- network_interfaces = VBox::WebService.send_request(:i_host_get_network_interfaces, _this)
36
- network_interfaces.to_a.map do |network_interface|
37
- VBox::HostNetworkInterface.new(network_interface)
38
- end
39
- end
40
-
41
- def processor_count
42
- VBox::WebService.send_request(:i_host_get_processor_count, _this)
43
- end
44
-
45
- def processor_online_count
46
- VBox::WebService.send_request(:i_host_get_processor_online_count, _this)
47
- end
48
-
49
- def processor_core_count
50
- VBox::WebService.send_request(:i_host_get_processor_core_count, _this)
51
- end
52
-
53
- def memory_size
54
- VBox::WebService.send_request(:i_host_get_memory_size, _this)
55
- end
56
-
57
- def memory_available
58
- VBox::WebService.send_request(:i_host_get_memory_available, _this)
59
- end
60
-
61
- def operating_system
62
- VBox::WebService.send_request(:i_host_get_operating_system, _this)
63
- end
64
-
65
- def os_version
66
- VBox::WebService.send_request(:i_host_get_os_version, _this)
67
- end
68
-
69
- def utc_time
70
- VBox::WebService.send_request(:i_host_get_utc_time, _this)
71
- end
72
-
73
- def acceleration_3d_available
74
- VBox::WebService.send_request(:i_host_get_acceleration_3d_available, _this)
75
- end
76
-
77
- # Methods
78
-
79
- def create_host_only_network_interface
80
- progress, host_only_network_interface = VBox::WebService.send_request(:i_host_create_host_only_network_interface,
81
- _this)
82
- [VBox::Progress.new(progress),
83
- VBox::HostNetworkInterface.new(host_only_network_interface[:host_interface])]
84
- end
85
-
86
- def create_usb_device_filter(args={})
87
- ensure_hash args
88
- usb_device_filter = VBox::WebService.send_request(:i_host_create_usb_device_filter, _this.merge(args))
89
- VBox::HostUSBDeviceFilter.new(usb_device_filter)
90
- end
91
-
92
- def find_host_dvd_drive(args={})
93
- ensure_hash args
94
- host_dvd_drive = VBox::WebService.send_request(:i_host_find_host_dvd_drive, _this.merge(args))
95
- VBox::Medium.new(host_dvd_drive)
96
- end
97
-
98
- def find_host_floppy_drive(args={})
99
- ensure_hash args
100
- host_floppy_drive = VBox::WebService.send_request(:i_host_find_host_floppy_drive, _this.merge(args))
101
- VBox::Medium.new(host_floppy_drive)
102
- end
103
-
104
- def find_host_network_interface_by_id(args={})
105
- ensure_hash args
106
- host_network_interface = VBox::WebService.send_request(:i_host_find_host_network_interface_by_id, _this.merge(args))
107
- VBox::HostNetworkInterface.new(host_network_interface)
108
- end
109
-
110
- def find_host_network_interfaces_of_type(args={})
111
- ensure_hash args
112
- host_network_interfaces = VBox::WebService.send_request(:i_host_find_host_network_interfaces_of_type, _this.merge(args))
113
- host_network_interfaces.map do |host_network_interface|
114
- VBox::HostNetworkInterface.new(host_network_interface)
115
- end
116
- end
117
-
118
- def find_usb_device_by_address(args={})
119
- ensure_hash args
120
- usb_device = VBox::WebService.send_request(:i_host_find_usb_device_by_address, _this.merge(args))
121
- VBox::HostUSBDevice.new(usb_device)
122
- end
123
-
124
- def find_usb_device_by_id(args={})
125
- ensure_hash args
126
- usb_device = VBox::WebService.send_request(:i_host_find_usb_device_by_id, _this.merge(args))
127
- VBox::HostUSBDevice.new(usb_device)
128
- end
129
-
130
- def generate_mac_address
131
- VBox::WebService.send_request(:i_host_generate_mac_address, _this)
132
- end
133
-
134
- def get_processor_cpuid_leaf(args={})
135
- ensure_hash args
136
- VBox::WebService.send_request(:i_host_get_processor_cpuid_leaf, _this.merge(args))
137
- end
138
-
139
- def get_processor_description(args={})
140
- ensure_hash args
141
- VBox::WebService.send_request(:i_host_get_processor_description, _this.merge(args))
142
- end
143
-
144
- def get_processor_feature(args={})
145
- ensure_hash args
146
- VBox::WebService.send_request(:i_host_get_processor_feature, _this.merge(args))
147
- end
148
-
149
- def get_processor_speed(args={})
150
- ensure_hash args
151
- VBox::WebService.send_request(:i_host_get_processor_speed, _this.merge(args))
152
- end
153
-
154
- def insert_usb_device_filter(args={})
155
- ensure_hash args
156
- args.referize! :filter
157
- VBox::WebService.send_request(:i_host_insert_usb_device_filter, _this.merge(args))
158
- end
159
-
160
- def remove_host_only_network_interface(args={})
161
- ensure_hash args
162
- VBox::WebService.send_request(:i_host_remove_host_only_network_interface, _this.merge(args))
163
- end
164
-
165
- def remove_usb_device_filter(args={})
166
- ensure_hash args
167
- VBox::WebService.send_request(:i_host_remove_usb_device_filter, _this.merge(args))
168
- end
169
42
  end
170
43
  end
@@ -1,76 +1,26 @@
1
1
  module VBox
2
2
  class HostNetworkInterface < Base
3
3
 
4
- # Attributes
4
+ vb_attr :name
5
+ vb_attr :short_name
6
+ vb_attr :id
7
+ vb_attr :network_name
8
+ vb_attr :dhcp_enabled
9
+ vb_attr :ip_address
10
+ vb_attr :network_mask
11
+ vb_attr :ipv6_supported
12
+ vb_attr :ipv6_address
13
+ vb_attr :ipv6_network_mask_prefix_length
14
+ vb_attr :hardware_address
15
+ vb_attr :medium_type
16
+ vb_attr :status
17
+ vb_attr :interface_type
18
+
19
+ vb_method :dhcp_rediscover
20
+ vb_method :enable_dynamic_ip_config
21
+ vb_method :enable_static_ip_config #TODO params that start with acronym here!
22
+ vb_method :enable_static_ip_config_v6
5
23
 
6
- def name
7
- VBox::WebService.send_request(:i_host_network_interface_get_name, _this)
8
- end
9
24
 
10
- def id
11
- VBox::WebService.send_request(:i_host_network_interface_get_id, _this)
12
- end
13
-
14
- def network_name
15
- VBox::WebService.send_request(:i_host_network_interface_get_network_name, _this)
16
- end
17
-
18
- def dhcp_enabled
19
- VBox::WebService.send_request(:i_host_network_interface_get_dhcp_enabled, _this)
20
- end
21
-
22
- def ip_address
23
- VBox::WebService.send_request(:i_host_network_interface_get_ip_address, _this)
24
- end
25
-
26
- def network_mask
27
- VBox::WebService.send_request(:i_host_network_interface_get_network_mask, _this)
28
- end
29
-
30
- def ipv6_supported
31
- VBox::WebService.send_request(:i_host_network_interface_get_ipv6_supported, _this)
32
- end
33
-
34
- def ipv6_address
35
- VBox::WebService.send_request(:i_host_network_interface_get_ipv6_address, _this)
36
- end
37
-
38
- def ipv6_network_mask_prefix_length
39
- VBox::WebService.send_request(:i_host_network_interface_get_ipv6_network_mask_prefix_length, _this)
40
- end
41
-
42
- def hardware_address
43
- VBox::WebService.send_request(:i_host_network_interface_get_hardware_address, _this)
44
- end
45
-
46
- def medium_type
47
- VBox::WebService.send_request(:i_host_network_interface_get_medium_type, _this)
48
- end
49
-
50
- def status
51
- VBox::WebService.send_request(:i_host_network_interface_get_status, _this)
52
- end
53
-
54
- def interface_type
55
- VBox::WebService.send_request(:i_host_network_interface_get_interface_type, _this)
56
- end
57
-
58
- # Methods
59
-
60
- def dhcp_rediscover
61
- VBox::WebService.send_request(:i_host_network_interface_dhcp_rediscover, _this)
62
- end
63
-
64
- def enable_dynamic_ip_config
65
- VBox::WebService.send_request(:i_host_network_interface_enable_dynamic_ip_config, _this)
66
- end
67
-
68
- def enable_static_ip_config
69
- VBox::WebService.send_request(:i_host_network_interface_enable_static_ip_config, _this)
70
- end
71
-
72
- def enable_static_ip_config_v6
73
- VBox::WebService.send_request(:i_host_network_interface_enable_static_ip_config_v6, _this)
74
- end
75
25
  end
76
26
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class HostUSBDevice < USBDevice
3
3
 
4
- # Attributes
4
+ vb_attr :state
5
5
 
6
- def state
7
- VBox::WebService.send_request(:i_host_usb_device_get_state, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,14 +1,7 @@
1
1
  module VBox
2
2
  class HostUSBDeviceFilter < USBDeviceFilter
3
3
 
4
- # Attributes
4
+ vb_attr :action
5
5
 
6
- def action
7
- VBox::WebService.send_request(:i_host_usb_device_filter_get_action, _this)
8
- end
9
-
10
- def action=(action)
11
- VBox::WebService.send_request(:i_host_usb_device_filter_set_action, _this.merge(:action => action))
12
- end
13
6
  end
14
7
  end
@@ -0,0 +1,9 @@
1
+ module VBox
2
+ class HostVideoInputDevice < Base
3
+
4
+ vb_attr :name
5
+ vb_attr :path
6
+ vb_attr :alias
7
+
8
+ end
9
+ end
@@ -1,27 +1,11 @@
1
1
  module VBox
2
2
  class Keyboard < Base
3
3
 
4
- # Attributes
4
+ vb_attr :event_source
5
5
 
6
- def event_source
7
- event_source = VBox::WebService.send_request(:i_keyboard_get_event_source, _this)
8
- VBox::EventSource.new(event_source)
9
- end
6
+ vb_method :put_cad
7
+ vb_method :put_scancode
8
+ vb_method :put_scancodes
10
9
 
11
- # Methods
12
-
13
- def put_cad
14
- VBox::WebService.send_request(:i_keyboard_get_put_cad, _this)
15
- end
16
-
17
- def put_scancode(args={})
18
- ensure_hash args
19
- VBox::WebService.send_request(:i_keyboard_get_put_scancode, _this.merge(args))
20
- end
21
-
22
- def put_scancodes(args={})
23
- ensure_hash args
24
- VBox::WebService.send_request(:i_keyboard_get_put_scancodes, _this.merge(args))
25
- end
26
10
  end
27
11
  end