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,199 +1,48 @@
1
1
  module VBox
2
2
  class Console < Base
3
3
 
4
- # Attributes
4
+ vb_attr :machine
5
+ vb_attr :state
6
+ vb_attr :guest
7
+ vb_attr :keyboard
8
+ vb_attr :mouse
9
+ vb_attr :display
10
+ vb_attr :debugger
11
+ vb_attr :usb_devices, :force_array => true
12
+ vb_attr :remote_usb_devices, :force_array => true
13
+ vb_attr :shared_folders, :force_array => true
14
+ vb_attr :vrde_server_info
15
+ vb_attr :event_source
16
+ vb_attr :attached_pci_devices
17
+ vb_attr :use_host_clipboard
18
+ vb_attr :emulated_usb
19
+
20
+ vb_method :adopt_saved_state
21
+ vb_method :attach_usb_device
22
+ vb_method :create_shared_folder
23
+ vb_method :delete_snapshot
24
+ vb_method :delete_snapshot_and_all_children
25
+ vb_method :delete_snapshot_range
26
+ vb_method :detach_usb_device
27
+ vb_method :discard_saved_state
28
+ vb_method :find_usb_device_by_address
29
+ vb_method :find_usb_device_by_id
30
+ vb_method :get_device_activity
31
+ vb_method :get_guest_entered_acpi_mode
32
+ vb_method :get_power_button_handled
33
+ vb_method :pause
34
+ vb_method :power_button
35
+ vb_method :power_down
36
+ vb_method :power_up
37
+ vb_method :power_up_paused
38
+ vb_method :remove_shared_folder
39
+ vb_method :reset
40
+ vb_method :restore_snapshot
41
+ vb_method :resume
42
+ vb_method :save_state
43
+ vb_method :sleep_button
44
+ vb_method :take_snapshot
45
+ vb_method :teleport
5
46
 
