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
@@ -0,0 +1,134 @@
1
+ module VBox
2
+ class Guest < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def os_type_id
9
+ VBox::WebService.send_request(:i_guest_get_os_type_id, _this)
10
+ end
11
+
12
+ def additions_run_level
13
+ VBox::WebService.send_request(:i_guest_get_additions_run_level, _this)
14
+ end
15
+
16
+ def additions_version
17
+ VBox::WebService.send_request(:i_guest_get_additions_version, _this)
18
+ end
19
+
20
+ def additions_revision
21
+ VBox::WebService.send_request(:i_guest_get_additions_revision, _this)
22
+ end
23
+
24
+ def facilities
25
+ additions_facilities = VBox::WebService.send_request(:i_guest_get_facilities, _this)
26
+ additions_facilities.map do |additions_facility|
27
+ VBox::AdditionsFacility.new(additions_facility)
28
+ end
29
+ end
30
+
31
+ def sessions
32
+ sessions = VBox::WebService.send_request(:i_guest_get_sessions, _this)
33
+ sessions.map do |session|
34
+ VBox::GuestSession.new(session)
35
+ end
36
+ end
37
+
38
+ def memory_balloon_size
39
+ VBox::WebService.send_request(:i_guest_get_memory_balloon_size, _this)
40
+ end
41
+
42
+ def memory_balloon_size=(memory_balloon_size)
43
+ VBox::WebService.send_request(:i_guest_set_memory_balloon_size,
44
+ _this.merge(:memory_balloon_size => memory_balloon_size))
45
+ end
46
+
47
+ def statistics_update_interval
48
+ VBox::WebService.send_request(:i_guest_get_statistics_update_interval, _this)
49
+ end
50
+
51
+ def statistics_update_interval=(statistics_update_interval)
52
+ VBox::WebService.send_request(:i_guest_set_statistics_update_interval,
53
+ _this.merge(:statistics_update_interval => statistics_update_interval))
54
+ end
55
+
56
+ # Methods
57
+
58
+ def create_session(args={})
59
+ ensure_hash(args)
60
+ guest_session = VBox::WebService.send_request(:i_guest_create_session, _this.merge(args))
61
+ VBox::GuestSession.new(guest_session)
62
+ end
63
+
64
+ def drag_gh_dropped(args={})
65
+ ensure_hash(args)
66
+ progress = VBox::WebService.send_request(:i_guest_drag_gh_dropped, _this.merge(args))
67
+ VBox::Progress.new(progress)
68
+ end
69
+
70
+ def drag_gh_get_data
71
+ VBox::WebService.send_request(:i_guest_drag_gh_get_data, _this)
72
+ end
73
+
74
+ def drag_gh_pending(args={})
75
+ ensure_hash(args)
76
+ VBox::WebService.send_request(:i_guest_drag_gh_pending, _this.merge(args))
77
+ end
78
+
79
+ def drag_hg_drop(args={})
80
+ ensure_hash(args)
81
+ VBox::WebService.send_request(:i_guest_drag_hg_drop, _this.merge(args))
82
+ end
83
+
84
+ def drag_hg_enter(args={})
85
+ ensure_hash(args)
86
+ VBox::WebService.send_request(:i_guest_drag_hg_enter, _this.merge(args))
87
+ end
88
+
89
+ def drag_hg_leave(args={})
90
+ ensure_hash(args)
91
+ VBox::WebService.send_request(:i_guest_drag_hg_leave, _this.merge(args))
92
+ end
93
+
94
+ def drag_hg_move(args={})
95
+ ensure_hash(args)
96
+ VBox::WebService.send_request(:i_guest_drag_hg_move, _this.merge(args))
97
+ end
98
+
99
+ def drag_hg_put_data(args={})
100
+ ensure_hash(args)
101
+ progress = VBox::WebService.send_request(:i_guest_drag_hg_put_data, _this.merge(args))
102
+ VBox::Progress.new(progress)
103
+ end
104
+
105
+ def find_session(args={})
106
+ ensure_hash(args)
107
+ guest_session = VBox::WebService.send_request(:i_guest_find_session, _this.merge(args))
108
+ VBox::GuestSession.new(guest_session)
109
+ end
110
+
111
+ def get_additions_status
112
+ VBox::WebService.send_request(:i_guest_get_additions_status, _this)
113
+ end
114
+
115
+ def get_facility_status
116
+ VBox::WebService.send_request(:i_guest_get_facility_status, _this)
117
+ end
118
+
119
+ def internal_get_facility_statistics
120
+ VBox::WebService.send_request(:i_guest_internal_get_facility_statistics, _this)
121
+ end
122
+
123
+ def set_credentials(args={})
124
+ ensure_hash(args)
125
+ VBox::WebService.send_request(:i_guest_set_credentials, _this.merge(args))
126
+ end
127
+
128
+ def update_guest_additions(args={})
129
+ ensure_hash(args)
130
+ progress = VBox::WebService.send_request(:i_guest_update_guest_additions, _this.merge(args))
131
+ VBox::Progress.new(progress)
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestDirectory < Directory
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFile < File
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFsObjInfo < FsObjInfo
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestProcess < VBox::Process
3
+
4
+ attr_reader :ref
5
+
6
+ end
7
+ end
@@ -0,0 +1,232 @@
1
+ module VBox
2
+ class GuestSession < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def user
9
+ VBox::WebService.send_request(:i_guest_session_get_user, _this)
10
+ end
11
+
12
+ def domain
13
+ VBox::WebService.send_request(:i_guest_session_get_domain, _this)
14
+ end
15
+
16
+ def name
17
+ VBox::WebService.send_request(:i_guest_session_get_name, _this)
18
+ end
19
+
20
+ def id
21
+ VBox::WebService.send_request(:i_guest_session_get_id, _this)
22
+ end
23
+
24
+ def timeout
25
+ VBox::WebService.send_request(:i_guest_session_get_timeout, _this)
26
+ end
27
+
28
+ def timeout=(timeout)
29
+ VBox::WebService.send_request(:i_guest_session_set_timeout, _this.merge(:timeout => timeout))
30
+ end
31
+
32
+ def environment
33
+ VBox::WebService.send_request(:i_guest_session_get_environment, _this)
34
+ end
35
+
36
+ def environment=(environment)
37
+ VBox::WebService.send_request(:i_guest_session_set_environment, _this.merge(:environment => environment))
38
+ end
39
+
40
+ def processes
41
+ guest_processes = VBox::WebService.send_request(:i_guest_session_get_processes, _this)
42
+ guest_processes.map do |guest_process|
43
+ VBox::GuestProcess.new(guest_process)
44
+ end
45
+ end
46
+
47
+ def directories
48
+ directories = VBox::WebService.send_request(:i_guest_session_get_directories, _this)
49
+ directories.map do |directory|
50
+ VBox::GuestDirectory.new(directory)
51
+ end
52
+ end
53
+
54
+ def files
55
+ files = VBox::WebService.send_request(:i_guest_session_get_files, _this)
56
+ files.map do |file|
57
+ VBox::GuestFile.new(file)
58
+ end
59
+ end
60
+
61
+ # Methods
62
+
63
+ def close
64
+ VBox::WebService.send_request(:i_guest_session_close, _this)
65
+ end
66
+
67
+ def copy_from(args={})
68
+ ensure_hash(args)
69
+ progress = VBox::WebService.send_request(:i_guest_session_copy_from, _this.merge(args))
70
+ VBox::Progress.new(progress)
71
+ end
72
+
73
+ def copy_to(args={})
74
+ ensure_hash(args)
75
+ progress = VBox::WebService.send_request(:i_guest_session_copy_to, _this.merge(args))
76
+ VBox::Progress.new(progress)
77
+ end
78
+
79
+ def directory_create(args={})
80
+ ensure_hash(args)
81
+ VBox::WebService.send_request(:i_guest_session_directory_create, _this.merge(args))
82
+ end
83
+
84
+ def directory_create_temp(args={})
85
+ ensure_hash(args)
86
+ VBox::WebService.send_request(:i_guest_session_directory_create_temp, _this.merge(args))
87
+ end
88
+
89
+ def directory_exists(args={})
90
+ ensure_hash(args)
91
+ VBox::WebService.send_request(:i_guest_session_directory_exists, _this.merge(args))
92
+ end
93
+
94
+ def directory_open(args={})
95
+ ensure_hash(args)
96
+ guest_directory = VBox::WebService.send_request(:i_guest_session_directory_open, _this.merge(args))
97
+ VBox::GuestDirectory.new(guest_directory)
98
+ end
99
+
100
+ def directory_query_info(args={})
101
+ ensure_hash(args)
102
+ fs_obj_info = VBox::WebService.send_request(:i_guest_session_directory_query_info, _this.merge(args))
103
+ VBox::GuestFsObjInfo.new(fs_obj_info)
104
+ end
105
+
106
+ def directory_remove(args={})
107
+ ensure_hash(args)
108
+ VBox::WebService.send_request(:i_guest_session_directory_remove, _this.merge(args))
109
+ end
110
+
111
+ def directory_remove_recursive(args={})
112
+ ensure_hash(args)
113
+ progress = VBox::WebService.send_request(:i_guest_session_directory_remove_recursive, _this.merge(args))
114
+ VBox::Progress.new(progress)
115
+ end
116
+
117
+ def directory_rename(args={})
118
+ ensure_hash(args)
119
+ VBox::WebService.send_request(:i_guest_session_directory_rename, _this.merge(args))
120
+ end
121
+
122
+ def directory_set_acl(args={})
123
+ ensure_hash(args)
124
+ VBox::WebService.send_request(:i_guest_session_directory_set_acl, _this.merge(args))
125
+ end
126
+
127
+ def environment_clear
128
+ VBox::WebService.send_request(:i_guest_session_environment_clear, _this)
129
+ end
130
+
131
+ def environment_get(args={})
132
+ ensure_hash(args)
133
+ VBox::WebService.send_request(:i_guest_session_environment_get, _this.merge(args))
134
+ end
135
+
136
+ def environment_set(args={})
137
+ ensure_hash(args)
138
+ VBox::WebService.send_request(:i_guest_session_environment_set, _this.merge(args))
139
+ end
140
+
141
+ def environment_unset(args={})
142
+ ensure_hash(args)
143
+ VBox::WebService.send_request(:i_guest_session_environment_unset, _this.merge(args))
144
+ end
145
+
146
+ def file_create_temp(args={})
147
+ ensure_hash(args)
148
+ guest_file = VBox::WebService.send_request(:i_guest_session_file_create_temp, _this.merge(args))
149
+ VBox::GuestFile.new(guest_file)
150
+ end
151
+
152
+ def file_exists(args={})
153
+ ensure_hash(args)
154
+ VBox::WebService.send_request(:i_guest_session_file_exists, _this.merge(args))
155
+ end
156
+
157
+ def file_open(args={})
158
+ ensure_hash(args)
159
+ guest_file = VBox::WebService.send_request(:i_guest_session_file_open, _this.merge(args))
160
+ VBox::GuestFile.new(guest_file)
161
+ end
162
+
163
+ def file_query_info(args={})
164
+ ensure_hash(args)
165
+ fs_obj_info = VBox::WebService.send_request(:i_guest_session_file_query_info, _this.merge(args))
166
+ VBox::GuestFsObjInfo.new(fs_obj_info)
167
+ end
168
+
169
+ def file_query_size(args={})
170
+ ensure_hash(args)
171
+ VBox::WebService.send_request(:i_guest_session_file_query_size, _this.merge(args))
172
+ end
173
+
174
+ def file_remove(args={})
175
+ ensure_hash(args)
176
+ VBox::WebService.send_request(:i_guest_session_file_remove, _this.merge(args))
177
+ end
178
+
179
+ def file_rename(args={})
180
+ ensure_hash(args)
181
+ VBox::WebService.send_request(:i_guest_session_file_rename, _this.merge(args))
182
+ end
183
+
184
+ def file_set_acl(args={})
185
+ ensure_hash(args)
186
+ VBox::WebService.send_request(:i_guest_session_file_set_acl, _this.merge(args))
187
+ end
188
+
189
+ def process_create(args={})
190
+ ensure_hash(args)
191
+ guest_process = VBox::WebService.send_request(:i_guest_session_process_create, _this.merge(args))
192
+ VBox::GuestProcess.new(guest_process)
193
+ end
194
+
195
+ def process_create_ex(args={})
196
+ ensure_hash(args)
197
+ guest_process = VBox::WebService.send_request(:i_guest_session_process_create_ex, _this.merge(args))
198
+ VBox::GuestProcess.new(guest_process)
199
+ end
200
+
201
+ def process_get(args={})
202
+ ensure_hash(args)
203
+ guest_process = VBox::WebService.send_request(:i_guest_session_process_get, _this.merge(args))
204
+ VBox::GuestProcess.new(guest_process)
205
+ end
206
+
207
+ def symlink_create(args={})
208
+ ensure_hash(args)
209
+ VBox::WebService.send_request(:i_guest_session_symlink_create, _this.merge(args))
210
+ end
211
+
212
+ def symlink_exists(args={})
213
+ ensure_hash(args)
214
+ VBox::WebService.send_request(:i_guest_session_symlink_exists, _this.merge(args))
215
+ end
216
+
217
+ def symlink_read(args={})
218
+ ensure_hash(args)
219
+ VBox::WebService.send_request(:i_guest_session_symlink_read, _this.merge(args))
220
+ end
221
+
222
+ def symlink_remove_directory(args={})
223
+ ensure_hash(args)
224
+ VBox::WebService.send_request(:i_guest_session_symlink_remove_directory, _this.merge(args))
225
+ end
226
+
227
+ def symlink_remove_file(args={})
228
+ ensure_hash(args)
229
+ VBox::WebService.send_request(:i_guest_session_symlink_remove_file, _this.merge(args))
230
+ end
231
+ end
232
+ end
@@ -0,0 +1,172 @@
1
+ module VBox
2
+ class Host < Base
3
+
4
+ attr_reader :ref
5
+
6
+ # Attributes
7
+
8
+ def dvd_drives
9
+ dvd_drives = VBox::WebService.send_request(:i_host_get_dvd_drives, _this)
10
+ dvd_drives.to_a.map do |dvd_drive|
11
+ VBox::Medium.new(dvd_drive)
12
+ end
13
+ end
14
+
15
+ def floppy_drives
16
+ floppy_drives = VBox::WebService.send_request(:i_host_get_floppy_drives, _this)
17
+ floppy_drives.to_a.map do |floppy_drive|
18
+ VBox::Medium.new(floppy_drive)
19
+ end
20
+ end
21
+
22
+ def usb_devices
23
+ usb_devices = VBox::WebService.send_request(:i_host_get_usb_devices, _this)
24
+ usb_devices.to_a.map do |usb_device|
25
+ VBox::HostUSBDevice.new(usb_device)
26
+ end
27
+ end
28
+
29
+ def usb_devices_filters
30
+ usb_device_filters = VBox::WebService.send_request(:i_host_get_usb_device_filters, _this)
31
+ usb_device_filters.to_a.map do |usb_device_filter|
32
+ VBox::HostUSBDeviceFilter.new(usb_device_filter)
33
+ end
34
+ end
35
+
36
+ def network_interfaces
37
+ network_interfaces = VBox::WebService.send_request(:i_host_get_network_interfaces, _this)
38
+ network_interfaces.to_a.map do |network_interface|
39
+ VBox::HostNetworkInterface.new(network_interface)
40
+ end
41
+ end
42
+
43
+ def processor_count
44
+ VBox::WebService.send_request(:i_host_get_processor_count, _this)
45
+ end
46
+
47
+ def processor_online_count
48
+ VBox::WebService.send_request(:i_host_get_processor_online_count, _this)
49
+ end
50
+
51
+ def processor_core_count
52
+ VBox::WebService.send_request(:i_host_get_processor_core_count, _this)
53
+ end
54
+
55
+ def memory_size
56
+ VBox::WebService.send_request(:i_host_get_memory_size, _this)
57
+ end
58
+
59
+ def memory_available
60
+ VBox::WebService.send_request(:i_host_get_memory_available, _this)
61
+ end
62
+
63
+ def operating_system
64
+ VBox::WebService.send_request(:i_host_get_operating_system, _this)
65
+ end
66
+
67
+ def os_version
68
+ VBox::WebService.send_request(:i_host_get_os_version, _this)
69
+ end
70
+
71
+ def utc_time
72
+ VBox::WebService.send_request(:i_host_get_utc_time, _this)
73
+ end
74
+
75
+ def acceleration_3d_available
76
+ VBox::WebService.send_request(:i_host_get_acceleration_3d_available, _this)
77
+ end
78
+
79
+ # Methods
80
+
81
+ def create_host_only_network_interface
82
+ progress, host_only_network_interface = VBox::WebService.send_request(:i_host_create_host_only_network_interface,
83
+ _this)
84
+ [VBox::Progress.new(progress),
85
+ VBox::HostNetworkInterface.new(host_only_network_interface[:host_interface])]
86
+ end
87
+
88
+ def create_usb_device_filter(args={})
89
+ ensure_hash(args)
90
+ usb_device_filter = VBox::WebService.send_request(:i_host_create_usb_device_filter, _this.merge(args))
91
+ VBox::HostUSBDeviceFilter.new(usb_device_filter)
92
+ end
93
+
94
+ def find_host_dvd_drive(args={})
95
+ ensure_hash(args)
96
+ host_dvd_drive = VBox::WebService.send_request(:i_host_find_host_dvd_drive, _this.merge(args))
97
+ VBox::Medium.new(host_dvd_drive)
98
+ end
99
+
100
+ def find_host_floppy_drive(args={})
101
+ ensure_hash(args)
102
+ host_floppy_drive = VBox::WebService.send_request(:i_host_find_host_floppy_drive, _this.merge(args))
103
+ VBox::Medium.new(host_floppy_drive)
104
+ end
105
+
106
+ def find_host_network_interface_by_id(args={})
107
+ ensure_hash(args)
108
+ host_network_interface = VBox::WebService.send_request(:i_host_find_host_network_interface_by_id, _this.merge(args))
109
+ VBox::HostNetworkInterface.new(host_network_interface)
110
+ end
111
+
112
+ def find_host_network_interfaces_of_type(args={})
113
+ ensure_hash(args)
114
+ host_network_interfaces = VBox::WebService.send_request(:i_host_find_host_network_interfaces_of_type, _this.merge(args))
115
+ host_network_interfaces.map do |host_network_interface|
116
+ VBox::HostNetworkInterface.new(host_network_interface)
117
+ end
118
+ end
119
+
120
+ def find_usb_device_by_address(args={})
121
+ ensure_hash(args)
122
+ usb_device = VBox::WebService.send_request(:i_host_find_usb_device_by_address, _this.merge(args))
123
+ VBox::HostUSBDevice.new(usb_device)
124
+ end
125
+
126
+ def find_usb_device_by_id(args={})
127
+ ensure_hash(args)
128
+ usb_device = VBox::WebService.send_request(:i_host_find_usb_device_by_id, _this.merge(args))
129
+ VBox::HostUSBDevice.new(usb_device)
130
+ end
131
+
132
+ def generate_mac_address
133
+ VBox::WebService.send_request(:i_host_generate_mac_address, _this)
134
+ end
135
+
136
+ def get_processor_cpuid_leaf(args={})
137
+ ensure_hash(args)
138
+ VBox::WebService.send_request(:i_host_get_processor_cpuid_leaf, _this.merge(args))
139
+ end
140
+
141
+ def get_processor_description(args={})
142
+ ensure_hash(args)
143
+ VBox::WebService.send_request(:i_host_get_processor_description, _this.merge(args))
144
+ end
145
+
146
+ def get_processor_feature(args={})
147
+ ensure_hash(args)
148
+ VBox::WebService.send_request(:i_host_get_processor_feature, _this.merge(args))
149
+ end
150
+
151
+ def get_processor_speed(args={})
152
+ ensure_hash(args)
153
+ VBox::WebService.send_request(:i_host_get_processor_speed, _this.merge(args))
154
+ end
155
+
156
+ def insert_usb_device_filter(args={})
157
+ ensure_hash(args)
158
+ args[:filter] = args[:filter].ref if args.has_key?(:filter) & args[:filter].respond_to?(:ref)
159
+ VBox::WebService.send_request(:i_host_insert_usb_device_filter, _this.merge(args))
160
+ end
161
+
162
+ def remove_host_only_network_interface(args={})
163
+ ensure_hash(args)
164
+ VBox::WebService.send_request(:i_host_remove_host_only_network_interface, _this.merge(args))
165
+ end
166
+
167
+ def remove_usb_device_filter(args={})
168
+ ensure_hash(args)
169
+ VBox::WebService.send_request(:i_host_remove_usb_device_filter, _this.merge(args))
170
+ end
171
+ end
172
+ end