virtualbox-ws 0.0.3 → 0.0.5

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