6
- def machine
7
- machine = VBox::WebService.send_request(:i_console_get_machine, _this)
8
- VBox::Machine.new(machine)
9
- end
10
-
11
- def state
12
- VBox::WebService.send_request(:i_console_get_machine_state, _this)
13
- end
14
-
15
- def guest
16
- guest = VBox::WebService.send_request(:i_console_get_guest, _this)
17
- VBox::Guest.new(guest)
18
- end
19
-
20
- def keyboard
21
- guest = VBox::WebService.send_request(:i_console_get_keyboard, _this)
22
- VBox::Keyboard.new(guest)
23
- end
24
-
25
- def mouse
26
- guest = VBox::WebService.send_request(:i_console_get_mouse, _this)
27
- VBox::Mouse.new(guest)
28
- end
29
-
30
- def remote_usb_devices
31
- remote_usb_devices = VBox::WebService.send_request(:i_console_get_remote_usb_devices, _this)
32
- remote_usb_devices.map do |remote_usb_device|
33
- VBox::HostUSBDevice.new(remote_usb_device)
34
- end
35
- end
36
-
37
- def shared_folders
38
- shared_folders = VBox::WebService.send_request(:i_console_get_shared_folders, _this)
39
- shared_folders.map do |shared_folder|
40
- VBox::SharedFolder.new(shared_folder)
41
- end
42
- end
43
-
44
- def vrde_server_info
45
- vrde_server_info = VBox::WebService.send_request(:i_console_get_vrde_server_info, _this)
46
- VBox::VRDEServerInfo.new(vrde_server_info)
47
- end
48
-
49
- def event_source
50
- event_source = VBox::WebService.send_request(:i_console_get_event_source, _this)
51
- VBox::EventSource.new(event_source)
52
- end
53
-
54
- def attached_pci_devices
55
- VBox::WebService.send_request(:i_console_get_attached_pci_devices, _this)
56
- end
57
-
58
- def use_host_clipboard
59
- VBox::WebService.send_request(:i_console_get_use_host_clipboard, _this)
60
- end
61
-
62
- def use_host_clipboard=(use_host_clipboard)
63
- VBox::WebService.send_request(:i_console_set_use_host_clipboard,
64
- _this.merge(:use_host_clipboard => use_host_clipboard))
65
- end
66
-
67
- # Methods
68
-
69
- def adopt_saved_state(args={})
70
- ensure_hash args
71
- VBox::WebService.send_request(:i_console_adopt_saved_state, _this.merge(args))
72
- end
73
-
74
- def attach_usb_device(args={})
75
- ensure_hash args
76
- VBox::WebService.send_request(:i_console_attach_usb_device, _this.merge(args))
77
- end
78
-
79
- def create_shared_folder(args={})
80
- ensure_hash args
81
- VBox::WebService.send_request(:i_console_create_shared_folder, _this.merge(args))
82
- end
83
-
84
- def delete_snapshot(args={})
85
- ensure_hash args
86
- progress = VBox::WebService.send_request(:i_console_delete_snapshot, _this.merge(args))
87
- VBox::Progress.new(progress)
88
- end
89
-
90
- def delete_snapshot_and_all_children(args={})
91
- ensure_hash args
92
- progress = VBox::WebService.send_request(:i_console_delete_snapshot_and_all_children, _this.merge(args))
93
- VBox::Progress.new(progress)
94
- end
95
-
96
- def delete_snapshot_range(args={})
97
- ensure_hash args
98
- progress = VBox::WebService.send_request(:i_console_delete_snapshot_range, _this.merge(args))
99
- VBox::Progress.new(progress)
100
- end
101
-
102
- def detach_usb_device(args={})
103
- ensure_hash args
104
- usb_device = VBox::WebService.send_request(:i_console_detach_usb_device, _this.merge(args))
105
- VBox::USBDevice.new(usb_device)
106
- end
107
-
108
- def discard_saved_state(args={})
109
- ensure_hash args
110
- VBox::WebService.send_request(:i_console_discard_saved_state, _this.merge(args))
111
- end
112
-
113
- def find_usb_device_by_address(args={})
114
- ensure_hash args
115
- usb_device = VBox::WebService.send_request(:i_console_find_usb_device_by_address, _this.merge(args))
116
- VBox::USBDevice.new(usb_device)
117
- end
118
-
119
- def find_usb_device_by_id(args={})
120
- ensure_hash args
121
- usb_device = VBox::WebService.send_request(:i_console_find_usb_device_by_id, _this.merge(args))
122
- VBox::USBDevice.new(usb_device)
123
- end
124
-
125
- def get_device_activity(args={})
126
- ensure_hash args
127
- VBox::WebService.send_request(:i_console_get_device_activity, _this.merge(args))
128
- end
129
-
130
- def get_guest_entered_acpi_mode
131
- VBox::WebService.send_request(:i_console_get_guest_entered_acpi_mode, _this)
132
- end
133
-
134
- def get_power_button_handled
135
- VBox::WebService.send_request(:i_console_get_power_button_handled, _this)
136
- end
137
-
138
- def pause
139
- VBox::WebService.send_request(:i_console_pause, _this)
140
- end
141
-
142
- def power_button
143
- VBox::WebService.send_request(:i_console_power_button, _this)
144
- end
145
-
146
- def power_down
147
- progress = VBox::WebService.send_request(:i_console_power_down, _this)
148
- VBox::Progress.new(progress)
149
- end
150
-
151
- def power_up
152
- progress = VBox::WebService.send_request(:i_console_power_up, _this)
153
- VBox::Progress.new(progress)
154
- end
155
-
156
- def power_up_paused
157
- progress = VBox::WebService.send_request(:i_console_power_up_paused, _this)
158
- VBox::Progress.new(progress)
159
- end
160
-
161
- def remove_shared_folder(args={})
162
- ensure_hash args
163
- VBox::WebService.send_request(:i_console_remove_shared_folder, _this.merge(args))
164
- end
165
-
166
- def reset
167
- VBox::WebService.send_request(:i_console_reset, _this)
168
- end
169
-
170
- def restore_snapshot(args={})
171
- ensure_hash args
172
- progress = VBox::WebService.send_request(:i_console_restore_snapshot, _this.merge(args))
173
- VBox::Progress.new(progress)
174
- end
175
-
176
- def resume
177
- VBox::WebService.send_request(:i_console_resume, _this)
178
- end
179
-
180
- def save_state
181
- progress = VBox::WebService.send_request(:i_console_save_state, _this)
182
- VBox::Progress.new(progress)
183
- end
184
-
185
- def sleep_button
186
- VBox::WebService.send_request(:i_console_sleep_button, _this)
187
- end
188
-
189
- def take_snapshot
190
- progress = VBox::WebService.send_request(:i_console_take_snapshot, _this)
191
- VBox::Progress.new(progress)
192
- end
193
-
194
- def teleport(args={})
195
- progress = VBox::WebService.send_request(:i_console_teleport, _this.merge(args))
196
- VBox::Progress.new(progress)
197
- end
198
47
  end
199
48
  end
@@ -1,50 +1,24 @@
1
1
  module VBox
2
2
  class DHCPServer < Base
3
3
 
4
- # Attributes
4
+ vb_attr :event_source
5
+ vb_attr :enabled
6
+ vb_attr :ip_address
7
+ vb_attr :network_mask
8
+ vb_attr :network_name
9
+ vb_attr :lower_ip
10
+ vb_attr :upper_ip
11
+ vb_attr :global_options
12
+ vb_attr :vm_configs
13
+
14
+ vb_method :add_global_option
15
+ vb_method :add_vm_slot_option
16
+ vb_method :get_mac_options
17
+ vb_method :get_vm_slot_options
18
+ vb_method :remove_vm_slot_options
19
+ vb_method :set_configuration
20
+ vb_method :start
21
+ vb_method :stop
5
22
 
6
- def enabled
7
- VBox::WebService.send_request(:i_dhcp_server_get_enabled, _this)
8
- end
9
-
10
- def enabled=(enabled)
11
- VBox::WebService.send_request(:i_dhcp_server_set_enabled, _this.merge(:enabled => enabled))
12
- end
13
-
14
- def ip_address
15
- VBox::WebService.send_request(:i_dhcp_server_get_ip_address, _this)
16
- end
17
-
18
- def network_mask
19
- VBox::WebService.send_request(:i_dhcp_server_get_network_mask, _this)
20
- end
21
-
22
- def network_name
23
- VBox::WebService.send_request(:i_dhcp_server_get_network_name, _this)
24
- end
25
-
26
- def lower_ip
27
- VBox::WebService.send_request(:i_dhcp_server_get_lower_ip, _this)
28
- end
29
-
30
- def upper_ip
31
- VBox::WebService.send_request(:i_dhcp_server_get_upper_ip, _this)
32
- end
33
-
34
- # Methods
35
-
36
- def set_configuration(args={})
37
- ensure_hash args
38
- VBox::WebService.send_request(:i_dhcp_server_set_configuration, _this.merge(args))
39
- end
40
-
41
- def start(args={})
42
- ensure_hash args
43
- VBox::WebService.send_request(:i_dhcp_server_start, _this.merge(args))
44
- end
45
-
46
- def stop
47
- VBox::WebService.send_request(:i_dhcp_server_stop, _this)
48
- end
49
23
  end
50
24
  end
@@ -1,25 +1,11 @@
1
1
  module VBox
2
2
  class Directory < Base
3
3
 
4
- # Attributes
4
+ vb_attr :directory_name
5
+ vb_attr :filter
5
6
 
6
- def directory_name
7
- VBox::WebService.send_request(:i_directory_get_directory_name, _this)
8
- end
7
+ vb_method :close
8
+ vb_method :read
9
9
 
10
- def filter
11
- VBox::WebService.send_request(:i_directory_get_filter, _this)
12
- end
13
-
14
- # Methods
15
-
16
- def close
17
- VBox::WebService.send_request(:i_directory_close, _this)
18
- end
19
-
20
- def read
21
- entry = VBox::WebService.send_request(:i_directory_read, _this)
22
- VBox::FsObjInfo.new(entry)
23
- end
24
10
  end
25
11
  end
@@ -1,45 +1,16 @@
1
1
  module VBox
2
2
  class Display < Base
3
3
 
4
- # Methods
4
+ vb_method :get_framebuffer
5
+ vb_method :get_screen_resolution
6
+ vb_method :invalidate_and_update
7
+ vb_method :resize_completed
8
+ vb_method :set_framebuffer
9
+ vb_method :set_seamless_mode
10
+ vb_method :set_video_mode_hint
11
+ vb_method :take_screen_shot_png_to_array
12
+ vb_method :take_screen_shotto_array
13
+ vb_method :viewport_changed
5
14
 
6
- def get_screen_resolution(args={})
7
- ensure_hash args
8
- VBox::WebService.send_request(:i_display_get_screen_resolution, _this.merge(args))
9
- end
10
-
11
- def invalidate_and_update
12
- VBox::WebService.send_request(:i_display_invalidate_and_update, _this)
13
- end
14
-
15
- def resize_completed(args={})
16
- ensure_hash args
17
- VBox::WebService.send_request(:i_display_resize_completed, _this.merge(args))
18
- end
19
-
20
- def set_seamless_mode(args={})
21
- ensure_hash args
22
- VBox::WebService.send_request(:i_display_set_seamless_mode, _this.merge(args))
23
- end
24
-
25
- def set_video_mode_hint(args={})
26
- ensure_hash args
27
- VBox::WebService.send_request(:i_display_set_video_mode_hint, _this.merge(args))
28
- end
29
-
30
- def take_screen_shot_png_to_array(args={})
31
- ensure_hash args
32
- VBox::WebService.send_request(:i_display_take_screen_shot_png_to_array, _this.merge(args))
33
- end
34
-
35
- def take_screen_shot_to_array(args={})
36
- ensure_hash args
37
- VBox::WebService.send_request(:i_display_take_screen_shot_to_array, _this.merge(args))
38
- end
39
-
40
- def viewport_changed(args={})
41
- ensure_hash args
42
- VBox::WebService.send_request(:i_display_viewport_changed, _this.merge(args))
43
- end
44
15
  end
45
16
  end
@@ -0,0 +1,10 @@
1
+ module VBox
2
+ class EmulatedUSB < Base
3
+
4
+ vb_attr :webcams
5
+
6
+ vb_method :webcam_attach
7
+ vb_method :webcam_detach
8
+
9
+ end
10
+ end
@@ -1,30 +1,12 @@
1
1
  module VBox
2
2
  class Event < Base
3
3
 
4
- # Attributes
4
+ vb_attr :type
5
+ vb_attr :source
6
+ vb_attr :writable
5
7
 
6
- def type
7
- VBox::WebService.send_request(:i_event_get_type, _this)
8
- end
8
+ vb_method :set_processed
9
+ vb_method :wait_processed
9
10
 
10
- def source
11
- source = VBox::WebService.send_request(:i_event_get_source, _this)
12
- VBox::EventSource.new(source)
13
- end
14
-
15
- def waitable
16
- VBox::WebService.send_request(:i_event_get_waitable, _this)
17
- end
18
-
19
- # Methods
20
-
21
- def set_processed
22
- VBox::WebService.send_request(:i_event_set_processed, _this)
23
- end
24
-
25
- def wait_processed(args={})
26
- ensure_hash args
27
- VBox::WebService.send_request(:i_event_set_processed, _this.merge(args))
28
- end
29
11
  end
30
12
  end
@@ -1,12 +1,7 @@
1
1
  module VBox
2
2
  class EventListener < Base
3
3
 
4
- # Methods
4
+ vb_method :handle_event
5
5
 
6
- def handle_event(args={})
7
- ensure_hash args
8
- args.referize! :event
9
- VBox::WebService.send_request(:i_event_listener_handle_event, _this.merge(args))
10
- end
11
6
  end
12
7
  end
@@ -1,55 +1,13 @@
1
1
  module VBox
2
2
  class EventSource < Base
3
3
 
4
- # Methods
4
+ vb_method :create_aggregator
5
+ vb_method :create_listener
6
+ vb_method :event_processed
7
+ vb_method :fire_event
8
+ vb_method :get_event
9
+ vb_method :register_listener
10
+ vb_method :unregister_listener
5
11
 
6
- def create_aggregator(args={})
7
- ensure_hash args
8
- args.referize! :subordinates
9
- event_source = VBox::WebService.send_request(:i_event_source_create_aggregator, _this.merge(args))
10
- VBox::EventSource.new(event_source)
11
- end
12
-
13
- def create_listener
14
- event_listener = VBox::WebService.send_request(:i_event_source_create_listener, _this)
15
- VBox::EventListener.new(event_listener)
16
- end
17
-
18
- def event_processed(args={})
19
- ensure_hash args
20
- args.referize! :listener, :event
21
- VBox::WebService.send_request(:i_event_source_event_processed, _this.merge(args))
22
- end
23
-
24
- def fire_event(args={})
25
- ensure_hash args
26
- args.referize! :event
27
- VBox::WebService.send_request(:i_event_source_fire_event, _this.merge(args))
28
- end
29
-
30
- def get_event(args={})
31
- ensure_hash args
32
- args.referize! :listener
33
- event_obj_ref = VBox::WebService.send_request(:i_event_source_get_event, _this.merge(args))
34
- if event_obj_ref.nil?
35
- nil
36
- else
37
- event = VBox::Event.new(event_obj_ref)
38
- event_subclass = event.type.split('On')[1] + 'Event'
39
- VBox.const_get(event_subclass).new(event_obj_ref)
40
- end
41
- end
42
-
43
- def register_listener(args={})
44
- ensure_hash args
45
- args.referize! :listener
46
- VBox::WebService.send_request(:i_event_source_register_listener, _this.merge(args))
47
- end
48
-
49
- def unregister_listener(args={})
50
- ensure_hash args
51
- args.referize! :listener
52
- VBox::WebService.send_request(:i_event_source_unregister_listener, _this.merge(args))
53
- end
54
12
  end
55
13
  end
@@ -1,11 +1,7 @@
1
1
  module VBox
2
2
  class BandwidthGroupChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :bandwidth_group
5
5
 
6
- def bandwidth_group
7
- bandwidth_group = VBox::WebService.send_request(:i_bandwidth_group_changed_event_get_bandwidth_group, _this)
8
- VBox::BandwidthGroup.new(bandwidth_group)
9
- end
10
6
  end
11
7
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class ClipboardModeChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :clipboard_mode
5
5
 
6
- def clipboard_mode
7
- VBox::WebService.send_request(:i_clipboard_mode_changed_event_get_clipboard_mode, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,14 +1,8 @@
1
1
  module VBox
2
2
  class CPUChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :cpu
5
+ vb_attr :add
5
6
 
6
- def cpu
7
- VBox::WebService.send_request(:icpu_changed_event_get_cpu, _this)
8
- end
9
-
10
- def add
11
- VBox::WebService.send_request(:icpu_changed_event_get_add, _this)
12
- end
13
7
  end
14
8
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class CPUExecutionCapChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :execution_cap
5
5
 
6
- def execution_cap
7
- VBox::WebService.send_request(:icpu_execution_cap_changed_event_get_execution_cap, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,10 +1,7 @@
1
1
  module VBox
2
2
  class DragAndDropModeChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :drag_and_drop_mode
5
5
 
6
- def drag_and_drop_mode
7
- VBox::WebService.send_request(:i_drag_and_drop_mode_changed_event_get_drag_and_drop_mode, _this)
8
- end
9
6
  end
10
7
  end
@@ -1,15 +1,8 @@
1
1
  module VBox
2
2
  class EventSourceChangedEvent < Event
3
3
 
4
- # Attributes
4
+ vb_attr :listener
5
+ vb_attr :add
5
6
 
6
- def listener
7
- event_listener = VBox::WebService.send_request(:i_event_source_changed_event_get_listener, _this)
8
- VBox::EventListener.new(event_listener)
9
- end
10
-
11
- def add
12
- VBox::WebService.send_request(:i_event_source_changed_event_get_add, _this)
13
- end
14
7
  end
15
8
  end
@@ -1,18 +1,9 @@
1
1
  module VBox
2
2
  class ExtraDataCanChangeEvent < VetoEvent
3
3
 
4
- # Attributes
4
+ vb_attr :machine_id
5
+ vb_attr :key
6
+ vb_attr :value
5
7
 
6
- def machine_id
7
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_machine_id, _this)
8
- end
9
-
10
- def key
11
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_key, _this)
12
- end
13
-
14
- def value
15
- VBox::WebService.send_request(:i_extra_data_can_change_event_get_value, _this)
16
- end
17
8
  end
18
9
  end
@@ -1,18 +1,9 @@
1
1
  module VBox
2
2
  class ExtraDataChangedEvent < VetoEvent
3
3
 
4
- # Attributes
4
+ vb_attr :machine_id
5
+ vb_attr :key
6
+ vb_attr :value
5
7
 
6
- def machine_id
7
- VBox::WebService.send_request(:i_extra_data_changed_event_get_machine_id, _this)
8
- end
9
-
10
- def key
11
- VBox::WebService.send_request(:i_extra_data_changed_event_get_key, _this)
12
- end
13
-
14
- def value
15
- VBox::WebService.send_request(:i_extra_data_changed_event_get_value, _this)
16
- end
17
8
  end
18
9
  end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFileEvent < GuestSessionEvent
3
+
4
+ vb_attr :file
5
+
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module VBox
2
+ class GuestFileIOEvent < GuestFileEvent
3
+
4
+ vb_attr :offset
5
+ vb_attr :processed
6
+
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+ module VBox
2
+ class GuestFileOffsetChangedEvent < GuestFileIOEvent
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module VBox
2
+ class GuestFileReadEvent < GuestFileIOEvent
3
+
4
+ vb_attr :data, :force_array => true
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module VBox
2
+ class GuestFileRegisteredEvent < GuestFileEvent
3
+
4
+ vb_attr :registered
5
+
6
+ end
7
+ end